|
@@ -1,15 +1,19 @@
|
|
import datetime
|
|
import datetime
|
|
import logging
|
|
import logging
|
|
|
|
+import os
|
|
import traceback
|
|
import traceback
|
|
-
|
|
|
|
import requests
|
|
import requests
|
|
-from flask import json # To read json data
|
|
|
|
|
|
+from flask import json, jsonify # To read json data
|
|
from flask import request # To receive headers
|
|
from flask import request # To receive headers
|
|
from flask import Flask # To be able to start the application
|
|
from flask import Flask # To be able to start the application
|
|
|
|
+from werkzeug.utils import secure_filename
|
|
|
|
+
|
|
from Apietl.constant.ConfConstant import ConfConstant
|
|
from Apietl.constant.ConfConstant import ConfConstant
|
|
from Apietl.kwai_etl.report.AccountReport import AccountReport
|
|
from Apietl.kwai_etl.report.AccountReport import AccountReport
|
|
|
|
|
|
from Apietl.bytedance_etl.report.AdvertiserReport import AdvertiserReport
|
|
from Apietl.bytedance_etl.report.AdvertiserReport import AdvertiserReport
|
|
|
|
+from Apietl.utlis.EtlFirstDeliveryValidMaterials import EtlFirstDeliveryValidMaterials
|
|
|
|
+from Apietl.utlis.UpLoadFile import UpLoadFile
|
|
|
|
|
|
app = Flask(__name__)
|
|
app = Flask(__name__)
|
|
|
|
|
|
@@ -43,5 +47,51 @@ def api_webhook_bytedance_messages():
|
|
return '200'
|
|
return '200'
|
|
|
|
|
|
|
|
|
|
|
|
+@app.route('/webhook/get_file', methods=['POST'])
|
|
|
|
+def api_webhook_get_file():
|
|
|
|
+ payload = {}
|
|
|
|
+ headers = {
|
|
|
|
+ 'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
|
|
|
|
+ 'Accept': '*/*',
|
|
|
|
+ 'Host': 'api.tjyourong.com.cn',
|
|
|
|
+ 'Connection': 'keep-alive'
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if 'file' not in request.files:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
|
|
|
|
+ response = requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ print(response.text, 'error1')
|
|
|
|
+ return '200'
|
|
|
|
+ file = request.files['file']
|
|
|
|
+ if file.filename == '':
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
|
|
|
|
+ response = requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ print(response.text, 'error2')
|
|
|
|
+ return '200'
|
|
|
|
+ try:
|
|
|
|
+ file.save('/home/excel/' + 'upload.csv')
|
|
|
|
+ status = UpLoadFile.uploadFile('upload.csv')
|
|
|
|
+ if status == 0:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='success')
|
|
|
|
+ requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ else:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
|
|
|
|
+ requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ material_status = EtlFirstDeliveryValidMaterials().handler()
|
|
|
|
+ if material_status == 0:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='success')
|
|
|
|
+ requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ else:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
|
|
|
|
+ requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ os.remove('/data/excel/' + 'upload.csv')
|
|
|
|
+ return '200'
|
|
|
|
+ except Exception as e:
|
|
|
|
+ url = "http://api.tjyourong.com.cn/jeecg-boot/first/delivery/excelCallBack?msg={msg}".format(msg='error')
|
|
|
|
+ response = requests.request("GET", url, headers=headers, data=payload)
|
|
|
|
+ print(response.text, 'error3')
|
|
|
|
+ return '200'
|
|
|
|
+
|
|
|
|
+
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
app.run(port=8765, host=ConfConstant.URL, debug=True)
|
|
app.run(port=8765, host=ConfConstant.URL, debug=True)
|