From 413a34f99dacc3e5b387085975e653c0132b62a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9A=93=E6=9C=88=E5=BD=92=E5=B0=98?= Date: Mon, 21 Apr 2025 03:12:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E6=B5=B7=E5=85=B3=E6=A0=87=E5=87=86?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/code.py | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/api/code.py b/api/code.py index 05b7071..4c00b4e 100644 --- a/api/code.py +++ b/api/code.py @@ -16,6 +16,7 @@ from typing import Optional import pandas as pd from elasticsearch.helpers import async_bulk from fastapi import APIRouter, Depends, Path, Request, Query +from fastapi.encoders import jsonable_encoder from fastapi.responses import JSONResponse, FileResponse from tortoise.transactions import in_transaction @@ -56,7 +57,7 @@ async def get_upload_template(request: Request, type: str = Path(description=" raise ServiceException(message="文件不存在!") return FileResponse( path=template_path, - filename=f"上传模版.{type}", + filename=f"UploadTemplate.{type}", media_type=media_type ) @@ -78,7 +79,7 @@ async def get_query_template(request: Request, type: str = Path(description="文 }.get(type) return FileResponse( path=template_path, - filename=f"查询模版.{type}", + filename=f"QueryTemplate.{type}", media_type=media_type ) @@ -398,6 +399,13 @@ async def get_code_list( } for hit in hits ] + if matches: + # 先只查询匹配率最高的,后续需要再加上其余四个查询,5个查询耗时过长 + data = await get_hts(matches[0]["code"]) + if data: + matches[0]["hts_data"] = jsonable_encoder(data) + else: + matches[0]["hts_text"] = None data_list.append({ "id": uuid.uuid4().__str__(), "query_text": desc, @@ -547,6 +555,13 @@ async def get_code_list( } for hit in hits ] + if matches: + # 先只查询匹配率最高的,后续需要再加上其余四个查询,5个查询耗时过长 + data = await get_hts(matches[0]["code"]) + if data: + matches[0]["hts_data"] = jsonable_encoder(data) + else: + matches[0]["hts_text"] = None data_list.append({ "id": uuid.uuid4().__str__(), "query_text": desc, @@ -1310,9 +1325,7 @@ async def code_import_audit_all(request: Request, current_user: dict = Depends(L return Response.success() -@codeAPI.get("/hts", response_class=JSONResponse, response_model=BaseResponse, summary="查询HTS") -async def query_hts(request: Request, code=Query(description="编码"), - current_user: dict = Depends(LoginController.get_current_user)): +async def get_hts(code: str) -> dict: def normalize_numeric_code(code_str): """ 处理编码字符串: @@ -1411,12 +1424,19 @@ async def query_hts(request: Request, code=Query(description="编码"), additional_duties="additional_duties", footnotes="footnotes", ) + return { + "oneResult": oneResult, + "secondResult": secondResult, + "threeResult": threeResult, + "fourResult": fourResult, + "fiveResult": fiveResult, + } + + +@codeAPI.get("/hts", response_class=JSONResponse, response_model=BaseResponse, summary="查询HTS") +async def query_hts(request: Request, code=Query(description="编码"), + current_user: dict = Depends(LoginController.get_current_user)): + data = await get_hts(code=code) return Response.success( - data={ - "oneResult": oneResult, - "secondResult": secondResult, - "threeResult": threeResult, - "fourResult": fourResult, - "fiveResult": fiveResult, - } + data=data )