Sfoglia il codice sorgente

修改传参类型

Sherlock1011 10 mesi fa
parent
commit
5c81df7e64
2 ha cambiato i file con 41 aggiunte e 27 eliminazioni
  1. 36 23
      api.py
  2. 5 4
      api_test.py

+ 36 - 23
api.py

@@ -38,8 +38,17 @@ class LogoRequest(BaseModel):
     image_url: str                              # 图片链接 
     
 class JudgementRequest(BaseModel):
-    url_data: str
-    basic_data: str
+    url_data: dict
+    basic_data: dict
+    judgement_type: list
+    
+judge_type_map = {
+    '1': 'is_keyword',                      # 关键词引流
+    '2': 'is_similarity_logo',              # 近似商标
+    '3': 'is_brand_1to1',                   # 商标一比一侵权
+    '4': 'is_low_price',                    # 低价
+    '5': 'is_in_authorize_sale_list'        # 未生成产品
+}
     
 @app.post("/brandanalysis/api/v1/keyword")
 async def brand_key_word_judgement(request: KeyWordRequest):
@@ -73,32 +82,36 @@ async def logo_judgement(request: LogoRequest):
 @app.post("/brandanalysis/api/v1/infringe_judgement")
 async def infringe_judgement(request: JudgementRequest):
     """侵权判定全流程接口"""
-    # 先解析链接和基础数据
-    url_data = json.loads(request.url_data)
-    basic_data = json.loads(request.basic_data)
-    
-    # 关键词引流判断
-    is_keyword = ApiService.keyword_judgement(url_data, basic_data)
-    # 近似商标侵权判断
-    is_similarity_logo = ApiService.similarity_logo_judgement(url_data, basic_data)
-    # 商标1比1侵权判断
-    is_brand_1to1 = ApiService.logo_1to1_judgement(url_data, basic_data)
-    # 低价判断
-    is_low_price = ApiService.low_price_judgement(url_data, basic_data)
-    # 授权商品判断
-    is_in_authorize_sale_list = ApiService.license_judgement(url_data, basic_data)
+    judgement_result = {}
+    for type in request.judgement_type:
+        if type == 1:
+            # 关键词引流判断
+            is_keyword = ApiService.keyword_judgement(request.url_data, request.basic_data)
+            judgement_result[judge_type_map[str(type)]] = is_keyword
+        elif type == 2:
+            # 近似商标侵权判断
+            is_similarity_logo = ApiService.similarity_logo_judgement(request.url_data, request.basic_data)
+            judgement_result[judge_type_map[str(type)]] = is_similarity_logo
+        elif type == 3:
+            # 商标1比1侵权判断
+            is_brand_1to1 = ApiService.logo_1to1_judgement(request.url_data, request.basic_data)
+            judgement_result[judge_type_map[str(type)]] = is_brand_1to1
+        elif type == 4:
+            # 低价判断
+            is_low_price = ApiService.low_price_judgement(request.url_data, request.basic_data)
+            judgement_result[judge_type_map[str(type)]] = is_low_price
+        elif type == 5:
+            # 授权商品判断
+            is_in_authorize_sale_list = ApiService.license_judgement(request.url_data, request.basic_data)
+            judgement_result[judge_type_map[str(type)]] = is_in_authorize_sale_list
+        else:
+            judgement_result[f'类型{type}'] = '未制定侵权逻辑,无法判定'
     
     return {
         'code': 200,
         'message': 'sucess',
         'data': {
-            'juedgement_result': {
-                'is_keyword': is_keyword,
-                'is_similarity_logo': is_similarity_logo,
-                'is_brand_1to1': is_brand_1to1,
-                'is_low_price': is_low_price,
-                'is_in_authorize_sale_list': is_in_authorize_sale_list,
-            }
+            'juedgement_result': judgement_result
         }
     }
 

+ 5 - 4
api_test.py

@@ -35,7 +35,7 @@ import json
 # response = requests.post(url, data=json.dumps(payload), headers=headers)
 # print(response.json())
 
-url = "http://172.18.1.189:7860/brandanalysis/api/v1/infringe_judgement"
+url = "https://670813644644357-http-7860.northwest1.gpugeek.com:8443/brandanalysis/api/v1/infringe_judgement"
 url_data = {
     'title': '李宁男子运动卫衣舒适套头圆领长袖休闲运动卫衣',
     'brand_name': '李宁',
@@ -60,10 +60,11 @@ basic_data = {
 }
 
 payload = {
-    'url_data': json.dumps(url_data),
-    'basic_data': json.dumps(basic_data)
+    'url_data': url_data,
+    'basic_data': basic_data,
+    'judgement_type': [1, 2, 3, 7]
 }
 headers = {'Content-Type': 'application/json'}
 
 response = requests.post(url, data=json.dumps(payload), headers=headers)
-print(response.json())
+print(response.json())