瀏覽代碼

MOD:tmp fix yangguang

cxyu 3 年之前
父節點
當前提交
869875c05d
共有 1 個文件被更改,包括 46 次插入46 次删除
  1. 46 46
      app/api_data/platform_order/yangguang.py

+ 46 - 46
app/api_data/platform_order/yangguang.py

@@ -1,16 +1,16 @@
 from model.DataBaseUtils import MysqlUtils
 from model.DataBaseUtils import MysqlUtils
-from model.DingTalkUtils import DingTalkDecorators,DingTalkUtils
+from model.DingTalkUtils import DingTalkDecorators, DingTalkUtils
 from model.DateUtils import DateUtils
 from model.DateUtils import DateUtils
 from model import ComUtils
 from model import ComUtils
 import time
 import time
 import json
 import json
 import requests
 import requests
+
 db = MysqlUtils()
 db = MysqlUtils()
 du = DateUtils()
 du = DateUtils()
 
 
 
 
-
-@DingTalkDecorators("阳光")
+# @DingTalkDecorators("阳光")
 def yangguang(start=None, end=None):
 def yangguang(start=None, end=None):
     accounts = get_account("阳光")
     accounts = get_account("阳光")
 
 
@@ -32,7 +32,7 @@ def yangguang(start=None, end=None):
     for i in accounts:
     for i in accounts:
         stage = i[0]
         stage = i[0]
         vip_id = i[1]
         vip_id = i[1]
-        print(stage,vip_id)
+        print(stage, vip_id)
         print(vip_id)
         print(vip_id)
         # get_yg_vip_channel(stage, vip_id, client_id, token)
         # get_yg_vip_channel(stage, vip_id, client_id, token)
         get_yg_data(stage, vip_id, client_id, token, start, end)
         get_yg_data(stage, vip_id, client_id, token, start, end)
@@ -40,11 +40,12 @@ def yangguang(start=None, end=None):
     print(check())
     print(check())
     parse_order_data()
     parse_order_data()
 
 
-def get_yg_data(stage,vip_id,client_id,token,start,end):
+
+def get_yg_data(stage, vip_id, client_id, token, start, end):
     url = "https://data.yifengaf.cn:443/channeldata/data/orders/list"
     url = "https://data.yifengaf.cn:443/channeldata/data/orders/list"
-    nonce=ComUtils.get_random_str()
-    timestamp=int(time.time())
-    signaure =ComUtils.sha1(str(token) + str(timestamp) + str(client_id) + str(nonce))
+    nonce = ComUtils.get_random_str()
+    timestamp = int(time.time())
+    signaure = ComUtils.sha1(str(token) + str(timestamp) + str(client_id) + str(nonce))
     params = {
     params = {
         "client_id": client_id,
         "client_id": client_id,
         "token": token,
         "token": token,
@@ -52,20 +53,21 @@ def get_yg_data(stage,vip_id,client_id,token,start,end):
         "timestamp": timestamp,
         "timestamp": timestamp,
         "signaure": signaure,
         "signaure": signaure,
         "vip_id": vip_id,
         "vip_id": vip_id,
-        "start_time":start,   # %Y-%m-%d %H:%i:%s:
-        "end_time":end
+        "start_time": start,  # %Y-%m-%d %H:%i:%s:
+        "end_time": end
     }
     }
-    headers={"Content-Type":"application/json"}
+    headers = {"Content-Type": "application/json"}
     for i in range(5):
     for i in range(5):
         try:
         try:
-            r=requests.post(url=url,data=json.dumps(params),headers=headers,timeout=5)
+            r = requests.post(url=url, data=json.dumps(params), headers=headers, timeout=5)
             break
             break
         except:
         except:
             pass
             pass
         raise
         raise
-    print(vip_id,r.text)
+    print(vip_id, r.text)
     task_id = json.loads(r.text).get("data").get("task_id")
     task_id = json.loads(r.text).get("data").get("task_id")
-    db.quchen_text.execute(f"replace into yangguang_path(vip_id,task_id,stage,type) values ('{vip_id}','{task_id}','{stage}','order')")
+    db.quchen_text.execute(
+        f"replace into yangguang_path(vip_id,task_id,stage,type) values ('{vip_id}','{task_id}','{stage}','order')")
 
 
 
 
 def get_yg_vip_channel(stage, vip_id, client_id, token):
 def get_yg_vip_channel(stage, vip_id, client_id, token):
@@ -106,53 +108,58 @@ def parse_order_data():
 
 
     for i in accounts:
     for i in accounts:
         # print(i)
         # print(i)
-        vip_id = i[1]
-        stage = i[0]
-        data = parse_order(vip_id, stage)
-        save_data(data)
+        try:
+            vip_id = i[1]
+            stage = i[0]
+            data = parse_order(vip_id, stage)
+            save_data(data)
+        except Exception as e:
+            DingTalkUtils.send('阳光出错vipid:' + vip_id, phone='15168342316')
+            print(e)
 
 
-def parse_order(vip_id,stage):
+
+def parse_order(vip_id, stage):
     print(vip_id)
     print(vip_id)
     url = db.quchen_text.getOne(f"select path from yangguang_path where type='channel' and vip_id={vip_id} ")
     url = db.quchen_text.getOne(f"select path from yangguang_path where type='channel' and vip_id={vip_id} ")
     for i in range(5):
     for i in range(5):
         try:
         try:
-            r = requests.get(url,timeout=5).text
+            r = requests.get(url, timeout=5).text
             break
             break
         except:
         except:
             pass
             pass
         raise
         raise
 
 
-    channel_di={}
+    channel_di = {}
     a = r.split('}')
     a = r.split('}')
     for i in a[:-1]:
     for i in a[:-1]:
         if i[-1] != '}':
         if i[-1] != '}':
-            b=json.loads(i + "}", strict=False)
+            b = json.loads(i + "}", strict=False)
 
 
         else:
         else:
-            b=json.loads(i, strict=False)
-        channel_di[b["channel_id"]]=(b["wx_nickname"],b['app_id'])
+            b = json.loads(i, strict=False)
+        channel_di[b["channel_id"]] = (b["wx_nickname"], b['app_id'])
 
 
     # print(channel_di)
     # print(channel_di)
     print(f'{stage} 有channel数:{len(channel_di)}')
     print(f'{stage} 有channel数:{len(channel_di)}')
 
 
-    info=db.quchen_text.getData(f"select stage,path from yangguang_path where type='order' and vip_id={vip_id}")
-    stage=info[0][0]
-    path=info[0][1]
+    info = db.quchen_text.getData(f"select stage,path from yangguang_path where type='order' and vip_id={vip_id}")
+    stage = info[0][0]
+    path = info[0][1]
     for i in range(5):
     for i in range(5):
         try:
         try:
-            text=requests.get(path,timeout=5).text.replace('"referral_url":,','')
+            text = requests.get(path, timeout=5).text.replace('"referral_url":,', '')
             # print(text)
             # print(text)
             break
             break
-        except:
-            pass
-            raise
+        except Exception as e:
+            print('channel', e)
+            # raise
 
 
-    insert_data=[]
+    insert_data = []
     for j in text.split("}")[:-1]:
     for j in text.split("}")[:-1]:
         if j[-1] != '}':
         if j[-1] != '}':
-            j=j+'}'
+            j = j + '}'
         try:
         try:
-            di=json.loads(j, strict=False)
+            di = json.loads(j, strict=False)
         except Exception as e:
         except Exception as e:
             print(j)
             print(j)
             print(e)
             print(e)
@@ -169,7 +176,7 @@ def parse_order(vip_id,stage):
             di['money'],
             di['money'],
             di.get('book_name'),
             di.get('book_name'),
             di['merchant_id'],
             di['merchant_id'],
-            2 if di['state']=="完成" else 1,
+            2 if di['state'] == "完成" else 1,
             di['user_id'],
             di['user_id'],
             channel_di[di['channel_id']][1],
             channel_di[di['channel_id']][1],
             1 if di['type'] == '书币充值' else 2,
             1 if di['type'] == '书币充值' else 2,
@@ -178,7 +185,7 @@ def parse_order(vip_id,stage):
         ))
         ))
     # print(insert_data)
     # print(insert_data)
     # exit(0)
     # exit(0)
-    print("订单数:"+ str(insert_data.__len__()))
+    print("订单数:" + str(insert_data.__len__()))
     save_data(insert_data)
     save_data(insert_data)
 
 
 
 
@@ -188,11 +195,10 @@ def save_data(data):
     trade_no,transaction_no) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) """
     trade_no,transaction_no) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) """
     # print(sql)
     # print(sql)
 
 
-    db.quchen_text.executeMany(sql,data)
+    db.quchen_text.executeMany(sql, data)
 
 
 
 
 def check():
 def check():
-
     x = 1
     x = 1
     while True:
     while True:
         a = db.quchen_text.getOne("select count(1) from yangguang_path where type ='order' and path is null")
         a = db.quchen_text.getOne("select count(1) from yangguang_path where type ='order' and path is null")
@@ -217,6 +223,7 @@ def get_account(plactform, id=None):
         new_data.append(i[0].replace('\n', '').split(","))
         new_data.append(i[0].replace('\n', '').split(","))
     return new_data
     return new_data
 
 
+
 def get_yg_user_info():
 def get_yg_user_info():
     """获取阳光的用户信息"""
     """获取阳光的用户信息"""
     accounts = get_account("阳光")
     accounts = get_account("阳光")
@@ -246,23 +253,16 @@ def get_yg_user_info():
     # parse_data()
     # parse_data()
 
 
 
 
-
-
-
 def daily_yg():
 def daily_yg():
     st = du.get_n_days(-10)
     st = du.get_n_days(-10)
     et = du.get_n_days(-1)
     et = du.get_n_days(-1)
     yangguang(st, et)
     yangguang(st, et)
 
 
 
 
-
-
-
 if __name__ == '__main__':
 if __name__ == '__main__':
-
     # get_channel_info()
     # get_channel_info()
     # exit(0)
     # exit(0)
-    yangguang(start=du.get_n_days(-1),end=du.get_n_days(0))
+    yangguang(start=du.get_n_days(-1), end=du.get_n_days(0))
     # # exit(0)
     # # exit(0)
     # yangguang('2021-05-28','2021-05-28')
     # yangguang('2021-05-28','2021-05-28')
     # daily_yg()
     # daily_yg()