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

- 确定性领域引擎(分类/评分/分级/红线/费用/裁决)+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
+122
View File
@@ -0,0 +1,122 @@
/**
* 风险模型配置实体(Req 2, 4, 11, 14)。
*
* 三层结构:RiskModel → Dimension → Indicator → ScoringRule,外加 Redline 红线集合。
* 指标体系以结构化配置存储,Scoring_Engine 读取任意合法配置即可完成评分(配置驱动)。
*/
import type { BusinessType, Industry, RiskLevel, Weight } from './common.js';
/**
* 评分项(Scoring_Rule):定义某一 Risk_Level 的判定标准(Req 11.3)。
* 合法 Indicator 须覆盖 Risk_Level 1 至 5 全部级别。
*/
export interface ScoringRule {
/** 该评分项对应的风险等级(1 至 5)。 */
level: RiskLevel;
/** 等级标签,如"低风险"。 */
label: string;
/** 判定标准描述。 */
description: string;
}
/**
* 风险指标(IndicatorReq 11.1, 11.3)。可增删、启停、调权。
*/
export interface Indicator {
/** 指标唯一标识(在所属 Dimension 内稳定)。 */
id: string;
/** 指标名称。 */
name: string;
/** 指标权重,取值 0 至 100;同级启用项归一化后之和为 100%。 */
weight: Weight;
/** 启用状态;停用保留配置但不计分(Req 11.1, 4.4)。 */
enabled: boolean;
/** 评分规则,覆盖 Risk_Level 1-5(长度应为 5Req 11.3)。 */
scoringRules: ScoringRule[];
/** 证据要求描述:判定 Risk_Level 所需证据。 */
evidenceRequired: string;
/** 追问话术:信息缺口时向评估者提出的问题文案。 */
askPrompt: string;
}
/**
* 风险维度(Dimension,Req 11.1)。可增删、启停、调权。
*/
export interface Dimension {
/** 维度唯一标识。 */
id: string;
/** 维度名称,如"客户风险"。 */
name: string;
/** 维度权重,取值 0 至 100;同级启用项归一化后之和为 100%。 */
weight: Weight;
/** 启用状态;停用保留配置但不计分(Req 11.1, 4.4)。 */
enabled: boolean;
/** 维度下的指标集合。 */
indicators: Indicator[];
}
/**
* 红线规则(RedlineReq 6, 11.4)。命中即触发一票否决,独立于分值通道。
*/
export interface Redline {
/** 红线唯一标识(Req 11.4,标识重复非法)。 */
id: string;
/** 触发条件(独立于 Risk_Score / Risk_Grade)。 */
triggerCondition: string;
/** 一票否决后果说明。 */
consequence: string;
/** 启用状态。 */
enabled: boolean;
}
/**
* 风险模型(RiskModelReq 2.3)。Template 实例化后的运行时快照。
*/
export interface RiskModel {
/** 模型唯一标识。 */
id: string;
/** 模型名称。 */
name: string;
/** 适用业务类型。 */
businessType: BusinessType;
/** 风险维度集合。 */
dimensions: Dimension[];
/** 红线规则集合。 */
redlines: Redline[];
}
/**
* 风险模型模板(TemplateReq 2.1-2.7)。按业务类型与行业组织,支持继承。
*/
export interface Template {
/** 模板唯一标识。 */
id: string;
/** 模板名称。 */
name: string;
/** 适用业务类型。 */
businessType: BusinessType;
/** 适用行业。 */
industry: Industry;
/** 父模板标识;用于继承。环引用或继承层级 > 5 非法(Req 2.5, 2.7)。 */
parentTemplateId?: string;
/** 是否为该业务类型的默认模板(Req 2.2)。 */
isDefault: boolean;
/** 模板承载的风险模型配置(维度/指标/权重/评分规则/红线)。 */
riskModelConfig: RiskModelConfig;
}
/**
* 模板承载的风险模型配置主体。
* 与 RiskModel 结构一致,但作为可继承/可覆盖的配置存在(尚未实例化为本次评估快照)。
*/
export interface RiskModelConfig {
/** 模型名称。 */
name: string;
/** 适用业务类型。 */
businessType: BusinessType;
/** 风险维度集合。 */
dimensions: Dimension[];
/** 红线规则集合。 */
redlines: Redline[];
}