Files
RiskAgent/方案.md
T
freedakgmail c670b9e454 外包风险评估系统:领域引擎+前端+服务端持久化与生产部署
- 确定性领域引擎(分类/评分/分级/红线/费用/裁决)+LLM(通义千问)语言理解
- 6步评估向导、服务端草稿持久化(跨设备/编辑草稿保护)
- 工作流(草稿→风控→管理层)、RBAC、报告导出、校准、客户/费率/红线/最低工资管理
- 专业图标体系替换全部emoji、看板美化
- 生产化:API_BASE可配置(同源反代)、auth密钥惰性读取修复RBAC
- 444单测+204前端测试+51 e2e
2026-06-13 01:06:39 +08:00

105 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 外包风险评估系统 — 功能增补与优化全景方案
## 已完成 ✅
### 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`
- **存储**: 本地 fsUPLOAD_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 ComposeHono + Vite + PG)一键启动 |
---
## 下一步
告诉我要做哪个(或哪几个),我直接开干。也可以说"按 P1 顺序全做",我会逐个完成并验证。