# 一级大纲API使用示例 ## 创建一级大纲 ### 请求示例 ```json POST /api/v1/outlines/level1 Content-Type: application/json { "task_id": "demo-l1-s2-001", "tenant_id": "demo-tenant", "report_type": "项目融资", "agreement_amount": "35", "enterprise_type": "单一企业", "group_business_segments": [], "industry_type": "制造业", "has_independent_report": true, "independent_report_types": ["企业调查报告", "财务分析报告"], "candidate_financing_tools": ["流动资金贷款"], "recommended_financing_tools": ["流动资金贷款"], "other_requirements": "主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。", "chapter_candidates": [ { "chapter_id": "pf-l1-01", "chapter_name": "企业基本情况分析", "importance_no_report": "必定", "importance_with_report": "低", "applicable_condition": "无独立报告时必选;有独立报告时主报告可不单独呈现本一级章", "knowledge_boundary_description": "若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章" }, { "chapter_id": "pf-l1-02", "chapter_name": "企业财务情况分析", "importance_no_report": "必定", "importance_with_report": "低", "applicable_condition": "无独立报告时必选;有独立报告时主报告可不单独呈现本一级章", "knowledge_boundary_description": "若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复" }, { "chapter_id": "pf-l1-03", "chapter_name": "融资方案设计", "importance_no_report": "必定", "importance_with_report": "必定", "applicable_condition": "项目融资主报告核心输出,须保留为独立一级章", "knowledge_boundary_description": "综合前述结论形成可执行融资结构,不可省略" } ] } ``` ### 响应示例 ```json { "code": 0, "message": "操作成功", "data": { "task_id": "demo-l1-s2-001", "tenant_id": "demo-tenant", "report_type": "项目融资", "agreement_amount": "35", "enterprise_type": "单一企业", "group_business_segments": [], "industry_type": "制造业", "has_independent_report": true, "independent_report_types": ["企业调查报告", "财务分析报告"], "candidate_financing_tools": ["流动资金贷款"], "recommended_financing_tools": ["流动资金贷款"], "other_requirements": "主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。", "chapter_candidates": [ { "chapter_id": "pf-l1-01", "chapter_name": "企业基本情况分析", "importance_no_report": "必定", "importance_with_report": "低", "applicable_condition": "无独立报告时必选;有独立报告时主报告可不单独呈现本一级章", "knowledge_boundary_description": "若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章", "selected": true }, { "chapter_id": "pf-l1-02", "chapter_name": "企业财务情况分析", "importance_no_report": "必定", "importancekt_with_report": "低", "applicable_condition": "无独立报告时必选;有独立报告时主报告可不单独呈现本一级章", "knowledge_boundary_description": "若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复", "selected": true }, { "chapter_id": "pf-l1-03", "chapter_name": "融资方案设计", "importance_no_report": "必定", "importance_with_report": "必定", "applicable_condition": "项目融资主报告核心输出,须保留为独立一级章", "knowledge_boundary_description": "综合前述结论形成可执行融资结构,不可省略", "selected": true } ], "outline_id": "550e8400-0000-0000-0000-000000000000", "confirmed": false, "confirmer_id": null, "confirmer_name": null, "confirm_time": null, "version": 1, "create_time": "2026-04-03T10:30:00", "update_time": "2026-04-03T10:30:00" } } ``` ## 获取一级大纲详情 ### 请求示例 ``` GET /api/v1/outlines/level1/{outline_id} ``` ### 响应示例 ```json { "code": 0, "message": "操作成功", "data": { // 同上创建响应 } } ``` ## 更新一级大纲 ### 请求示例 ```json PUT /api/v1/outlines/level1/{outline_id} Content-Type: application/json { // 同创建请求结构 "task_id": "demo-l1-s2-001", "tenant_id": "demo-tenant", "report_type": "项目融资", // ... 其他字段 "chapter_candidates": [ { // 可以修改selected状态或其他属性 "chapter_id": "pf-l1-01", "chapter_name": "企业基本情况分析", "selected": false // 取消选中 }, // ... ] } ``` ## 确认一级大纲 ### 请求示例 ``` POST /api/v1/outlines/level1/{outline_id}/confirm ``` ### 响应示例 ```json { "code": 0, "message": "操作成功", "data": { // 同创建响应结构,confirmed为true "confirmed": true, "confirmer_id": "user123", "confirmer_name": "张三", "confirm_time": "2026-04-03T11:00:00" } } ``` ## 数据结构说明 ### Level1OutlineRequest | 字段名 | 类型 | 必填 | 说明 | |--------|------|--------|------| | task_id | String | 是 | 任务ID | | tenant_id | String | 是 | 租户ID | | report_type | String | 是 | 报告类型 | | agreement_amount | String | 否 | 授信金额 | | enterprise_type | String | 否 | 企业类型 | | group_business_segments | List | 否 | 集团业务板块列表 | | industry_type | String | 否 | 行业类型 | | has_independent_report | Boolean | 否 | 是否有独立报告 | | independent_report_types | List | 否 | 独立报告类型列表 | | candidate_financing_tools | List | 否 | 候选融资工具列表 | | recommended_financing_tools | List | 否 | 推荐融资工具列表 | | other_requirements | String | 否 | 其他要求 | | chapter_candidates | List | 否 | 章节候选项列表 | ### ChapterCandidate | 字段名 | 类型 | 必填 | 说明 | |--------|------|--------|------| | chapter_id | String | 否 | 章节ID | | chapter_name | String | 是 | 章节名称 | | importance_no_report | String | 否 | 无独立报告时的重要性 | | importance_with_report | String | 否 | 有独立报告时的重要性 | | applicable_condition | String | 否 | 适用条件 | | knowledge_boundary_description | String | 否 | 知识边界说明 | ## 数据库变更 ### 新增字段 在 `finrep_outline` 表中新增以下字段: ```sql ALTER TABLE finrep_outline ADD COLUMN report_type VARCHAR(64) COMMENT '报告类型' AFTER writing_logic, ADD COLUMN raw_request JSON COMMENT '一级大纲原始请求内容' AFTER report_type; ``` ### 对应实体类 在 `OutlineEntity` 中新增字段: ```java /** * 报告类型 */ @TableField("report_type") private String reportType; /** * 一级大纲原始请求内容 */ @TableField("raw_request") private String rawRequest; ``` 在 `Outline` 领域模型中新增字段: ```java /** * 报告类型 */ private String reportType; /** * 一级大纲原始请求内容(JSON) */ private String rawRequest; ```