renyupeng 6 달 전
부모
커밋
77b11bfa28
3개의 변경된 파일45개의 추가작업 그리고 13개의 파일을 삭제
  1. 12 2
      Email/AttractInvestmentEmail.py
  2. 18 6
      Email/CanalEmail.py
  3. 15 5
      Email/IncentiveSettlementEmail.py

+ 12 - 2
Email/AttractInvestmentEmail.py

@@ -31,7 +31,9 @@ class AttractInvestmentEmail:
 
         sql = """
 select *
-from (select t1.user_id                                                                             as 'userId',
+from (select 
+            t5.reg_name as '团名称',
+            t1.user_id                                                                             as 'userId',
              t1.user_name                                                                           as '名称',
              ifnull(count(distinct t2.item_id),'-')                                                             as '商品量',
              ifnull(count(t2.oid) ,'-')                                                                         as '订单数',
@@ -61,6 +63,14 @@ from (select t1.user_id
       from {database}.kuaishou_item_bind_user t1
                left join {database}.kuaishou_supply_chain t2
                          on t1.item_id = t2.item_id
+               left join (select id,reg_name from {database}.kuaishou_supply_chain_cookie union all
+            select id,reg_name from miaogousi.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from yufu.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from rocket.kuaishou_supply_chain_cookie union all
+                 select id,reg_name from zhishui.kuaishou_supply_chain_cookie union all
+                         select id,reg_name from yuxiu.kuaishou_supply_chain_cookie
+                                            group by id, reg_name)t5
+on t2.regimental_id=t5.id
       where 1 = 1
 
         and t2.stat_date >= DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%%Y%%m01')
@@ -113,6 +123,6 @@ order by t.订单数 desc
 
 
 if __name__ == '__main__':
-    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀'}
+    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀','zhishui':'止水'}
     for key, value in database_mapping.items():
         AttractInvestmentEmail().handler(key, value)

+ 18 - 6
Email/CanalEmail.py

@@ -36,17 +36,29 @@ select t.*,
        ifnull(tttt.sendTotalCount,'-') as '发样数',
        ifnull(tttt.sendPromoterCount,'-') as '发样商品数',
        ifnull(tttt.sendItemCount,'-') as '发样商品数'
-from (select t1.user_id                                                               as 'collectSampleId',
+from (select
+           t5.reg_name as `团名称`,
+           t1.user_id                                                               as 'collectSampleId',
              t1.user_name                                                             as '绑定人名称',
-             ifnull(sum(t2.order_num),'-')                                                        as '订单数',
-             ifnull(sum(t2.valid_order_num),'-')                                                  as '有效订单数',
-             ifnull(concat(round(sum(t2.valid_order_num) / sum(t2.order_num) * 100, 2), '%%'),'-') as '有效率',
+             ifnull(count(t2.oid),'-')                                                        as '订单数',
+             sum(case when order_status != 80 then 1 else 0 end)                                              as '有效出单数',
+             round(sum(case when order_status != 80 then 1 else 0 end) / count(oid) * 100,
+                   2)                                                                                         as '有效率',
+             round(sum(case when order_status != 80 then pay_amount else 0 end) / 100, 2)                     as 'Gvm',
              ifnull(round(sum(t2.order_amount) / 100, 2),'-')                                     as '金额',
              ifnull(round(sum(t2.regimental_promotion_amount) / 100, 2) ,'-')                     as '预估服务费收入',
              ifnull( round(sum(t2.total_regimental_settle_amount) / 100, 2) ,'-')                  as '结算服务费收入'
       from {database}.promoter_bind_channel_date t1
-               left join {database}.promoter_item_order_count t2
+               left join {database}.kuaishou_supply_chain t2
                          on t1.promoter_id = t2.promoter_id and t1.stat_date = t2.stat_date
+      left join  (select id,reg_name from {database}.kuaishou_supply_chain_cookie union all
+            select id,reg_name from miaogousi.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from yufu.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from rocket.kuaishou_supply_chain_cookie union all
+                 select id,reg_name from zhishui.kuaishou_supply_chain_cookie union all
+                         select id,reg_name from yuxiu.kuaishou_supply_chain_cookie
+                                            group by id, reg_name)t5
+      on t2.regimental_id=t5.id
       where 1 = 1
         and t1.media_id = 2
         and t1.stat_date >= DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%%Y%%m01')
@@ -115,6 +127,6 @@ order by t.订单数 desc
 
 
 if __name__ == '__main__':
-    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀'}
+    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀','zhishui':'止水'}
     for key, value in database_mapping.items():
         CanalEmail().handler(key, value)

+ 15 - 5
Email/IncentiveSettlementEmail.py

@@ -30,7 +30,9 @@ class CanalEmail:
     def handler(self, keys, values):
 
         sql = """
-select concat(t1.item_id, '-')     as '商品id',
+select 
+    t5.reg_name as `团名称`, 
+    concat(t1.item_id, '-')     as '商品id',
        ifnull(t2.user_name, '-')   as '招商',
        ifnull(t2.create_time, '-') as '商品绑定时间',
        ifnull(t2.item_title, '-')  as '商品名称',
@@ -49,7 +51,9 @@ select concat(t1.item_id, '-')     as '商品id',
            end
            )                       as '商品状态',
        t1.*
-from (select item_id,
+from (select
+          regimental_id,
+          item_id,
              ifnull(count(oid), 0)                                                                   as '出单数',
 
              ifnull(sum(case when order_status != 80 then 1 else 0 end), 0)                          as '有效出单数',
@@ -72,8 +76,14 @@ from (select item_id,
       group by item_id) t1
          left join {database}.kuaishou_item_list t2
                    on t1.item_id = t2.item_id
-
-
+left join (select id,reg_name from {database}.kuaishou_supply_chain_cookie union all
+            select id,reg_name from miaogousi.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from yufu.kuaishou_supply_chain_cookie union all
+                     select id,reg_name from rocket.kuaishou_supply_chain_cookie union all
+                 select id,reg_name from zhishui.kuaishou_supply_chain_cookie union all
+                         select id,reg_name from yuxiu.kuaishou_supply_chain_cookie
+                                            group by id, reg_name)t5
+on t1.regimental_id=t5.id
 
                 """.format(database=keys)
         print(sql)
@@ -111,6 +121,6 @@ from (select item_id,
 
 
 if __name__ == '__main__':
-    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀'}
+    database_mapping = {'yufu': '渔夫', 'miaogousi': '食品', 'ruixuan': '服装', 'rocket': '年轻', 'yuxiu': '玉秀','zhishui':'止水'}
     for key, value in database_mapping.items():
         CanalEmail().handler(key, value)