Selaa lähdekoodia

飞书推送调整-部门

zhaotx 1 vuosi sitten
vanhempi
commit
2ae7ffc9fb

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

@@ -215,7 +215,7 @@
 
 
     <select id="optimizerCostRank" resultType="java.util.Map">
-        select tb1.user_id, tb4.phonenumber, tb4.nick_name, tb4.dept_id, tb5.dept_name,
+        select tb1.user_id, tb4.phonenumber, tb4.nick_name, tb5.dept_id, tb5.dept_name,
         rank() over (order by sum(cost_amount) desc) as rk,
         <include refid="costAmount"/>,
         <include refid="iaaRoi"/>,
@@ -247,14 +247,20 @@
         on tb1.advertiser_id = tb3.advertiser_id
         left join (select user_id, nick_name, phonenumber, dept_id from tidb.deepthink.sys_user) tb4
         on tb1.user_id=tb4.user_id
-        left join (select dept_id, dept_name from tidb.deepthink.sys_dept) tb5
-        on tb4.dept_id = tb5.dept_id
-        group by tb1.user_id, tb4.phonenumber, tb4.nick_name, tb4.dept_id, tb5.dept_name
+        left join (
+            select dp.dept_id, dp.dept_name, ifnull(subdp.dept_id, dp.dept_id) as sub_dept_id, ifnull(subdp.dept_name, dp.dept_name) as sub_dept_name from (select * from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)) dp
+            right join tidb.deepthink.sys_dept subdp on dp.dept_id=subdp.parent_id
+            where dp.dept_id is not null
+            union all
+            select dept_id, dept_name, dept_id as sub_dept_id, dept_name as sub_dept_name from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)
+        ) tb5
+        on tb4.dept_id = tb5.sub_dept_id
+        group by tb1.user_id, tb4.phonenumber, tb4.nick_name, tb5.dept_id, tb5.dept_name
         having sum(cost_amount)>1
         order by rk asc
     </select>
     <select id="optimizerDateData" resultType="java.util.Map">
-        select tb1.user_id,tb4.phonenumber,tb4.nick_name, tb4.dept_id,
+        select tb1.user_id,tb4.phonenumber,tb4.nick_name, tb5.dept_id,
         <include refid="costAmount"/>,
         <include refid="iaaAmount"/>,
         <include refid="payAmount"/>,
@@ -275,7 +281,15 @@
         group by advertiser_id) tb3 on tb1.advertiser_id = tb3.advertiser_id
         left join (select user_id, nick_name, phonenumber, dept_id from tidb.deepthink.sys_user) tb4
         on tb1.user_id=tb4.user_id
-        group by tb1.user_id, tb4.phonenumber, tb4.nick_name, tb4.dept_id
+        left join (
+        select dp.dept_id, dp.dept_name, ifnull(subdp.dept_id, dp.dept_id) as sub_dept_id, ifnull(subdp.dept_name, dp.dept_name) as sub_dept_name from (select * from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)) dp
+        right join tidb.deepthink.sys_dept subdp on dp.dept_id=subdp.parent_id
+        where dp.dept_id is not null
+        union all
+        select dept_id, dept_name, dept_id as sub_dept_id, dept_name as sub_dept_name from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)
+        ) tb5
+        on tb4.dept_id = tb5.sub_dept_id
+        group by tb1.user_id, tb4.phonenumber, tb4.nick_name, tb5.dept_id
         having sum(cost_amount)>0
     </select>
     <select id="optimizerHourData" resultType="java.util.Map">
@@ -305,7 +319,7 @@
 
 
     <select id="deptCostRank" resultType="java.util.Map">
-        select tb4.dept_id, tb5.dept_name,
+        select tb5.dept_id, tb5.dept_name,
         rank() over (order by sum(cost_amount) desc) as rk,
         <include refid="costAmount"/>,
         ifnull(sum(cost_amount_hour), 0) as cost_amount_hour
@@ -321,9 +335,15 @@
         on tb1.advertiser_id = tb3.advertiser_id
         left join (select user_id, nick_name, phonenumber, dept_id from tidb.deepthink.sys_user) tb4
         on tb1.user_id=tb4.user_id
-        left join (select dept_id, dept_name from tidb.deepthink.sys_dept) tb5
-        on tb4.dept_id = tb5.dept_id
-        group by tb4.dept_id, tb5.dept_name
+        left join (
+        select dp.dept_id, dp.dept_name, ifnull(subdp.dept_id, dp.dept_id) as sub_dept_id, ifnull(subdp.dept_name, dp.dept_name) as sub_dept_name from (select * from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)) dp
+        right join tidb.deepthink.sys_dept subdp on dp.dept_id=subdp.parent_id
+        where dp.dept_id is not null
+        union all
+        select dept_id, dept_name, dept_id as sub_dept_id, dept_name as sub_dept_name from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)
+        ) tb5
+        on tb4.dept_id = tb5.sub_dept_id
+        group by tb5.dept_id, tb5.dept_name
         having sum(cost_amount)>1
         order by rk asc
         limit 10
@@ -393,7 +413,7 @@
         order by tb2.user_id
     </select>
     <select id="deptRank2" resultType="java.util.Map">
-        select tb4.dept_id, tb5.dept_name,
+        select tb5.dept_id, tb5.dept_name,
         rank() over (order by sum(cost_amount) desc) as rk,
         <include refid="costAmount"/>,
         <include refid="iaaRoi"/>,
@@ -425,9 +445,15 @@
         on tb1.advertiser_id = tb3.advertiser_id
         left join (select user_id, nick_name, phonenumber, dept_id from tidb.deepthink.sys_user) tb4
         on tb1.user_id=tb4.user_id
-        left join (select dept_id, dept_name from tidb.deepthink.sys_dept) tb5
-        on tb4.dept_id = tb5.dept_id
-        group by tb4.dept_id, tb5.dept_name
+        left join (
+            select dp.dept_id, dp.dept_name, ifnull(subdp.dept_id, dp.dept_id) as sub_dept_id, ifnull(subdp.dept_name, dp.dept_name) as sub_dept_name from (select * from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)) dp
+            right join tidb.deepthink.sys_dept subdp on dp.dept_id=subdp.parent_id
+            where dp.dept_id is not null
+            union all
+            select dept_id, dept_name, dept_id as sub_dept_id, dept_name as sub_dept_name from tidb.deepthink.sys_dept where parent_id in (select dept_id from tidb.deepthink.sys_dept where parent_id=300)
+        ) tb5
+        on tb4.dept_id = tb5.sub_dept_id
+        group by tb5.dept_id, tb5.dept_name
         having sum(cost_amount)>1
         order by rk
     </select>

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

@@ -125,8 +125,8 @@ public class OptimizerRankPushServiceImpl implements IOptimizerRankPushService {
             }
             template_variable.put("object_list_5", object_list_5);
             System.out.println("发送目标: nickName: "+nickName+", userId: "+ userId + ", feishuUserId: "+mobileMap.get(phoneNumber)+", rank: "+rank+", costAmount: "+costAmount);
-            sendToFeishu(token, template_variable, mobileMap.get(phoneNumber));
-//            sendToFeishu(token, template_variable, "44fbaed6");
+//            sendToFeishu(token, template_variable, mobileMap.get(phoneNumber));
+            sendToFeishu(token, template_variable, "44fbaed6");
             //clear
         }
     }