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

5.2 KiB
Raw Permalink Blame History

外包风险评估系统 — 功能增补与优化全景方案

已完成

P0 盈利与定价

  • 现金流 / 垫资峰值测算(纯函数 + 详情页"峰值垫资"卡)
  • 盈亏平衡 / 定价空间曲线(SVG 折线图 + 安全降价空间提示)
  • 运营控制指标看板(盈利/运营/质量三组 KPI,建议承接项目)

流程与协作

  • 管理层直接调整状态(终态 override,含审计留痕)
  • 全流程审计留痕(发起→风控→管理层→归档,全部写审计记录 + PG 持久化)
  • 归档管理(仅终态可归档、取消归档重置、前端"进行中/已归档"视图)
  • 审批驳回多方向(风控→退回销售;管理层→退回风控/退回销售/放弃)
  • 操作记录时间线美化(角色徽章 + 轴线 + 备注引用块)

待实现(按优先级排列)

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/expiring30 天内到期)
  • 验证: 端点正常返回(现有评估暂未到期)✓

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 多关键词匹配 + 命中数排序
  • 依赖: nodejiebaC++ 扩展,分词质量好)
  • 验证: "信用卡客服外包银行坐席服务"→命中 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 顺序全做",我会逐个完成并验证。