""" 七悦书城数据 """ import time from model import ComUtils import requests import json from model.DataBaseUtils import MysqlUtils from model.DateUtils import DateUtils from model.ComUtils import * import math from model.DateUtils import DateUtils import logging from urllib import parse from model.DingTalkUtils import DingTalkUtils from app.api_data.platform_order.order_util import * logging.getLogger().setLevel(logging.WARNING) db = MysqlUtils() du = DateUtils() # 获取七悦订单数据 def get_qiyue_order_task(start, end, account): """一分钟请求60次的限制""" order_list = [] # 参数 order_url = "https://api.zhangwenwenhua.com" + "/v1/orders" stage = account[0] token = account[1] size = 50 freq = 0 for date in du.getDateLists(start, end): page = 1 while True: timestamp = int(time.time()) url = order_url + "?" + "token=" + str(token) + "×tamp=" + str(timestamp) + "&page=" + str( page) + "&size=" + str(size) + "&date=" + date rsp = requests.get(url=url) response_result_json = rsp.json() # print(response_result_json) freq += 1 if freq == 59: print("一分钟请求60次的限制 等待中") time.sleep(61) freq = 0 code = response_result_json['code'] if code != 0: print(stage, '七悦充值接口异常:', response_result_json) break result_data = response_result_json['data'] total = result_data['total'] if total <= 0: break order_item_list = result_data['data'] for x in order_item_list: create_time = DateUtils.stamp_to_str(x['create_time'], '%Y-%m-%d %H:%M:%S') reg_time = DateUtils.stamp_to_str(x['user_create_time'], '%Y-%m-%d %H:%M:%S') order_list.append(( create_time[:10], stage, '七悦', x['wechat_app_name'], # 公众号名称 x['channel_id'], x['user_open_id'], create_time, reg_time, # 用户注册时间 x['money'], x['book_name'], x['id'], x['state'], x['id'], x['user_id'], x['wechat_app_id'], x['book_keywords'], x['type'], x['trade_no'], x['transaction_no'] ) ) next_page_url = result_data['next_page_url'] if next_page_url is None: break page += 1 # print(len(order_list)) print(f'{stage} [{start}-{end}] 有订单{order_list.__len__()}') # print(order_list) if order_list.__len__() > 0: save_order2(order_list) # 获取七悦用户信息 def get_qiyue_user_info(account): order_url = "https://api.zhangwenwenhua.com" + "/v1/users" stage = account[0] token = account[1] page = 1 size = 50 freq = 0 li = [] while True: timestamp = int(time.time()) url = order_url + "?" + "token=" + str(token) + "×tamp=" + str(timestamp) + "&page=" + str( page) + "&size=" + str(size) + "&date=" r = requests.get(url=url).json() print(r) if r['code'] != 0: DingTalkUtils.send('七悦用户拉取接口错误'+r['msg']) else: continue i = r['data']['data'] li.append(('七悦', i['id'], i['openid'], i['channel_id'], i['wechat_app_name'], i['wechat_app_id'], )) if __name__ == '__main__': for account in get_account("七悦"): get_qiyue_order_task('2021-06-03','2021-06-03',account) # get_qiyue_user_info(account)