feat: 查询结果中添加海关标准描述
This commit is contained in:
parent
92a57fa5d0
commit
413a34f99d
34
api/code.py
34
api/code.py
@ -16,6 +16,7 @@ from typing import Optional
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from elasticsearch.helpers import async_bulk
|
from elasticsearch.helpers import async_bulk
|
||||||
from fastapi import APIRouter, Depends, Path, Request, Query
|
from fastapi import APIRouter, Depends, Path, Request, Query
|
||||||
|
from fastapi.encoders import jsonable_encoder
|
||||||
from fastapi.responses import JSONResponse, FileResponse
|
from fastapi.responses import JSONResponse, FileResponse
|
||||||
from tortoise.transactions import in_transaction
|
from tortoise.transactions import in_transaction
|
||||||
|
|
||||||
@ -56,7 +57,7 @@ async def get_upload_template(request: Request, type: str = Path(description="
|
|||||||
raise ServiceException(message="文件不存在!")
|
raise ServiceException(message="文件不存在!")
|
||||||
return FileResponse(
|
return FileResponse(
|
||||||
path=template_path,
|
path=template_path,
|
||||||
filename=f"上传模版.{type}",
|
filename=f"UploadTemplate.{type}",
|
||||||
media_type=media_type
|
media_type=media_type
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -78,7 +79,7 @@ async def get_query_template(request: Request, type: str = Path(description="文
|
|||||||
}.get(type)
|
}.get(type)
|
||||||
return FileResponse(
|
return FileResponse(
|
||||||
path=template_path,
|
path=template_path,
|
||||||
filename=f"查询模版.{type}",
|
filename=f"QueryTemplate.{type}",
|
||||||
media_type=media_type
|
media_type=media_type
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -398,6 +399,13 @@ async def get_code_list(
|
|||||||
}
|
}
|
||||||
for hit in hits
|
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({
|
data_list.append({
|
||||||
"id": uuid.uuid4().__str__(),
|
"id": uuid.uuid4().__str__(),
|
||||||
"query_text": desc,
|
"query_text": desc,
|
||||||
@ -547,6 +555,13 @@ async def get_code_list(
|
|||||||
}
|
}
|
||||||
for hit in hits
|
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({
|
data_list.append({
|
||||||
"id": uuid.uuid4().__str__(),
|
"id": uuid.uuid4().__str__(),
|
||||||
"query_text": desc,
|
"query_text": desc,
|
||||||
@ -1310,9 +1325,7 @@ async def code_import_audit_all(request: Request, current_user: dict = Depends(L
|
|||||||
return Response.success()
|
return Response.success()
|
||||||
|
|
||||||
|
|
||||||
@codeAPI.get("/hts", response_class=JSONResponse, response_model=BaseResponse, summary="查询HTS")
|
async def get_hts(code: str) -> dict:
|
||||||
async def query_hts(request: Request, code=Query(description="编码"),
|
|
||||||
current_user: dict = Depends(LoginController.get_current_user)):
|
|
||||||
def normalize_numeric_code(code_str):
|
def normalize_numeric_code(code_str):
|
||||||
"""
|
"""
|
||||||
处理编码字符串:
|
处理编码字符串:
|
||||||
@ -1411,12 +1424,19 @@ async def query_hts(request: Request, code=Query(description="编码"),
|
|||||||
additional_duties="additional_duties",
|
additional_duties="additional_duties",
|
||||||
footnotes="footnotes",
|
footnotes="footnotes",
|
||||||
)
|
)
|
||||||
return Response.success(
|
return {
|
||||||
data={
|
|
||||||
"oneResult": oneResult,
|
"oneResult": oneResult,
|
||||||
"secondResult": secondResult,
|
"secondResult": secondResult,
|
||||||
"threeResult": threeResult,
|
"threeResult": threeResult,
|
||||||
"fourResult": fourResult,
|
"fourResult": fourResult,
|
||||||
"fiveResult": fiveResult,
|
"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=data
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user