Переглянути джерело

用户列表增加查看ecpm接口 查询用户的广告播放记录和广告ecpm价值

marxjaw 4 місяців тому
батько
коміт
249195d643

+ 0 - 1
yt-advertise/advertise-service/src/main/java/com/ytpm/service/impl/TakuApiServiceImpl.java

@@ -250,7 +250,6 @@ public class TakuApiServiceImpl implements TakuApiService {
      */
     @Override
     public List<ComprehensiveAppReport> getAppReport(ComprehensiveReportParam param) {
-        param.setGroup_by(Collections.singletonList("app"));
         String result = TakuRequestUtil.doRequest(HttpPost.METHOD_NAME, "/v2/fullreport", JSON.toJSONString(param));
         JSONObject object = JSONObject.parseObject(result);
         String records = object.getString("records");

+ 1 - 0
yt-agent/agent-service/src/main/java/com/ytpm/service/impl/AgentAppServiceImpl.java

@@ -72,6 +72,7 @@ public class AgentAppServiceImpl implements AgentAppService {
         }
         List<String> appIds = views.stream().map(AgentAppView::getAppId).collect(Collectors.toList());
         ComprehensiveReportParam param = new ComprehensiveReportParam();
+        param.setGroup_by(Collections.singletonList("app"));
         param.setStartdate(DateUtil.getDateNum(LocalDate.now().minusDays(7)));
         param.setEnddate(DateUtil.getDateNum(LocalDate.now()));
         param.setTime_zone("UTC-8");

+ 8 - 10
yt-agent/agent-service/src/main/java/com/ytpm/service/impl/YtAppUserServiceImpl.java

@@ -138,26 +138,25 @@ public class YtAppUserServiceImpl implements YtAppUserService {
     public ResultTable<YtUserEcpmListView> ecpmList(String userId) {
         ResultTable<YtDyzAdRecord> table = appFeign.adRecords(userId);
         List<YtDyzAdRecord> data = table.getData();
-        if(CollUtil.isNotEmpty(data)){
+        if(CollUtil.isEmpty(data)){
             return ResultTable.resultTableOk(new PageInfo<>(data));
         }
         //远程调用获取广告报告
-        ComprehensiveReportView<ComprehensiveAdSourceReport> resultData =  getComprehensiveReport(data);
-        List<ComprehensiveAdSourceReport> records = resultData.getRecords();
+        List<ComprehensiveAppReport> resultData =  getComprehensiveReport(data);
         //组装数据返回前端
-        combineEcpmData(records,data);
+        combineEcpmData(resultData,data);
         return ResultTable.resultTableOk(new PageInfo<>(data));
     }
 
     /**
      * 组装ECPM数据返回
      */
-    private void combineEcpmData(List<ComprehensiveAdSourceReport> records, List<YtDyzAdRecord> data) {
-        Map<Integer,ComprehensiveAdSourceReport> adSourceReportMap = records.stream().collect(
+    private void combineEcpmData(List<ComprehensiveAppReport> records, List<YtDyzAdRecord> data) {
+        Map<Integer,ComprehensiveAppReport> adSourceReportMap = records.stream().collect(
                 Collectors.toMap(s->s.getAdSource().getAdsource_id(), O->O));
         for (YtDyzAdRecord datum : data) {
             if(!adSourceReportMap.containsKey(datum.getAdSourceId()))continue;
-            ComprehensiveAdSourceReport report = adSourceReportMap.get(datum.getAdSourceId());
+            ComprehensiveAppReport report = adSourceReportMap.get(datum.getAdSourceId());
             datum.setRequest(report.getRequest());
             datum.setFillrate(report.getFillrate());
             datum.setImpression(report.getImpression());
@@ -173,7 +172,7 @@ public class YtAppUserServiceImpl implements YtAppUserService {
     /**
      * 远程调用广告API获取报告
      */
-    private ComprehensiveReportView<ComprehensiveAdSourceReport> getComprehensiveReport(List<YtDyzAdRecord> data) {
+    private List<ComprehensiveAppReport> getComprehensiveReport(List<YtDyzAdRecord> data) {
         List<Integer> collect = data.stream().map(YtDyzAdRecord::getAdSourceId).collect(Collectors.toList());
         ComprehensiveReportParam param = new ComprehensiveReportParam();
         param.setStartdate(DateUtil.getDateNum(LocalDate.now().minusDays(7)));
@@ -181,8 +180,7 @@ public class YtAppUserServiceImpl implements YtAppUserService {
         param.setTime_zone("UTC-8");
         param.setAdsource_id_list(collect);
         param.setGroup_by(Collections.singletonList("adsource"));
-        Result<ComprehensiveReportView> result = advertiseFeign.comprehensive(param);
-        return result.getData();
+        return advertiseFeign.getAppReport(param);
     }
 
     /**

+ 14 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ComprehensiveAdSourceReport.java

@@ -15,4 +15,18 @@ import lombok.NoArgsConstructor;
 public class ComprehensiveAdSourceReport extends ComprehensiveCommonView{
     /** 广告源信息,group_by有选adsource维度时才返回 */
     ReportAdSourceView adSource;
+
+
+    public ComprehensiveAdSourceReport(ReportAdSourceView adSource, ComprehensiveAdSourceReport report) {
+        this.adSource = adSource;
+        this.setRequest(report.getRequest());
+        this.setFillrate(report.getFillrate());
+        this.setImpression(report.getImpression());
+        this.setClick(report.getClick());
+        this.setEcpm(report.getEcpm());
+        this.setRevenue(report.getRevenue());
+        this.setImpression_api(report.getImpression_api());
+        this.setClick_api(report.getClick_api());
+        this.setEcpm_api(report.getEcpm_api());
+    }
 }

+ 1 - 0
yt-common/src/main/java/com/ytpm/advertise/view/ComprehensiveAppReport.java

@@ -15,4 +15,5 @@ import lombok.NoArgsConstructor;
 public class ComprehensiveAppReport extends ComprehensiveCommonView{
     /** 应用信息 */
     private ReportAppView app;
+    private ReportAdSourceView adSource;
 }