webHook.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import datetime
  2. import logging
  3. import os
  4. import traceback
  5. import requests
  6. from flask import json, jsonify # To read json data
  7. from flask import request # To receive headers
  8. from flask import Flask # To be able to start the application
  9. from Apietl.adq.adq_advertiser_report import AdqAdvertiserReport
  10. from Apietl.constant.ConfConstant import ConfConstant
  11. from Apietl.kwai_etl.report.AccountReport import AccountReport
  12. from Apietl.bytedance_etl.report.AdvertiserReport import AdvertiserReport
  13. app = Flask(__name__)
  14. @app.route('/')
  15. def api_root():
  16. return 'Welcome guys'
  17. @app.route('/webhook/account_report', methods=['POST'])
  18. def api_webhook_messages():
  19. print(json.loads(request.data))
  20. my_info = json.loads(request.data)
  21. account_id = my_info["account_id"]
  22. start_date = my_info["start_date"]
  23. end_date = my_info["end_date"]
  24. date_type = my_info["date_type"]
  25. AccountReport().handler(date_type, account_id, start_date, end_date)
  26. return '200'
  27. @app.route('/webhook/bytedance_account_report', methods=['POST'])
  28. def api_webhook_bytedance_messages():
  29. print(json.loads(request.data))
  30. my_info = json.loads(request.data)
  31. account_id = my_info["advertiser_id"]
  32. start_date = my_info["start_date"]
  33. end_date = my_info["end_date"]
  34. date_type = my_info["date_type"]
  35. AdvertiserReport().handler(date_type, account_id, start_date, end_date)
  36. return '200'
  37. @app.route('/webhook/adq_advertiser_report', methods=['POST'])
  38. def api_webhook_adq_messages():
  39. print(json.loads(request.data))
  40. my_info = json.loads(request.data)
  41. account_id = my_info["account_id"]
  42. start_date = my_info["start_date"]
  43. end_date = my_info["end_date"]
  44. date_type = my_info["date_type"]
  45. AdqAdvertiserReport().handler(date_type, account_id, start_date, end_date)
  46. return '200'
  47. # @app.route('/webhook/get_file', methods=['POST'])
  48. # def api_webhook_get_file():
  49. # payload = {}
  50. # headers = {
  51. # 'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
  52. # 'Accept': '*/*',
  53. # 'Host': 'api.tjyourong.com.cn',
  54. # 'Connection': 'keep-alive'
  55. # }
  56. #
  57. # if 'file' not in request.files:
  58. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
  59. # response = requests.request("GET", url, headers=headers, data=payload)
  60. # print(response.text, 'error1')
  61. # return '200'
  62. # file = request.files['file']
  63. # if file.filename == '':
  64. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
  65. # response = requests.request("GET", url, headers=headers, data=payload)
  66. # print(response.text, 'error2')
  67. # return '200'
  68. # try:
  69. # file.save('/home/excel/' + 'upload.csv')
  70. # status = UpLoadFile.uploadFile('upload.csv')
  71. # if status == 0:
  72. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='success')
  73. # requests.request("GET", url, headers=headers, data=payload)
  74. # else:
  75. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
  76. # requests.request("GET", url, headers=headers, data=payload)
  77. # material_status = EtlFirstDeliveryValidMaterials().handler()
  78. # if material_status == 0:
  79. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='success')
  80. # requests.request("GET", url, headers=headers, data=payload)
  81. # else:
  82. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
  83. # requests.request("GET", url, headers=headers, data=payload)
  84. # os.remove('/data/excel/' + 'upload.csv')
  85. # return '200'
  86. # except Exception as e:
  87. # url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
  88. # response = requests.request("GET", url, headers=headers, data=payload)
  89. # print(response.text, 'error3')
  90. # return '200'
  91. if __name__ == '__main__':
  92. app.run(port=8765, host=ConfConstant.URL, debug=True)