2026-01-11 07:48:19 +08:00

60 lines
1.9 KiB
Python

"""
数据资产盘点报告生成服务路由
包含以下接口:
1. /api/v1/delivery/generate-report - 完整报告生成接口
"""
from fastapi import APIRouter
from app.core.response import success_response, APIResponse
from app.schemas.delivery import (
GenerateReportRequest,
GenerateReportResponse,
)
from app.services.report_generation_service import ReportGenerationService
from app.utils.logger import logger
router = APIRouter(prefix="/delivery", tags=["报告生成"])
@router.post(
"/generate-report",
response_model=APIResponse[GenerateReportResponse],
summary="完整报告生成接口",
description="基于数据盘点结果、背景调研信息和价值挖掘场景,使用大模型生成完整的数据资产盘点工作总结报告"
)
async def generate_report(request: GenerateReportRequest):
"""
完整报告生成接口
使用大模型技术生成包含四个章节的完整报告:
- 章节一:企业数字化情况简介
- 章节二:数据资源统计
- 章节三:数据资产情况盘点
- 章节四:专家建议与下一步计划
Args:
request: 报告生成请求,包含项目信息、盘点结果、背景信息、价值数据等
Returns:
生成的完整报告数据
"""
logger.info(
f"收到报告生成请求 - 项目: {request.project_info.project_name}, "
f"资产数: {len(request.inventory_data.identified_assets)}"
)
try:
# 调用服务生成报告
result = await ReportGenerationService.generate(request)
# 返回成功响应
return success_response(
data=result,
message="报告生成成功"
)
except Exception as e:
# 异常已在全局异常处理器中处理
logger.exception(f"报告生成接口处理失败: {str(e)}")
raise