Ver Fonte

飞书推送调整

zhaotx há 1 ano atrás
pai
commit
a3d2fd2e4c

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

@@ -6,6 +6,7 @@
         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,
         round(ifnull(sum(pay_amount), 0), 2) AS pay_amount,
+        ifnull(sum(share_iaa_amount), 0) as share_iaa_amount,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) - ifnull(round(sum(real_cost_amount), 2), 0) AS real_profit,
         ifnull(sum(iaa_amount), 0) + ifnull(sum(pay_amount), 0) - ifnull(sum(cost_amount), 0) AS water_profit,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as end_amount,
@@ -26,6 +27,7 @@
         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,
         round(ifnull(sum(pay_amount), 0), 2) AS pay_amount,
+        ifnull(sum(share_iaa_amount), 0) as share_iaa_amount,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) - ifnull(round(sum(real_cost_amount), 2), 0) AS real_profit,
         ifnull(sum(iaa_amount), 0) + ifnull(sum(pay_amount), 0) - ifnull(sum(cost_amount), 0) AS water_profit,
         ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as end_amount
@@ -41,34 +43,32 @@
         ) tb2
     </select>
     <select id="tmpTopMovie" resultType="java.util.Map">
-        select case ot1.movie_source when 2 then movie_name else concat('欢瑞自制-', movie_name) end as movie_name,
-        ot1.rk, ot1.share_end_amount, ot1.end_amount,  ot2.cost_amount, ot2.real_cost_amount,
-        concat(round(if(ifnull(cost_amount,0)=0, 0, end_amount/cost_amount*100), 2), '%') AS water_roi,
-        concat(round(if(ifnull(real_cost_amount,0)=0, 0, share_end_amount/real_cost_amount*100), 2), '%') AS real_roi
-        FROM
-        (select ifnull(tb2.movie_name, tb1.movie_id) as movie_name, movie_source,
-        rank() over (order by sum(end_amount) desc) as rk, sum(end_amount) as end_amount, sum(share_end_amount) as share_end_amount
+        select tb4.standard_movie_id, tb4.standard_movie_name as movie_name, group_concat(distinct case tb4.movie_source when 2 then 2 else 1 end) as movie_source,
+        rank() over (order by sum(end_amount) desc) as rk,
+        sum(share_end_amount) as share_end_amount, sum(end_amount) as end_amount,  sum(cost_amount) as cost_amount, sum(real_cost_amount) as real_cost_amount,
+        concat(round(if(ifnull(sum(cost_amount),0)=0, 0, sum(end_amount)/sum(cost_amount)*100), 2), '%') AS water_roi,
+        concat(round(if(ifnull(sum(real_cost_amount),0)=0, 0, sum(share_end_amount)/sum(real_cost_amount)*100), 2), '%') AS real_roi
         from
-        (select
-        ifnull(sum(iaa_amount), 0) + ifnull(sum(pay_amount), 0) as end_amount,
-        ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as share_end_amount,
-        movie_id
-        from
-        application.user_data_report_daily udrd
-        where stat_date = ${date} and movie_id != '-9999'
-        group by movie_id
-        having ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0)>0
-        order by end_amount desc
-        ) tb1
+        (select product_id from application.media_product_report_daily where stat_date=${date}
+        union select movie_id from application.user_data_report_daily where stat_date=${date}) tb1
         left join
-        (select distinct moive_id, REGEXP_REPLACE(movie_name, '[^a-zA-Z一-龥]', '') as movie_name, movie_source from deepthink.all_moive) tb2 on tb1.movie_id=tb2.moive_id
-        group by movie_name order by rk limit 10) ot1
+        (select product_id, round(ifnull(sum(cost_amount),0),2) as cost_amount, sum(real_cost_amount) as real_cost_amount
+        from application.media_product_report_daily where stat_date=${date}
+        group by product_id
+        ) tb2 on tb1.product_id=tb2.product_id
         left join
-        (select REGEXP_REPLACE(product_name, '[^a-zA-Z一-龥]', '') as product_name, round(ifnull(sum(cost_amount),0),2) as cost_amount, sum(real_cost_amount) as real_cost_amount
-        from application.media_product_report_daily where stat_date=${date} group by REGEXP_REPLACE(product_name, '[^a-zA-Z一-龥]', '')
-        ) ot2 on ot1.movie_name=ot2.product_name
-        group by case ot1.movie_source when 2 then movie_name else concat('欢瑞自制-', movie_name) end
-        order by rk
+        (select movie_id, ifnull(sum(iaa_amount), 0) + ifnull(sum(pay_amount), 0) as end_amount,
+        ifnull(sum(share_iaa_amount), 0) + ifnull(sum(share_pay_amount), 0) as share_end_amount
+        from application.user_data_report_daily where stat_date=${date}
+        group by movie_id
+        ) tb3 on tb1.product_id=tb3.movie_id
+        left join
+        (select moive_id, standard_movie_id, standard_movie_name, movie_source from deepthink.all_moive
+        ) tb4 on tb1.product_id=tb4.moive_id
+        where 1=1 and tb1.product_id!='-9999'
+        group by tb4.standard_movie_name
+        order by sum(end_amount) desc
+        limit 10
     </select>
 
 

+ 2 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IReportsAdPushService.java

@@ -3,4 +3,6 @@ package cn.com.ctop.job.bytedance.data.service;
 public interface IReportsAdPushService {
 
     void send();
+
+    void preSend();
 }

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

@@ -74,7 +74,7 @@ public class DateReportsPushServiceImpl implements IDateReportsPushService {
         List<String> chatid = Arrays.asList(
                 "oc_275f17aa4bf8fae649ef281a2b9250f6"
         );
-        sendParam("注:当天ROI数据有微小1%-2%差异,以次日10点推送为准,番茄ROI数据需要次日9点左右获取", userIds, chatid);
+        sendParam("注:当天ROI数据有微小1%-2%差异,以次日10点推送为准,番茄ROI数据需要次日9点左右获取;暂不包含广点通数据", userIds, chatid);
     }
 
     /**
@@ -91,7 +91,7 @@ public class DateReportsPushServiceImpl implements IDateReportsPushService {
         );
         List<String> chatid = Arrays.asList(
         );
-        sendParam("", userIds, chatid);
+        sendParam("暂不包含广点通数据", userIds, chatid);
     }
 
 
@@ -117,9 +117,10 @@ public class DateReportsPushServiceImpl implements IDateReportsPushService {
                 new Pair<>("cost_amount", "消耗金额"),
                 new Pair<>("end_amount", "结算金额"),
                 new Pair<>("pay_amount", "充值金额"),
-                new Pair<>("water_roi", "流水ROI"),
+                new Pair<>("share_iaa_amount", "广告预估收入"),
+//                new Pair<>("water_roi", "流水ROI"),
                 new Pair<>("real_roi", "真实ROI"),
-                new Pair<>("water_profit", "流水利润"),
+//                new Pair<>("water_profit", "流水利润"),
                 new Pair<>("real_profit", "真实利润")
         );
         JSONArray dateIndicatorTable = new JSONArray();
@@ -164,8 +165,13 @@ public class DateReportsPushServiceImpl implements IDateReportsPushService {
         JSONArray movieRankTable = new JSONArray();
         for (Map<String, String> movie : movieData){
             JSONObject obj = new JSONObject();
+            String movieSource = String.valueOf(movie.get("movie_source"));
+            String movieName = String.valueOf(movie.get("movie_name"));
+            if (!Check.isNull(movieSource) && movieSource.contains("1")){
+                movieName = "欢瑞自制-"+movieName;
+            }
             obj.put("rank", String.valueOf(movie.get("rk")));
-            obj.put("movieName", String.valueOf(movie.get("movie_name")));
+            obj.put("movieName", movieName);
             obj.put("endAmount", String.valueOf(movie.get("share_end_amount")));
             obj.put("realROI", String.valueOf(movie.get("real_roi")));
             movieRankTable.add(obj);

Diff do ficheiro suprimidas por serem muito extensas
+ 38 - 19
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ReportsAdPushServiceImpl.java