from app.api_data.order_util import * from model.DataBaseUtils import MysqlUtils from concurrent.futures import ThreadPoolExecutor from model.DingTalkUtils import DingTalkUtils db=MysqlUtils() def get_account(plactform,id=None): op = f" and id={id} " if id else '' data = db.quchen_text.getData(f"select text from order_account_text where platform='{plactform}' {op}") new_data = [] for i in data: new_data.append(i[0].replace('\n', '').split(",")) return new_data def get_new_account(plactform): data = db.quchen_text.getData(f"select text from order_account_text where platform='{plactform}' and create_time>='{du.get_n_days(-1)}'") new_data = [] for i in data: new_data.append(i[0].replace('\n', '').split(",")) return new_data def yangguang(start=None, end=None,new=None): if start: start = start+' 00:00:00' end = end+' 23:59:59' else: start = du.getTodayOrYestoday() + ' 00:00:00' end = du.get_n_hours_ago(0) client_id = 10008097 token = '2xa1d55tTPBjeEA8Ho' accounts=get_account("阳光") if new is None else get_new_account('阳光') if accounts.__len__()==0: return else: print(f"阳光账号数:{accounts.__len__()}") for i in accounts: stage = i[0] vip_id = i[1] print(vip_id) get_yg_vip_channel(stage, vip_id, client_id, token) get_yg_data(stage, vip_id, client_id, token, start, end) x=1 while True: a = db.quchen_text.getOne("select count(1) from yangguang_path where update_time is null") print(f" vip 待处理数量 {a} 正在等待数据回调") if a == 0: break time.sleep(60) x+=1 if x>15: DingTalkUtils.send('阳光订单回调延时15min','18860455786') break for i in accounts: vip_id = i[1] stage=i[0] parse_yg_data(vip_id,stage) def huasheng(start=None,end=None,new=None): if start is None: start = end = du.getTodayOrYestoday() executor = ThreadPoolExecutor(max_workers=5) accounts = get_account("花生") if new is None else get_new_account('花生') if len(accounts)==0: return else: print(f'花生有账号{len(accounts)}个') li = [] for account in accounts: channel_data = get_hs_channel(account) if not channel_data: continue else: print(f"账号:{account[2]} 有channel{len(channel_data)}个") for merchant in channel_data: executor.submit(get_huasheng_order_task, start, end, account, merchant,li) executor.shutdown(True) save_hs_data(li) def qiyue(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_qiyue_order_task(start, end, account) def wending(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_wd_order_task(start, end, account) def zhangdu(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_zd_order_task(start, end, account) def zhangzhongyun(start=None,end=None,new=None): if start is None: start = end = du.getNow() executor = ThreadPoolExecutor(max_workers=5) 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: executor.submit(get_zzy_order_task,start, end, account) executor.shutdown() def yueweng(start=None,end=None,new=None): if start is None: start = end = du.getNow() executor = ThreadPoolExecutor(max_workers=5) 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: executor.submit(get_yueweng_order_task,start, end, account) executor.shutdown() def hourly(): try: yangguang() except: pass huasheng() qiyue() wending() zhangdu() zhangzhongyun() def daily(): st = du.get_n_days(-10) st2=du.get_n_days(-3) et = du.get_n_days(-1) try: yangguang(st, et) except: pass huasheng(st, et) qiyue(st2, et) # 有毛病 wending(st, et) zhangdu(st, et) zhangzhongyun(st, et) if __name__ == '__main__': a=time.time() yangguang() print(time.time()-a) # huasheng('2021-02-24','2021-02-24') # qiyue() # wending() # zhangdu('2020-11-01', '2020-12-20') # zhangzhongyun('2020-11-01', '2021-02-23')