renyupeng il y a 9 mois
Parent
commit
9db2eccdc2
1 fichiers modifiés avec 12 ajouts et 6 suppressions
  1. 12 6
      ETL/KuaishouRuleOrderDataTherad.py

+ 12 - 6
ETL/KuaishouRuleOrderDataTherad.py

@@ -56,7 +56,7 @@ group by item_id
                    a.valid_order_num,
                    e.order_num                         as yesterday_order_num,
                    e.valid_order_num                   as yesterday_order_num,
-                   '{stat_date}'                      as stat_date
+                   {stat_date}                      as stat_date
     
             from (select promoter_id,
                          item_id,
@@ -83,21 +83,27 @@ group by item_id
                                 from {database}.kuaishou_item_list
                                 ) d
                                on a.item_id = d.item_id
-                     left join (select promoter_id, item_id, order_num, valid_order_num
-                                from {database}.kuaishou_rule_order_data
-                                where stat_date = date_format(date_sub('{stat_date}', interval 1 day), '%Y%m%d')
-                                  and item_id = {item_id}) e
+                     left join (select promoter_id,
+                         item_id,
+                         count(distinct oid) as order_num,
+                       count(distinct case when order_status!=80 then oid  end) as valid_order_num
+                  from {database}.kuaishou_supply_chain
+                  where stat_date <= date_format(date_sub('{stat_date}', interval 1 day), '%Y%m%d')
+                    and item_id = {item_id}
+                  group by promoter_id, item_id) e
                                on a.promoter_id = e.promoter_id and a.item_id = e.item_id
                         """.format(stat_date=self.stat_date, item_id=item_id,database=database)
             try:
                 print(handler_sql)
                 MysqlProUtils().Operate(sql=handler_sql)
+                sleep(1)
             except Exception as e:
                 print(e)
                 continue
 
 
 if __name__ == '__main__':
-    databases = {'rocket', 'miaogousi', 'yufu', 'ruixuan'}
+    databases = {'ruixuan','rocket','miaogousi','yufu'}
     for database in databases:
         KuaishouRuleOrderData().KuaishouRuleOrderDataHandler(database=database)
+        sleep(30)