浏览代码

增加字段缺失判定

yangzeyu 10 月之前
父节点
当前提交
b3e4773b9b
共有 2 个文件被更改,包括 15 次插入1 次删除
  1. 1 1
      api_test.py
  2. 14 0
      utils/api_service.py

+ 1 - 1
api_test.py

@@ -38,7 +38,7 @@ import json
 url = "http://172.18.1.189:7860/brandanalysis/api/v1/infringe_judgement"
 url_data = {
     'title': '李宇休闲短裤女士运动潮流系列夏季女装裤子梭织运动裤',
-    'brand_name': '李宇',
+    'brand_name': None,
     'product_images': [
         'http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/0902/118/27466cf6-fb28-4580-9009-95a3763e06bf.jpg',
         'http://h2.appsimg.com/a.appsimg.com/upload/merchandise/pdcvis/613214/2024/1120/169/8ca15632-9cb9-40e7-8915-e6773e17a05e.jpg'  

+ 14 - 0
utils/api_service.py

@@ -29,6 +29,8 @@ class ApiService:
     @staticmethod
     def similarity_logo_judgement(url_data, basic_data):
         """近似商标侵权判定"""
+        if url_data['title'] == None or url_data['brand_name'] == None or basic_data['similarity_logos'] == None or len(basic_data['similarity_logos']) == 0:
+            return '信息不全,无法判断'
         for similarity_logo in basic_data['similarity_logos']:
             if similarity_logo in url_data['title'] or similarity_logo in url_data['brand_name']:
                 return True
@@ -42,6 +44,8 @@ class ApiService:
     @staticmethod
     def logo_1to1_judgement(url_data, basic_data):
         """商标一比一侵权"""
+        if basic_data['base_price'] == None or basic_data['price_percent'] == None or url_data['title'] == None or basic_data['product_name'] == None:
+            return '信息不全,无法判定'
         # 首先计算基础价格百分比
         base_price = basic_data['base_price'] * basic_data['price_percent']
 
@@ -52,6 +56,8 @@ class ApiService:
             else:
                 return False
         else:
+            if url_data['product_images'] == None or len(url_data['product_images']) == 0 or basic_data['product_images'] == None or len(basic_data['product_images']) == 0:
+                return '信息不全,无法判定'
             for image_url1 in url_data['product_images']:
                 for image_url2 in basic_data['product_images']:
                     similarity_product_judgement = json.loads(ApiService.agent.product_image_similarity_judgement(image_url1, image_url2))
@@ -66,6 +72,8 @@ class ApiService:
     @staticmethod
     def low_price_judgement(url_data, basic_data):
         """低价判断"""
+        if url_data['price'] == None or basic_data['base_price'] == None:
+            return '价格信息缺失,无法判定'
         if url_data['title'] == basic_data['product_name']:
             if url_data['price'] < basic_data['base_price']:
                 return True
@@ -73,6 +81,8 @@ class ApiService:
                 return False
         else:
             # 进行图像判定
+            if url_data['product_images'] == None or len(url_data['product_images']) == 0 or basic_data['product_images'] == None or len(basic_data['product_images']) == 0:
+                return '信息不全,无法判定'
             for image_url1 in url_data['product_images']:
                 for image_url2 in basic_data['product_images']:
                     similarity_product_judgement = json.loads(ApiService.agent.product_image_similarity_judgement(image_url1, image_url2))
@@ -94,7 +104,11 @@ class ApiService:
     @staticmethod
     def license_judgement(url_data, basic_data):
         """未生产产品判断"""
+        if basic_data['brand_name'] == None:
+            return '信息不全,无法判定'
         license_list = ApiService.get_license_list(basic_data['brand_name'])
+        if len(license_list) == 0:
+            return '授权列表空,无法判定'
         result = ApiService.agent.license_product_judgement(url_data['title'], license_list)
         return result