|
|
@@ -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
|
|
|
}
|
|
|
}
|
|
|
|