| 123456789101112131415161718192021222324252627282930313233343536373839 |
- from database import MySqlDao
- from fastapi import APIRouter, status, HTTPException
- from .request_body import ReportRequest
- from core import get_logger
- logger = get_logger("api.report")
- dao = MySqlDao()
- router = APIRouter()
- @router.post("/report")
- async def report(request: ReportRequest):
- """获取推荐相关报告接口"""
- logger.info(f"Report request: cultivacation_id={request.cultivacation_id}")
- file_id_record = dao.get_report_file_id(request.cultivacation_id)
- if file_id_record.empty:
- raise HTTPException(
- status_code=status.HTTP_404_NOT_FOUND,
- detail="Reports not found"
- )
- file_id_map = {
- '卷烟信息表': file_id_record['product_info_table'].item(),
- '品规商户特征关系表': file_id_record['relation_table'].item(),
- '相似卷烟表': file_id_record['similarity_product_table'].item()
- }
- request_data = []
- for index, filename in enumerate(file_id_map):
- request_data.append(
- {
- "id": index + 1,
- "filename": filename,
- "file_id": file_id_map.get(filename)
- }
- )
- return {"code": 200, "msg": "success", "data": {"reportInfo": request_data}}
|