Jelajahi Sumber

优化师个人播报-更新

zhaotx 1 tahun lalu
induk
melakukan
5aa00ccce8

+ 24 - 6
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ReportsAdPushMapper.xml

@@ -180,15 +180,31 @@
         select tb1.user_id, tb4.phonenumber, tb4.nick_name, tb4.dept_id, tb5.dept_name,
         rank() over (order by sum(cost_amount) desc) as rk,
         sum(cost_amount) as cost_amount,
-        concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, (ifnull(sum(share_iaa_amount),0)+ifnull(sum(share_pay_amount),0))/sum(real_cost_amount)*100), 2), '%') AS real_roi
+        concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, (ifnull(sum(share_iaa_amount),0)+ifnull(sum(share_pay_amount),0))/sum(real_cost_amount)*100), 2), '%') AS real_roi,
+        concat(round(if(ifnull(sum(iaa_real_cost_amount),0)=0, 0, sum(share_iaa_amount)/sum(iaa_real_cost_amount)*100), 2), '%') AS iaa_roi,
+        concat(round(if(ifnull(sum(iap_real_cost_amount),0)=0, 0, sum(share_pay_amount)/sum(iap_real_cost_amount)*100), 2), '%') AS iap_roi
         from
         (select cast(advertiser_id as char) advertiser_id, user_id from deepthink.advertiser_bind_info) tb1
-        left join (select advertiser_id, sum(cost_amount) as cost_amount, sum(real_cost_amount) as real_cost_amount
-        from application.media_ad_report_daily where stat_date=#{date}  and ma_appid in (select app_id from deepthink.mini_app_info where business_type in (1,3,8))
-        group by advertiser_id) tb2
+        left join
+        (select advertiser_id, sum(iaa_cost_amount) as iaa_cost_amount, sum(iaa_real_cost_amount) as iaa_real_cost_amount,
+        sum(iap_cost_amount) as iap_cost_amount, sum(iap_real_cost_amount) as iap_real_cost_amount,
+        sum(iaa_cost_amount)+sum(iap_cost_amount) as cost_amount,
+        sum(iaa_real_cost_amount)+sum(iap_real_cost_amount) as real_cost_amount
+        FROM
+        (select advertiser_id, round(ifnull(sum(cost_amount),0),2) as iaa_cost_amount, sum(real_cost_amount) as iaa_real_cost_amount, 0 as iap_cost_amount, 0 as iap_real_cost_amount
+        from application.media_ad_report_daily where stat_date=${date} and ma_appid in (select app_id from deepthink.mini_app_info where business_type in (1,3,8) and business_method='IAA')
+        group by advertiser_id
+        UNION ALL
+        select advertiser_id, 0 as iaa_cost_amount, 0 as iaa_real_cost_amount,round(ifnull(sum(cost_amount),0),2) as iap_cost_amount, sum(real_cost_amount) as iap_real_cost_amount
+        from application.media_ad_report_daily where stat_date=${date} and ma_appid in (select app_id from deepthink.mini_app_info where business_type in (1,3,8) and business_method='IAP')
+        group by advertiser_id)subtb2
+        group by advertiser_id
+        ) tb2
         on tb1.advertiser_id = tb2.advertiser_id
-        left join (select advertiser_id, sum(share_iaa_amount) as share_iaa_amount, sum(share_pay_amount) as share_pay_amount
-        from application.user_data_report_daily where stat_date=#{date}  and ma_appid in (select app_id from deepthink.mini_app_info where business_type in (1,3,8))
+        left join (select advertiser_id,
+        ifnull(sum(if(share_iaa_amount_3>0,share_iaa_amount_3,share_iaa_amount)), 0) as share_iaa_amount,
+        sum(share_pay_amount) as share_pay_amount
+        from application.user_data_report_daily where stat_date=${date}  and ma_appid in (select app_id from deepthink.mini_app_info where business_type in (1,3,8))
         group by advertiser_id) tb3
         on tb1.advertiser_id = tb3.advertiser_id
         left join (select user_id, nick_name, phonenumber, dept_id from deepthink.sys_user) tb4
@@ -204,6 +220,7 @@
         concat(round(if(ifnull(sum(cost_amount),0)=0, 0, (ifnull(sum(iaa_amount),0)+ifnull(sum(pay_amount), 0))/sum(cost_amount)*100 ), 2), '%') AS water_roi,
         concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, (ifnull(sum(share_iaa_amount),0)+ifnull(sum(share_pay_amount),0))/sum(real_cost_amount)*100), 2), '%') AS real_roi,
         ifnull(sum(cost_amount),0) AS cost_amount,
+        ifnull(sum(iaa_amount), 0) as iaa_amount,
         round(ifnull(sum(pay_amount), 0), 2) AS pay_amount,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as end_amount,
         rank() over (order by sum(cost_amount) desc) as rk
@@ -230,6 +247,7 @@
         concat(round(if(ifnull(sum(cost_amount),0)=0, 0, (ifnull(sum(iaa_amount),0)+ifnull(sum(pay_amount), 0))/sum(cost_amount)*100 ), 2), '%') AS water_roi,
         concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, (ifnull(sum(share_iaa_amount),0)+ifnull(sum(share_pay_amount),0))/sum(real_cost_amount)*100), 2), '%') AS real_roi,
         ifnull(sum(cost_amount),0) AS cost_amount,
+        ifnull(sum(iaa_amount), 0) as iaa_amount,
         round(ifnull(sum(pay_amount), 0), 2) AS pay_amount,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as end_amount
         from

+ 7 - 5
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/OptimizerRankPushServiceImpl.java

@@ -32,7 +32,7 @@ public class OptimizerRankPushServiceImpl implements IOptimizerRankPushService {
     @Autowired
     ReportsAdPushMapper reportsPushMapper;
 
-    private static final String TEMPLATE_VERSION = "1.0.7";
+    private static final String TEMPLATE_VERSION = "1.0.8";
     private static final String TEMPLATE_ID = "AAqRUxrkkWuZf";
 
     public void send() {
@@ -67,10 +67,10 @@ public class OptimizerRankPushServiceImpl implements IOptimizerRankPushService {
         Map<String, Map<String, String>> lastHourDataMap = lastHourData.stream().collect(Collectors.toMap(m -> String.valueOf(m.get("user_id")), m -> m));
         List<Pair<String, String>> columns = Arrays.asList(
                 new Pair<>("cost_amount", "消耗金额"),
-                new Pair<>("end_amount", "结算金额"),
-                new Pair<>("pay_amount", "充值金额"),
-                new Pair<>("water_roi", "流水ROI"),
-                new Pair<>("real_roi", "真实ROI")
+                new Pair<>("iaa_amount", "广告预估收入"),
+                new Pair<>("pay_amount", "充值金额")
+//                new Pair<>("water_roi", "流水ROI"),
+//                new Pair<>("real_roi", "真实ROI")
         );
 
 
@@ -94,6 +94,8 @@ public class OptimizerRankPushServiceImpl implements IOptimizerRankPushService {
                     object.put("rankTodayData", deptUser.get("cost_amount"));
                     object.put("rankRank", deptUser.get("rk"));
                     object.put("rankRealROI", deptUser.get("real_roi"));
+                    object.put("iaaRoi", deptUser.get("iaa_roi"));
+                    object.put("iapRoi", deptUser.get("iap_roi"));
                     object.put("userId", Arrays.asList(mobileMap.get(String.valueOf(deptUser.get("phonenumber")))));
                     object_list_4.add(object);
                 }