Forráskód Böngészése

封装文件上传功能

yangzeyu 9 hónapja
szülő
commit
1d0262a138
3 módosított fájl, 85 hozzáadás és 18 törlés
  1. 17 17
      api_test.py
  2. 9 1
      config/service_config.yaml
  3. 59 0
      utils/upload_file.py

+ 17 - 17
api_test.py

@@ -1,36 +1,36 @@
 import requests
 import json
 
-# url = "http://127.0.0.1:7960/brandcultivation/api/v1/recommend"
+url = "http://127.0.0.1:7960/brandcultivation/api/v1/recommend"
+payload = {
+    "city_uuid": "00000000000000000000000011445301",
+    "product_code": "440298",
+    "recall_cust_count": 500,
+    "delivery_count": 1100
+}
+headers = {'Content-Type': 'application/json'}
+
+response = requests.post(url, data=json.dumps(payload), headers=headers)
+print(response.json())
+
+# url = "http://127.0.0.1:7960/brandcultivation/api/v1/report"
 # payload = {
 #     "city_uuid": "00000000000000000000000011445301",
 #     "product_code": "440298",
-#     "recall_cust_count": 500,
-#     "delivery_count": 1100
 # }
 # headers = {'Content-Type': 'application/json'}
 
 # response = requests.post(url, data=json.dumps(payload), headers=headers)
 # print(response.json())
 
-# url = "http://127.0.0.1:7960/brandcultivation/api/v1/report"
+# url = "http://127.0.0.1:7960/brandcultivation/api/v1/eval_report"
 # payload = {
 #     "city_uuid": "00000000000000000000000011445301",
 #     "product_code": "440298",
+#     "start_time": "2025/2/10",
+#     "end_time": "2025/2/16"
 # }
 # headers = {'Content-Type': 'application/json'}
 
 # response = requests.post(url, data=json.dumps(payload), headers=headers)
-# print(response.json())
-
-url = "http://127.0.0.1:7960/brandcultivation/api/v1/eval_report"
-payload = {
-    "city_uuid": "00000000000000000000000011445301",
-    "product_code": "440298",
-    "start_time": "2025/2/10",
-    "end_time": "2025/2/16"
-}
-headers = {'Content-Type': 'application/json'}
-
-response = requests.post(url, data=json.dumps(payload), headers=headers)
-print(response.json())
+# print(response.json())

+ 9 - 1
config/service_config.yaml

@@ -1,3 +1,11 @@
 aliyun:
   upload_url: "http://file-center.jcpt:8080/file/fileUpload"
-  # upload_url: "https://10-79-117-86-8p1kxyomtjwgt3.ztna-dingtalk.com/screen/mapi/file/fileUpload"
+  # upload_url: "https://10-79-117-86-8p1kxyomtjwgt3.ztna-dingtalk.com/screen/mapi/file/fileUpload"
+
+  cookies: {
+        "expires_in": "10800000",
+        "ecp_token": "ZXlKamIyUmxJam9pTVRKbU16bGxNMlV6TkdVeE1USmpNVFkwTVdVd09HUmpOVEV4TTJSaE5tRWlMQ0p6WTI5d1pTSTZJbkJ5YjNSbFkzUmxaQ0lzSW1Oc2FXVnVkQ0k2SW1Oc2FXVnVkRjlzYjI1bmFta2lmUT09",
+        "acw_tc": "0a031e1717502370539856352e2b3bd4c277ffe39d26a06bff018dff60ea99",
+        "isg": "BDAwNyXyI9cQD__-0PkIodjTAfiCeRTD-vUtYyqmIw3d5bGP0Y0nUayWOe2F3syb",
+        "dd-ztna-token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIwNTAwMzQzMDM4MjYxNDMwOTQiLCJjb3JwSWQiOiJkaW5nYzc2YTJhMzdiMjRhODYwYTRhYzVkNjk4MDg2NGQzMzUiLCJkZXB0SWRzIjoiW1s4Mzk0NzIxNjAsODM2MjQ1MTUzLDFdXSIsInJvbGVJZHMiOiJbMjEwNDk3MDY1OF0iLCJ1bmlvbklkIjoiVXFyYTB4U0VQcWNxdFNhQTFqSzRzZ2lFaUUiLCJleHAiOjE3NTA4Mjg3ODksImlhdCI6MTc1MDIyMzk4OX0.ZR8MMaqiIszgBN5-evfpRXdy2Gmcn6Wk_U_1SQirGCek4m82cM1x8NzUqyBnIT9ApB5MJk_-aD5Q1e1LM74-3GkHNRDH9GxX4mN9flLdrjL0YzJDdOWAktZBatWPW7sW4rmq_yNC0fDJZ4j8N6ZObzo4Hvj08f7wCxqWrawrttgGoEYIBcKbMJBWyj0RBSOQdCfK3NS_-6AuTdc6reAircpd9l7SgJ-ln1lcOFImjr1x4NQz7yOy3GcvY3DGtkG6ZRz5kwsajLlxOr0At_xWHFxqdV8V_WIJNV1y725cd8WGoqyZPA9xTQnPvRtyCbud8DDZ3oojohNeV9sNW5BFtA"
+    }

+ 59 - 0
utils/upload_file.py

@@ -0,0 +1,59 @@
+from config import load_service_config
+import os
+import requests
+
+
+class UploadFile:
+    cfgs = load_service_config()
+    base_url = cfgs["aliyun"]["upload_url"]
+    
+     # 设置请求头
+    headers = {
+        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
+        "Accept": "*/*",
+    }
+    
+    cookies = {
+        "expires_in": "10800000",
+        "ecp_token": "ZXlKamIyUmxJam9pT1dZNFltRTNOVGhrTW1WbVpUYzRaR05oWkRZME5ERTRPREU1TkRObU9EY2lMQ0p6WTI5d1pTSTZJbkJ5YjNSbFkzUmxaQ0lzSW1Oc2FXVnVkQ0k2SW1Oc2FXVnVkRjlzYjI1bmFta2lmUT09",
+        "acw_tc": "0a067c4317466919842786603e2653311180a2a4fa0fd05acb99cf0458b890",
+        "isg": "BDAwNyXyI9cQD__-0PkIodjTAfiCeRTD-vUtYyqmIw3d5bGP0Y0nUayWOe2F3syb",
+        "dd-ztna-token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIwNTAwMzQzMDM4MjYxNDMwOTQiLCJjb3JwSWQiOiJkaW5nYzc2YTJhMzdiMjRhODYwYTRhYzVkNjk4MDg2NGQzMzUiLCJkZXB0SWRzIjoiW1s4Mzk0NzIxNjAsODM2MjQ1MTUzLDFdXSIsInJvbGVJZHMiOiJbMjEwNDk3MDY1OF0iLCJ1bmlvbklkIjoiVXFyYTB4U0VQcWNxdFNhQTFqSzRzZ2lFaUUiLCJleHAiOjE3NDcxODQ3MjksImlhdCI6MTc0NjU3OTkyOX0.dfv612-LwnIdoKL2G73gg7LYy8SBmvr3Zaan97Q5wGUbEFdWw0JUqOQQ1jdeom_Nd9FNCHlkZM32DvwyUrNnvbg1QQy2JeYEpAgysG4h0MT_OghE6-xGVQBIkg72GPTo_cvdMYG9SMfaCo5H-73zFfwMFASFoXCDoIPha6NioIskOJMmvQVsDkHtRXYh_gv0XaJxSWirDWhKC9vxPGaIwDff8doHwPdi9uO-tO9LFy9RXdyIsBXWem31rBSD3D6FmqZLZjOOZhCKMym1VenfIKC10Oa1zm8-Y8bGyMHG0LO_68AJstKYT4alJoBVDHXpMp3zvSXXQB6da_fIthQD4A"
+    }
+    
+    @staticmethod
+    def upload_files(reports_dir, files):
+        files_id = {}
+        for filename in files:
+            file_path = os.path.join(reports_dir, f'{filename}.xlsx')
+            
+            try:
+                with open(file_path, 'rb') as f:
+                    files = {'file': (os.path.basename(file_path), f)}
+
+                    response = requests.post(
+                        UploadFile.base_url,
+                        headers=UploadFile.headers,
+                        files=files,
+                        cookies=UploadFile.cookies,
+                        verify=True
+                    )
+                    
+                    if response.json()["success"]:
+                        file_id = response.json["data"]["file_info"]["fileid"]
+                        files_id[filename] = file_id
+            except requests.exceptions.RequestException as e:
+                print("请求出错:", e)
+            except Exception as e:
+                print("发生错误:", e)
+    
+if __name__ == '__main__':
+    # print(UploadFile.cfgs["aliyun"]["cookies"])
+    report_dir = './data/reports/00000000000000000000000011445301/440298'
+    files = [
+        '卷烟信息表',
+        '品规商户特征关系表',
+        '相似卷烟表',
+        '商户售卖推荐表'
+    ]
+    UploadFile.upload_files(report_dir, files)