소스 검색

ADD:订单部分:添加国风平台

cxyu 3 년 전
부모
커밋
c4f7944679
3개의 변경된 파일85개의 추가작업 그리고 2개의 파일을 삭제
  1. 12 0
      app/api_data/platform_order/get_order.py
  2. 67 2
      app/api_data/platform_order/order_util.py
  3. 6 0
      app/crontab_task/task.py

+ 12 - 0
app/api_data/platform_order/get_order.py

@@ -65,6 +65,18 @@ def wending(start=None, end=None, new=None):
     for account in accounts:
         get_wd_order_task(start, end, account)
 
+@DingTalkDecorators("国风")
+def guofeng(start=None, end=None, new=None):
+    if start is None:
+        start = end = du.getNow()
+
+    accounts = get_account("国风") if new is None else get_new_account('国风')
+    if len(accounts) == 0:
+        return
+    else:
+        print(f'国风有账号{len(accounts)}个')
+    for account in accounts:
+        get_gf_order_task(start, end, account)
 
 @DingTalkDecorators("掌读")
 def zhangdu(start=None, end=None, new=None):

+ 67 - 2
app/api_data/platform_order/order_util.py

@@ -294,8 +294,73 @@ def get_wd_order_task(start,end,account):
                 page += 1
     print(f"{stage} [{start}~{end}] 有订单 {order_list.__len__()}")
     if order_list.__len__()>0:
-        # print(order_list)
-        save_order(order_list)
+        print(order_list)
+        # save_order(order_list)
+
+
+def get_gf_order_task(start,end,account):
+    order_list = []
+    url = 'https://bi.reading.163.com/dist-api/rechargeList'
+    consumerkey = account[0]
+    secretkey = account[1]
+    siteid = account[2]
+    stage = account[3]
+    siteid_list = get_wd_account_siteid_list(account)
+    # print(siteid_list)
+    if len(siteid_list) == 0:
+        siteid_list.append(siteid)
+
+    starttime = du.date_str_to_str(start)+'0000'
+    endtime = du.date_str_to_str(end)+'2359'
+
+    for siteid in siteid_list:
+
+        page = 1
+        while True:
+            params = {
+                'consumerkey': consumerkey,
+                'secretkey': secretkey,
+                'timestamp': int(1601481600),
+                'siteid': siteid,
+                'pageSize': 1000,
+                'starttime': starttime,
+                'endtime': endtime,
+                'page': page}
+
+            response_result_json = get_wending_json_object(url, params)
+            # print(response_result_json)
+
+            order_item_list = response_result_json['data']['rechargeList']
+
+            for x in order_item_list:
+
+                order_time = DateUtils.stamp_to_str(x['createTime'])
+                reg_time = DateUtils.stamp_to_str(x['userRegisterTime'])
+
+                order_list.append(
+                    (order_time[:10],
+                     stage,
+                     '国风',
+                     x['wx_mpName'],
+                     x['wx_originalId'],
+                     x['wx_user_openId'],
+                     order_time,
+                     reg_time,
+                     x['money'] / 100,
+                     x['bookTitle'] if x['bookTitle'] else '',
+                     x['ewTradeId'] if x.get('ewTradeId') else x['rechargeUuid'],
+                     2 if x['payStatus'] == 1 else 1
+                     # ,x['userId']
+                    )
+                )
+            if len(order_item_list) < 1000:
+                break
+            else:
+                page += 1
+    print(f"{stage} [{start}~{end}] 有订单 {order_list.__len__()}")
+    if order_list.__len__()>0:
+        print(order_list)
+        # save_order(order_list)
 
 
 def get_zd_order_task(start,end,account):

+ 6 - 0
app/crontab_task/task.py

@@ -17,6 +17,7 @@ def hourly():
     t8 = threading.Thread(target=yangguang.yangguang)
     t9 = threading.Thread(target=youshuge)
     t10 = threading.Thread(target=old_cost_hourly)
+    t11 = threading.Thread(target=guofeng)
     t1.start()
     t1.join()
     t2.start()
@@ -37,6 +38,8 @@ def hourly():
     t9.join()
     t10.start()
     t10.join()
+    t11.start()
+    t11.join()
 
 
 def daily():
@@ -54,6 +57,7 @@ def daily():
     t8 = threading.Thread(target=yangguang,args=(st,et))
     t9 = threading.Thread(target=youshuge,args=(st,et))
     t10 = threading.Thread(target=old_cost_daily,args=(st,et))
+    t11 = threading.Thread(target=wending,args=(st,et))
     t1.start()
     t1.join()
     t2.start()
@@ -74,6 +78,8 @@ def daily():
     t9.join()
     t10.start()
     t10.join()
+    t11.start()
+    t11.join()
 
     yangguang.get_channel_info()