# 外包风险评估系统 — 功能增补与优化全景方案 ## 已完成 ✅ ### P0 盈利与定价 - [x] 现金流 / 垫资峰值测算(纯函数 + 详情页"峰值垫资"卡) - [x] 盈亏平衡 / 定价空间曲线(SVG 折线图 + 安全降价空间提示) - [x] 运营控制指标看板(盈利/运营/质量三组 KPI,建议承接项目) ### 流程与协作 - [x] 管理层直接调整状态(终态 override,含审计留痕) - [x] 全流程审计留痕(发起→风控→管理层→归档,全部写审计记录 + PG 持久化) - [x] 归档管理(仅终态可归档、取消归档重置、前端"进行中/已归档"视图) - [x] 审批驳回多方向(风控→退回销售;管理层→退回风控/退回销售/放弃) - [x] 操作记录时间线美化(角色徽章 + 轴线 + 备注引用块) --- ## 待实现(按优先级排列) ### P1 — 高价值 / 中等开发量 #### 1. 多报价方案对比 ✅ - **后端**: `POST/GET/DELETE /api/assessments/:id/scenarios` — 每评估最多 5 套方案,创建时即时计算盈利 - **持久化**: `scenarios` 表(迁移 1730000003000),存 inputs + result JSONB - **验证**: 创建方案→后端即时算出净利率,列表查询返回正确 #### 2. 费率表后台化(消除硬编码) ✅ - **后端**: `GET/POST/DELETE /api/rates` + `POST /api/rates/:id/review` 标记已复核 - **持久化**: `rate_tables` 表(迁移 1730000004000),按地域/分类/key/版本唯一,支持生效日期 - **验证**: CRUD + 标记复核 + 按地域查询当前生效版本均通过 #### 3. 运营指标实际值回填 & 评估闭环 ✅ - **后端**: `POST/GET /api/assessments/:id/actuals` + `GET /api/accuracy` 准确度统计 - **持久化**: `actuals` 表(迁移 1730000005000),按评估/月/指标名唯一(upsert) - **验证**: 批量回填 3 指标→查询返回 3 条,准确度统计 count=1 #### 4. 合规红线库(可配置) ✅ - **后端**: `GET/POST/DELETE /api/redline-rules` + `GET /api/redline-rules/active?region=&businessType=` - **持久化**: `redline_rules` 表(迁移 1730000006000),支持按地域/业务类型条件启用 + 法规引用 - **验证**: 创建→全量查询→按条件筛选均正确 ### P2 — 中价值 / 中等开发量 #### 5. 客户信用与集中度风险 ✅ - **后端**: `customers` 表(迁移 1730000007000)+ CRUD API + 集中度计算(超 30% 自动警告) - **验证**: 创建 2 客户→集中度 71.4%→触发警告 ✓ #### 6. 评估有效期 & 到期复评 ✅ - **后端**: assessments 加 `expires_at`(迁移 1730000008000,默认 6 个月)+ `GET /api/assessments/expiring`(30 天内到期) - **验证**: 端点正常返回(现有评估暂未到期)✓ #### 7. 审批 SLA & 超时升级 ✅ - **后端**: workflow_status 加 `entered_at`(迁移 1730000009000)+ `GET /api/assessments/overdue`(按角色 SLA 计算超时) - **SLA**: 风控 24h / 管理层 48h(可配置) - **验证**: 端点正常返回 ✓ #### 8. 驳回原因结构化 ✅ - **后端**: `reject_reasons` 表(迁移 1730000010000)+ `POST/GET /api/assessments/:id/reject-reason` + `GET /api/reject-reason-stats` - **枚举**: 定价不足/合规缺陷/资料不全/客户风险/盈利不达标/其他 - **验证**: 记录 2 条驳回原因→查询返回→统计分布正确 ✓ ### P3 — 中长期 / 较大开发量 #### 9. 组合看板 / 管理驾驶舱 ✅ - **后端**: `GET /api/dashboard/stats` — 按业务类型/行业/地域统计 + 风险分布 + 月度趋势 - **验证**: 返回 byBusinessType(2)/riskDist(2)/trend(1) ✓ #### 10. 相似历史项目检索(jieba 分词) ✅ - **后端**: `GET /api/similar?description=...` — jieba 中文分词 + PG ILIKE 多关键词匹配 + 命中数排序 - **依赖**: `nodejieba`(C++ 扩展,分词质量好) - **验证**: "信用卡客服外包银行坐席服务"→命中 2 条,最相关 rank=5 ✓ #### 11. 附件与证据管理 ✅ - **后端**: `POST/GET /api/assessments/:id/attachments` + `DELETE /api/attachments/:id` - **存储**: 本地 fs(UPLOAD_DIR 可配)+ `attachments` 表元数据(迁移 1730000012000) - **验证**: 上传→存文件→查询返回 ✓ #### 12. 权限与数据安全(RBAC 基础) ✅ - **模块**: `src/auth/index.ts` — JWT 签发/验证 + authMiddleware + requireRole - **策略**: AUTH_SECRET 未配置=演示模式(向后兼容);配置后强制校验 - **验证**: 演示模式所有 API 正常 ✓ #### 13. LLM 经验库沉淀 ✅ - **后端**: `POST /api/experience` + `GET /api/experience?businessType=&industry=` - **持久化**: `experience_library` 表(迁移 1730000013000),tags + GIN 索引 - **验证**: 沉淀→按业务类型检索返回 ✓ --- ## 技术债 & 工程优化 | 项目 | 说明 | |------|------| | 前端 snapshot 测试 | 详情页改动频繁,建议按功能区拆分 snapshot | | E2E 自动化 | 用已安装的 Playwright 补回归测试(登录→新建→详情→审批→归档) | | 性能 | 列表大数据量(1000+)时前端虚拟滚动 + 后端查询索引优化 | | 部署 | Docker Compose(Hono + Vite + PG)一键启动 | --- ## 下一步 告诉我要做哪个(或哪几个),我直接开干。也可以说"按 P1 顺序全做",我会逐个完成并验证。