# GET /apiv1/get_hazard_report ## 接口说明 根据隐患识别记录 ID,调用 AI 报告生成服务为指定记录生成 HTML 隐患报告,并将结果回写数据库。 ## 请求信息 | 项目 | 说明 | | ---------- | ----------------------------------------- | | 请求方式 | `GET` | | 接口路径 | `/apiv1/get_hazard_report` | | Content-Type | `application/json` | ## 请求参数 (Query String) | 参数名 | 类型 | 必填 | 说明 | | ----------------------- | ------- | ---- | ------------------------------ | | `recognition_record_id` | `int` | 是 | 隐患识别记录 ID | ## 调用示例 ```bash curl 'http://127.0.0.1:22001/apiv1/get_hazard_report?recognition_record_id=123' ``` ## 返回参数 | 字段 | 类型 | 说明 | | -------------- | -------- | --------------------------------------- | | `statusCode` | `int` | 状态码,200 表示成功 | | `msg` | `string` | 提示信息 | | `data` | `string` | 生成的隐患报告 HTML 内容 | ## 返回示例 ### 成功响应 (200) ```json { "statusCode": 200, "msg": "success", "data": "..." } ``` ### 参数缺失 (422) ```json { "statusCode": 422, "msg": "recognition_record_id 不能为空" } ``` ### 记录不存在 (404) ```json { "statusCode": 404, "msg": "记录不存在" } ``` ## 业务流程 1. 校验 `recognition_record_id` 参数是否为空 2. 查询 `recognition_record` 表中对应记录(需 `is_deleted = 0`) 3. 调用 aichat 服务的 `POST /api/v1/hazard-report/generate` 生成 HTML 报告 4. 将生成的报告回写到记录的 `ai_report` 字段 5. 返回报告 HTML ## 与后端的交互 本接口委托 `optimize_report_service.optimize_report()` 向 aichat 发起请求,传递参数如下: | 发送字段 | 来源字段 | 说明 | | ------------------- | ---------------------------- | ---------------------- | | `scene_name` | `record.title` | 场景显示名称 | | `display_labels` | `record.labels` | 检测到的关键要素标签 | | `element_hazards` | `record.description` | 要素→隐患映射描述 | | `element_risk_data` | `record.ai_summary` | 可选风险描述 |