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 )