Kaynağa Gözat

同步服务器代码

zwg 4 yıl önce
ebeveyn
işleme
0b80eba380

+ 1 - 1
dgp/get_ad_hourly.py

@@ -115,7 +115,7 @@ def start_all_job():
                     t2 = t2+((d),)
     mysql_insert_daily_vx(t2)
     
-start_job_time = '2020-09-24 17:30:00'
+start_job_time = '2020-09-28 18:30:00'
 
 if __name__ == '__main__':
     scheduler = BlockingScheduler()

+ 1 - 1
dgp/get_campaign_daily.py

@@ -674,7 +674,7 @@ def start_all_job():
 
 
 
-start_job_time = '2020-09-25 06:10:10'
+start_job_time = '2020-09-29 06:10:10'
 
 if __name__ == '__main__':
     scheduler = BlockingScheduler()

+ 9 - 7
dgp/get_data_hourly.py

@@ -744,13 +744,14 @@ def update_check():
 
 
 def start_order_job():
-	st_unix = int((time.time() + 8 * 3600) // 3600 * 3600 - 8 * 3600 - 3600)
-	et_unix = int((time.time() + 8 * 3600) // 3600 * 3600 - 8 * 3600)
+	st_unix_time = time.time()
+	st_unix = int((st_unix_time + 8 * 3600) // 3600 * 3600 - 8 * 3600 - 3600)
+	et_unix = int((st_unix_time + 8 * 3600) // 3600 * 3600 - 8 * 3600)
 	# et_unix = et_unix - 1
 	st_dt = time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(st_unix)) + '+08:00'
 	et_dt = time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(et_unix)) + '+08:00'
 	print(st_dt, et_dt)
-	mysql_insert_order(get_yuewen_order(st_unix, et_unix - 1))
+	mysql_insert_order(get_yuewen_order(st_unix, et_unix))
 	mysql_insert_order(get_zhangdu_order(st_unix, et_unix))
 	mysql_insert_order(get_ysg_order(st_unix, et_unix))
 	mysql_insert_order(get_zzy_order(st_dt, et_dt))
@@ -759,8 +760,9 @@ def start_order_job():
 
 
 def start_cost_job():
-	st_unix = int((time.time() + 8 * 3600) // 3600 * 3600 - 8 * 3600 - 3600)
-	et_unix = int((time.time() + 8 * 3600) // 3600 * 3600 - 8 * 3600)
+	st_unix_time = time.time()
+	st_unix = int((st_unix_time + 8 * 3600) // 3600 * 3600 - 8 * 3600 - 3600)
+	et_unix = int((st_unix_time + 8 * 3600) // 3600 * 3600 - 8 * 3600)
 	# et_unix = et_unix - 1
 	st_dt = time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(st_unix)) + '+08:00'
 	et_dt = time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(et_unix)) + '+08:00'
@@ -769,8 +771,8 @@ def start_cost_job():
 	mysql_insert_daily_qq(get_daily_qq())
 
 
-start_order_time = '2020-09-24 17:05:00'
-start_cost_time = '2020-09-24 17:35:00'
+start_order_time = '2020-09-28 18:10:00'
+start_cost_time = '2020-09-28 18:35:00'
 
 if __name__ == '__main__':
 	scheduler = BlockingScheduler()

+ 49 - 46
dgp/get_order_daily.py

@@ -271,7 +271,7 @@ def get_zhangdu_order(st,et):
             endtime = min(et,starttime+timespace)
         if len(t)>0:
             mysql_insert_order(t)
-        print('掌读',channel,len(t))
+        #print('掌读',channel,len(t))
 
 
 ##《3》花生
@@ -371,7 +371,7 @@ def get_huasheng_order(st,et):
 
         if len(t)>0:
             mysql_insert_order(t)
-    print(stage,merchant_name,len(t))
+        print("huasheng",stage,merchant_name,len(t))
 
 
 ##《4》掌中云
@@ -416,52 +416,55 @@ def get_zzy_order(st,et):
             my_sign_1 = md5value(secert+'channel_id='+str(channel_id)+'&created_at[gt]='+get_time+'&created_at[lt]='+limit_time+'&key='+my_key+'&per_page='+per_page+'&status='+status)
             parameter_1 = 'channel_id='+str(channel_id)+'&'+gt+'&'+lt+'&per_page='+per_page+'&status='+status+'&key='+my_key+'&sign='+my_sign_1
             orders = requests.get(url_1+parameter_1)
-            t = orders.json()['data']['count']//int(per_page)+1
-            for page in range(1,t+1):
-                my_sign_2 = md5value(secert+'channel_id='+str(channel_id)+'&created_at[gt]='+get_time+'&created_at[lt]='+limit_time+'&key='+my_key+'&page='+str(page)+'&per_page='+per_page+'&status='+status)
-                parameter_2 ='channel_id='+str(channel_id)+'&'+gt+'&'+lt+'&page='+str(page)+'&per_page='+per_page+'&status='+status+'&key='+my_key+'&sign='+my_sign_2
-                orders_1 = requests.get(url_1+parameter_2)
-                b = orders_1.json()['data']['items']
-                
-                for a in b:
-                    c={}
-                    c['user_id']=str(a['member']['openid'])
-                    c['channel'] = channel
-                    c['reg_time']=a['member']['created_at']               
-                    c['channel_id']=channel_id
-                    c['amount']= round(a['price']/100,2)
-                    c['order_id']=str(a['id'])
-                    c['order_time']=a['created_at']
-                    c['platform']='掌中云'
-                    c['stage']=stage
-                    #c['amount']=a['amount']
-                    dtime = datetime.datetime.strptime(a['created_at'][0:10],"%Y-%m-%d")
-                    c['date']= ((int(time.mktime(dtime.timetuple()))+8*3600)//86400)*86400-8*3600
-                    
-                    if str(a['from_novel_id'])!='None':
-                        c['from_novel']=a['from_novel']['title']
-                    else :
-                        c['from_novel']='None'
-                    """
-                    del a['member']
-                    del a['referral_link_id']
-                    del a['id']
-                    del a['created_at']
-                    del a['paid_at']
-                    del a['border_id']
-                    del a['from_novel_id']
-                    del a['status']
-                    del a['price']
-                    del a['agent_uid']
-                    """
-                    x= sorted(c.items(), key=lambda item:item[0])
-                    x = dict(x)
-                    x = tuple(x.values())   
-                    r = r+((x),)                   
+            
+            t = int(orders.json()['data']['count'])
+            if t > 0:
+                t = orders.json()['data']['count']//int(per_page)+1
+                for page in range(1,t+1):
+                    my_sign_2 = md5value(secert+'channel_id='+str(channel_id)+'&created_at[gt]='+get_time+'&created_at[lt]='+limit_time+'&key='+my_key+'&page='+str(page)+'&per_page='+per_page+'&status='+status)
+                    parameter_2 ='channel_id='+str(channel_id)+'&'+gt+'&'+lt+'&page='+str(page)+'&per_page='+per_page+'&status='+status+'&key='+my_key+'&sign='+my_sign_2
+                    orders_1 = requests.get(url_1+parameter_2)
+                    b = orders_1.json()['data']['items']
+
+                    for a in b:
+                        c={}
+                        c['user_id']=str(a['member']['openid'])
+                        c['channel'] = channel
+                        c['reg_time']=a['member']['created_at']               
+                        c['channel_id']=channel_id
+                        c['amount']= round(a['price']/100,2)
+                        c['order_id']=str(a['id'])
+                        c['order_time']=a['created_at']
+                        c['platform']='掌中云'
+                        c['stage']=stage
+                        #c['amount']=a['amount']
+                        dtime = datetime.datetime.strptime(a['created_at'][0:10],"%Y-%m-%d")
+                        c['date']= ((int(time.mktime(dtime.timetuple()))+8*3600)//86400)*86400-8*3600
+
+                        if str(a['from_novel_id'])!='None':
+                            c['from_novel']=a['from_novel']['title']
+                        else :
+                            c['from_novel']='None'
+                        """
+                        del a['member']
+                        del a['referral_link_id']
+                        del a['id']
+                        del a['created_at']
+                        del a['paid_at']
+                        del a['border_id']
+                        del a['from_novel_id']
+                        del a['status']
+                        del a['price']
+                        del a['agent_uid']
+                        """
+                        x= sorted(c.items(), key=lambda item:item[0])
+                        x = dict(x)
+                        x = tuple(x.values())   
+                        r = r+((x),)                   
 
             if len(r)>0:
                 mysql_insert_order(r)
-                
+                    
             print('zzy',channel,len(r))
 
 
@@ -578,7 +581,7 @@ def start_all_job():
 
 
 
-start_job_time = '2020-09-27 03:05:00'
+start_job_time = '2020-09-28 03:25:00'
 
 
 if __name__ == '__main__':

+ 98 - 0
dgp/tests/a.py

@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+get_data_hourly.py
+"""
+
+
+def get_zzy_order(st, et):
+	time1 = time.time()
+	API_list = al.zzy_account_list
+	r = ()
+
+	for x in API_list:
+		my_key = x[0]
+		secert = x[1]
+		stage = x[2]
+		my_sign = md5value(secert + 'key=' + my_key)
+		url = 'https://openapi.818tu.com/partners/channel/channels/list?'
+		parameter = 'key=' + my_key + '&sign=' + my_sign
+		channel_list = requests.get(url + parameter)  # 获取子渠道列表
+
+		if 'data' in channel_list.json().keys():
+			items = channel_list.json()['data']['items']
+		elif len(x) > 3:
+			my_key = x[3]
+			secert = x[4]
+			my_sign = md5value(secert + 'key=' + my_key)
+			url = 'https://openapi.818tu.com/partners/channel/channels/list?'
+			parameter = 'key=' + my_key + '&sign=' + my_sign
+			channel_list = requests.get(url + parameter)
+			items = channel_list.json()['data']['items']
+		else:
+			print(channel_list.json())
+			items = []
+
+		if items != []:
+			for item in items:  # 获取channel_id 后逐个拉取历史orders
+				channel_id = item['id']
+				channel = item['nickname']
+				status = str(1)
+				per_page = str(1000)
+				limit_time = et
+				get_time = st
+				lt = parse.urlencode({'created_at[lt]': limit_time})
+				gt = parse.urlencode({'created_at[gte]': get_time})
+				url_1 = 'https://openapi.818tu.com/partners/channel/orders/list?'
+				my_sign_1 = md5value(secert + 'channel_id=' + str(
+					channel_id) + '&created_at[gte]=' + get_time + '&created_at[lt]=' + limit_time + '&key=' + my_key + '&per_page=' + per_page + '&status=' + status)
+				parameter_1 = 'channel_id=' + str(
+					channel_id) + '&' + gt + '&' + lt + '&per_page=' + per_page + '&status=' + status + '&key=' + my_key + '&sign=' + my_sign_1
+				orders = requests.get(url_1 + parameter_1)
+				t = orders.json()['data']['count'] // int(per_page) + 1
+				for page in range(1, t + 1):
+					my_sign_2 = md5value(secert + 'channel_id=' + str(
+						channel_id) + '&created_at[gte]=' + get_time + '&created_at[lt]=' + limit_time + '&key=' + my_key + '&page=' + str(
+						page) + '&per_page=' + per_page + '&status=' + status)
+					parameter_2 = 'channel_id=' + str(channel_id) + '&' + gt + '&' + lt + '&page=' + str(
+						page) + '&per_page=' + per_page + '&status=' + status + '&key=' + my_key + '&sign=' + my_sign_2
+					orders_1 = requests.get(url_1 + parameter_2)
+					b = orders_1.json()['data']['items']
+
+					for a in b:
+						c = {}
+						c['user_id'] = str(a['member']['openid'])
+						c['channel'] = channel
+						c['reg_time'] = a['member']['created_at']
+						c['channel_id'] = channel_id
+						c['amount'] = round(a['price'] / 100, 2)
+						c['order_id'] = str(a['id'])
+						c['order_time'] = a['created_at']
+						c['platform'] = '掌中云'
+						dtime = datetime.datetime.strptime(a['created_at'][0:10], "%Y-%m-%d")
+						c['date'] = ((int(time.mktime(dtime.timetuple())) + 8 * 3600) // 86400) * 86400 - 8 * 3600
+						c['stage'] = stage
+
+						if str(a['from_novel_id']) != 'None':
+							c['from_novel'] = a['from_novel']['title']
+						else:
+							c['from_novel'] = 'None'
+						"""
+                        del[a['member']]
+                        del[a['referral_link_id']]
+                        del[a['id']]
+                        del[a['created_at']]
+                        del[a['paid_at']]
+                        del a['border_id']
+                        del a['from_novel_id']
+                        del a['status']
+                        del a['price']
+                        del a['agent_uid']
+                        """
+						x = sorted(c.items(), key=lambda item: item[0])
+						x = dict(x)
+						x = tuple(x.values())
+						r = r + ((x),)
+	cost_time = round((time.time() - time1) / 60, 1)
+	print('get_zzy_order:', len(r), 'cost_minutes:', cost_time)
+	return r

+ 100 - 0
dgp/tests/b.py

@@ -0,0 +1,100 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+get_order_daily.py
+"""
+
+
+def get_zzy_order(st, et):
+	API_list = al.zzy_account_list
+	url = 'https://openapi.818tu.com/partners/channel/channels/list?'
+
+	for x in API_list:
+		my_key = x[0]
+		secert = x[1]
+		stage = x[2]
+		my_sign = md5value(secert + 'key=' + my_key)
+		parameter = 'key=' + my_key + '&sign=' + my_sign
+		channel_list = requests.get(url + parameter)  # 获取子渠道列表
+
+		if 'data' in channel_list.json().keys():
+			items = channel_list.json()['data']['items']
+		elif len(x) > 3:
+			# print(channel_list.json())
+			my_key = x[3]
+			secert = x[4]
+			my_sign = md5value(secert + 'key=' + my_key)
+			parameter = 'key=' + my_key + '&sign=' + my_sign
+			# url = 'https://openapi.818tu.com/partners/channel/channels/list?'
+			channel_list = requests.get(url + parameter)
+			items = channel_list.json()['data']['items']
+		else:
+			print(channel_list.json())
+			items = []
+
+		for item in items:  # 获取channel_id 后逐个拉取历史orders
+			r = ()
+			channel_id = item['id']
+			channel = item['nickname']
+			status = str(1)
+			per_page = str(1000)
+			limit_time = et
+			get_time = st
+			lt = parse.urlencode({'created_at[lt]': limit_time})
+			gt = parse.urlencode({'created_at[gt]': get_time})
+			url_1 = 'https://openapi.818tu.com/partners/channel/orders/list?'
+			my_sign_1 = md5value(secert + 'channel_id=' + str(
+				channel_id) + '&created_at[gt]=' + get_time + '&created_at[lt]=' + limit_time + '&key=' + my_key + '&per_page=' + per_page + '&status=' + status)
+			parameter_1 = 'channel_id=' + str(
+				channel_id) + '&' + gt + '&' + lt + '&per_page=' + per_page + '&status=' + status + '&key=' + my_key + '&sign=' + my_sign_1
+			orders = requests.get(url_1 + parameter_1)
+			t = orders.json()['data']['count'] // int(per_page) + 1
+			for page in range(1, t + 1):
+				my_sign_2 = md5value(secert + 'channel_id=' + str(
+					channel_id) + '&created_at[gt]=' + get_time + '&created_at[lt]=' + limit_time + '&key=' + my_key + '&page=' + str(
+					page) + '&per_page=' + per_page + '&status=' + status)
+				parameter_2 = 'channel_id=' + str(channel_id) + '&' + gt + '&' + lt + '&page=' + str(
+					page) + '&per_page=' + per_page + '&status=' + status + '&key=' + my_key + '&sign=' + my_sign_2
+				orders_1 = requests.get(url_1 + parameter_2)
+				b = orders_1.json()['data']['items']
+
+				for a in b:
+					c = {}
+					c['user_id'] = str(a['member']['openid'])
+					c['channel'] = channel
+					c['reg_time'] = a['member']['created_at']
+					c['channel_id'] = channel_id
+					c['amount'] = round(a['price'] / 100, 2)
+					c['order_id'] = str(a['id'])
+					c['order_time'] = a['created_at']
+					c['platform'] = '掌中云'
+					c['stage'] = stage
+					# c['amount']=a['amount']
+					dtime = datetime.datetime.strptime(a['created_at'][0:10], "%Y-%m-%d")
+					c['date'] = ((int(time.mktime(dtime.timetuple())) + 8 * 3600) // 86400) * 86400 - 8 * 3600
+
+					if str(a['from_novel_id']) != 'None':
+						c['from_novel'] = a['from_novel']['title']
+					else:
+						c['from_novel'] = 'None'
+					"""
+					del a['member']
+					del a['referral_link_id']
+					del a['id']
+					del a['created_at']
+					del a['paid_at']
+					del a['border_id']
+					del a['from_novel_id']
+					del a['status']
+					del a['price']
+					del a['agent_uid']
+					"""
+					x = sorted(c.items(), key=lambda item: item[0])
+					x = dict(x)
+					x = tuple(x.values())
+					r = r + ((x),)
+
+			if len(r) > 0:
+				mysql_insert_order(r)
+
+			print('zzy', channel, len(r))

+ 6 - 1
dgp/token_list.py

@@ -1836,7 +1836,12 @@ token_list_vx=[['15349240','wx37e82ed25970841f','164b43c212b3a7ebb71902bb08761b7
 ['17823897','wxa8d4e70c71071c21','22d036a942bf723bd36b3366dd99cecb','48cfb9638941219909de2ea22f62a94f','百瀚文苑','','','',''],
 ['17823917','wxb531922275de987b','25386a909b36bfd0f28f3cb3713a2005','03244c787015fffd7aaa72a54c9d94fa','星昆阅读','陈冲1期','金康','文鼎','二狗的逆袭之路'],
 ['17824091','wxc41491e360565ad2','d02dbdfd4426043bc5f1a74a17c102da','01fc23bc2d661e1e75149853b5936fe3','敬云文海','陈冲1期','金康','文鼎','二狗的逆袭之路'],
-['17823848','wxd287dbdac9e4e4ed','5a81764ec056ce97062e6e88d4515422','71ebeafdc38b9699dd43d3631b320a58','东云文海','','','','']
+['17823848','wxd287dbdac9e4e4ed','5a81764ec056ce97062e6e88d4515422','71ebeafdc38b9699dd43d3631b320a58','东云文海','','','',''],
+['17771574','wx3a7d09c4ccbffd0c','f7ab3703c01f1a1060d5ca0829e1b5ef','d6c062b6cb01f60f3e4e20de74dad754','镜宇文海','趣程24期','姜杨','文鼎','大靠山'],
+['17771592','wx4b00fbb8db1fc8ea','b32cbbeb07ab95073659415d5af705ed','55593c88d93a8fe48c004a4efcee059b','知学文海','趣程24期','姜杨','文鼎','大靠山'],
+['17771544','wxa7624080d8779a40','6d1f96c16467cf7d003a4642de061514','6938082503fba38cdbc59bc8f46408d1','雨豪文楼','趣程19期','徐伟杰','文鼎','大靠山'],
+['17771559','wxcda605a6c16a808d','a350500cfbf5c595c7434b8fe80dcecc','441a4c095a4699ed66c1ebf2d5028e0c','圣文书海','趣程19期','徐伟杰','文鼎','大靠山'],
+['17771586','wxd412b4f09213cd9e','6853a13325e177fb2d0a3b569817b4ea','ae4b921f35b352c1228cc284133dbdda','君玄阅读','趣程24期','姜杨','文鼎','大靠山']
 
 ]
 

+ 1 - 1
dgp/update_ad_daily.py

@@ -137,7 +137,7 @@ def start_job():
     mysql_insert_daily_vx(get_daily_vx())
     mysql_insert_daily_qq(get_daily_qq())
     
-start_job_time = '2020-09-24 06:00:00'
+start_job_time = '2020-09-29 06:00:00'
 
 if __name__ == '__main__':
     scheduler = BlockingScheduler()