from app.api_data.order_util import * from model.DataBaseUtils import MysqlUtils from concurrent.futures import ThreadPoolExecutor from model.DingTalkUtils import DingTalkUtils from app.api_data.platform_order.audio_qiyue import AudioQiyue from app.api_data.platform_order.youshuge import get_youshuge_order_task from app.api_data.platform_order.yuewen import get_yuewen_order_task 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 > 20: DingTalkUtils.send('阳光订单回调延时20min', '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): if start is None: start = end = du.getNow() executor = ThreadPoolExecutor(max_workers=5) accounts = get_account("花生") if len(accounts) == 0: return else: print(f'花生有账号{len(accounts)}个') for account in accounts: executor.submit(get_hs_order_task, start, end, account) executor.shutdown() 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 = du.getNow() end = du.get_n_days(1) 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): if start is None: start = end = du.getNow() executor = ThreadPoolExecutor(max_workers=5) accounts = get_account("阅文") if len(accounts) == 0: return else: print(f'阅文有账号{len(accounts)}个') for account in accounts: executor.submit(get_yuewen_order_task, start, end, account) executor.shutdown() def qiyueyousheng(start=None, end=None): if start is None: start = end = du.getNow() accounts = get_account("七悦有声") if len(accounts) == 0: return else: print(f'七悦有声有账号{len(accounts)}个') for account in accounts: AudioQiyue().get_order(start, end, account) def youshuge(start=None, end=None): if start is None: start = end = du.getNow() executor = ThreadPoolExecutor(max_workers=5) accounts = get_account("悠书阁") if len(accounts) == 0: return else: print(f'悠书阁有账号{len(accounts)}个') for account in accounts: executor.submit(get_youshuge_order_task, start, end, account) executor.shutdown() def hourly(): # try: # yangguang() # except: # pass huasheng() qiyue() qiyueyousheng() wending() zhangdu() zhangzhongyun() yueweng() youshuge() def daily(): st = du.get_n_days(-10) et = du.get_n_days(-1) # try: # yangguang(st, et) # except: # pass huasheng(st, et) qiyue(st, et) qiyueyousheng(st, et) wending(st, et) zhangdu(st, et) zhangzhongyun(st, et) yueweng(st, et) youshuge(st, et) def daily_yg(): st = du.get_n_days(-10) et = du.get_n_days(-1) try: yangguang(st, et) except: pass 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('2021-04-01', '2021-04-21') # youshuge() # yueweng() # huasheng() qiyue() qiyueyousheng()