外包风险评估系统:领域引擎+前端+服务端持久化与生产部署

- 确定性领域引擎(分类/评分/分级/红线/费用/裁决)+LLM(通义千问)语言理解
- 6步评估向导、服务端草稿持久化(跨设备/编辑草稿保护)
- 工作流(草稿→风控→管理层)、RBAC、报告导出、校准、客户/费率/红线/最低工资管理
- 专业图标体系替换全部emoji、看板美化
- 生产化:API_BASE可配置(同源反代)、auth密钥惰性读取修复RBAC
- 444单测+204前端测试+51 e2e
This commit is contained in:
freedakgmail
2026-06-13 01:06:39 +08:00
commit c670b9e454
404 changed files with 61820 additions and 0 deletions
@@ -0,0 +1,37 @@
/* eslint-disable */
/**
* 红线可计算触发条件:将红线绑定到某项度量(月净利率/月毛利率/客户平均逾期天数/单客户集中度),
* 配合比较运算符与阈值,使红线可在评估时自动判定命中(而非一律"待核实")。
*
* - linked_metric: 关联度量键(netMargin / grossMargin / avgOverdueDays / concentration)
* 为空表示该红线仍需人工核实(合规/资质类红线)。
* - compare_op: 比较运算符(>=, <=, >, <)。
* - threshold: 阈值;百分比类度量(净利率/毛利率/集中度)按百分数填写(如 0 表示 0%、5 表示 5%)
* 逾期天数按天填写。
*/
exports.up = (pgm) => {
pgm.sql(`
ALTER TABLE redline_rules ADD COLUMN IF NOT EXISTS linked_metric TEXT;
ALTER TABLE redline_rules ADD COLUMN IF NOT EXISTS compare_op TEXT;
ALTER TABLE redline_rules ADD COLUMN IF NOT EXISTS threshold DOUBLE PRECISION;
`);
// 为内置数值型红线预置可计算条件(仅当字段为空时设置,避免覆盖人工配置)。
pgm.sql(`
UPDATE redline_rules SET linked_metric='netMargin', compare_op='<', threshold=0
WHERE id='negative-margin-3m' AND linked_metric IS NULL;
UPDATE redline_rules SET linked_metric='avgOverdueDays', compare_op='>', threshold=90
WHERE id='overdue-90days' AND linked_metric IS NULL;
UPDATE redline_rules SET linked_metric='concentration', compare_op='>', threshold=50
WHERE id='concentration-50pct' AND linked_metric IS NULL;
`);
};
exports.down = (pgm) => {
pgm.sql(`
ALTER TABLE redline_rules DROP COLUMN IF EXISTS linked_metric;
ALTER TABLE redline_rules DROP COLUMN IF EXISTS compare_op;
ALTER TABLE redline_rules DROP COLUMN IF EXISTS threshold;
`);
};