yangguang.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from app.api_data.order_util import *
  2. from model.DataBaseUtils import MysqlUtils
  3. from model.DingTalkUtils import DingTalkDecorators,DingTalkUtils
  4. db = MysqlUtils()
  5. @DingTalkDecorators("阳光")
  6. def yangguang(start=None, end=None):
  7. if start:
  8. start = start + ' 00:00:00'
  9. end = end + ' 23:59:59'
  10. else:
  11. start = du.getTodayOrYestoday() + ' 00:00:00'
  12. end = du.get_n_hours_ago(0)
  13. client_id = 10008097
  14. token = '2xa1d55tTPBjeEA8Ho'
  15. accounts = get_account("阳光")
  16. if accounts.__len__() == 0:
  17. return
  18. else:
  19. print(f"阳光账号数:{accounts.__len__()}")
  20. for i in accounts:
  21. stage = i[0]
  22. vip_id = i[1]
  23. print(vip_id)
  24. get_yg_vip_channel(stage, vip_id, client_id, token)
  25. get_yg_data(stage, vip_id, client_id, token, start, end)
  26. x = 1
  27. while True:
  28. a = db.quchen_text.getOne("select count(1) from yangguang_path where update_time is null")
  29. print(f" vip 待处理数量 {a} 正在等待数据回调")
  30. if a == 0:
  31. break
  32. time.sleep(60)
  33. x += 1
  34. if x > 10:
  35. DingTalkUtils.send('阳光订单回调延时10min', '18860455786')
  36. break
  37. for i in accounts:
  38. vip_id = i[1]
  39. stage = i[0]
  40. parse_yg_data(vip_id, stage)
  41. def get_account(plactform, id=None):
  42. op = f" and id={id} " if id else ''
  43. data = db.quchen_text.getData(f"select text from order_account_text where platform='{plactform}' {op}")
  44. new_data = []
  45. for i in data:
  46. new_data.append(i[0].replace('\n', '').split(","))
  47. return new_data
  48. def daily_yg():
  49. st = du.get_n_days(-10)
  50. et = du.get_n_days(-1)
  51. yangguang(st, et)
  52. if __name__ == '__main__':
  53. yangguang()