Bläddra i källkod

MOD:ad_cost_day 修改

cxyu 3 år sedan
förälder
incheckning
66e4e00b79
1 ändrade filer med 14 tillägg och 10 borttagningar
  1. 14 10
      app/api_data/tx_ad_cost/cost_util.py

+ 14 - 10
app/api_data/tx_ad_cost/cost_util.py

@@ -481,7 +481,8 @@ def ad_cost_day_gdt(account_id, access_token, st, et):
     # 接口文档 https://developers.e.qq.com/docs/api/insights/ad_insights/daily_reports_get?version=1.3
     # 接口文档 https://developers.e.qq.com/docs/api/insights/ad_insights/daily_reports_get?version=1.3
     url = 'https://api.e.qq.com/v1.3/daily_reports/get'
     url = 'https://api.e.qq.com/v1.3/daily_reports/get'
     fields = (
     fields = (
-        'date', 'ad_id', 'adgroup_id','campaign_id', 'cost', 'view_count', 'ctr', 'follow_count', 'web_order_count', 'order_amount')
+        'date', 'ad_id', 'adgroup_id', 'campaign_id', 'cost', 'view_count', 'ctr', 'follow_count', 'web_order_count',
+        'order_amount')
     li = []
     li = []
     page = 1
     page = 1
     while True:
     while True:
@@ -527,7 +528,6 @@ def ad_cost_day_gdt(account_id, access_token, st, et):
                             i['order_amount'] / 100, account_id, 'GDT'
                             i['order_amount'] / 100, account_id, 'GDT'
                         )
                         )
                     )
                     )
-
         total_page = r['data']['page_info']['total_page']
         total_page = r['data']['page_info']['total_page']
         if page >= total_page:
         if page >= total_page:
             break
             break
@@ -542,8 +542,8 @@ def ad_cost_day_gdt(account_id, access_token, st, et):
         adgroup_id_dict = {}
         adgroup_id_dict = {}
         campaign_id_dict = {}
         campaign_id_dict = {}
         for index, group in li_df_g:
         for index, group in li_df_g:
-            adgroup_id_dict[index] = ','.join([str(i) for i in group[2].tolist()])
-            campaign_id_dict[index] = ','.join([str(i) for i in group[3].tolist()])
+            adgroup_id_dict[index] = ','.join(set([str(i) for i in group[2].tolist()][:20]))
+            campaign_id_dict[index] = ','.join(set([str(i) for i in group[3].tolist()][:20]))
         for index, row in li_df_g.agg('sum').iterrows():
         for index, row in li_df_g.agg('sum').iterrows():
             new_row = row.tolist()
             new_row = row.tolist()
             new_row = list(index[0:2]) + new_row + list(index[2:])
             new_row = list(index[0:2]) + new_row + list(index[2:])
@@ -551,8 +551,9 @@ def ad_cost_day_gdt(account_id, access_token, st, et):
             new_row[3] = campaign_id_dict[index]
             new_row[3] = campaign_id_dict[index]
             li_new.append(tuple(new_row))
             li_new.append(tuple(new_row))
         logging.info(f"{account_id} have ad cost :{len(li_new)} ")
         logging.info(f"{account_id} have ad cost :{len(li_new)} ")
-        db.quchen_text.executeMany('''replace into ad_cost_day(dt,ad_id,adgroup_id,campaign_id,cost,
-        view_count,click_count,follow_count,order_count,order_amount,
+        db.quchen_text.executeMany('''replace into ad_cost_day(dt,ad_id,
+        adgroup_id,campaign_id,cost,view_count,click_count,follow_count,
+        order_count,order_amount,
         account_id,type) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''', li_new)
         account_id,type) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''', li_new)
         db.close()
         db.close()
 
 
@@ -611,13 +612,13 @@ def ad_cost_day_mp(account_id, access_token, st, et):
                             'MP'
                             'MP'
                         )
                         )
                     )
                     )
-
         total_page = r['data']['page_info']['total_page']
         total_page = r['data']['page_info']['total_page']
         if page >= total_page:
         if page >= total_page:
             break
             break
         else:
         else:
             page += 1
             page += 1
     # logging.info(li)
     # logging.info(li)
+
     if len(li) > 0:
     if len(li) > 0:
         # 对一下ad的数据
         # 对一下ad的数据
         li_df = pandas.DataFrame(li)
         li_df = pandas.DataFrame(li)
@@ -626,16 +627,19 @@ def ad_cost_day_mp(account_id, access_token, st, et):
         adgroup_id_dict = {}
         adgroup_id_dict = {}
         campaign_id_dict = {}
         campaign_id_dict = {}
         for index, group in li_df_g:
         for index, group in li_df_g:
-            adgroup_id_dict[index] = ','.join([str(i) for i in group[2].tolist()])
-            campaign_id_dict[index] = ','.join([str(i) for i in group[3].tolist()])
+            adgroup_id_dict[index] = ','.join(set([str(i) for i in group[2].tolist()][:20]))
+            campaign_id_dict[index] = ','.join(set([str(i) for i in group[3].tolist()][:20]))
         for index, row in li_df_g.agg('sum').iterrows():
         for index, row in li_df_g.agg('sum').iterrows():
             new_row = row.tolist()
             new_row = row.tolist()
             new_row = list(index[0:2]) + new_row + list(index[2:])
             new_row = list(index[0:2]) + new_row + list(index[2:])
+            # new_row = new_row[:2] + new_row[4:]
             new_row[2] = adgroup_id_dict[index]
             new_row[2] = adgroup_id_dict[index]
             new_row[3] = campaign_id_dict[index]
             new_row[3] = campaign_id_dict[index]
             li_new.append(tuple(new_row))
             li_new.append(tuple(new_row))
         logging.info(f"{account_id} have ad cost :{len(li_new)} ")
         logging.info(f"{account_id} have ad cost :{len(li_new)} ")
-        db.quchen_text.executeMany('''replace into ad_cost_day(dt,ad_id,adgroup_id,campaign_id,cost,
+
+        db.quchen_text.executeMany('''replace into ad_cost_day(dt,ad_id,
+        adgroup_id,campaign_id,cost,
         view_count,click_count,follow_count,order_count,order_amount,
         view_count,click_count,follow_count,order_count,order_amount,
         account_id,type) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''', li_new)
         account_id,type) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''', li_new)
         db.close()
         db.close()