""" 七悦书城数据 """ 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 .order_util import save_order 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['transaction_no'] if x['transaction_no'] != 0 else x['trade_no'], # 订单id x['state'], x['user_id'] ) ) 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__()}') if order_list.__len__() > 0: save_order(order_list) # 获取七悦用户信息 def get_qiyue_user_info(): pass