# 2026-06-30 上线前验收与风险模型重复 Key 修复实施记录

## 1. 修改背景

上线前总体验收时，真实页面进入项目结果总览后，浏览器控制台出现 `RiskModelSection` 的 Vue duplicate key 错误，重复 key 包括 `EXTERNAL_ABNORMAL_TRANSACTION`、`EXTERNAL_LARGE_TRANSACTION`、`EXTERNAL_SUSPICIOUS_GAMBLING`、`EXTERNAL_SUSPICIOUS_RELATION`。

## 2. 修改内容

- `RiskModelSection.vue`：
  - 员工模型卡片列表中过滤 `EXTERNAL_` 开头的外部模型。
  - 外部模型仍由 `/external-risk-models/cards` 专门接口加载。
  - 避免同一个外部模型同时出现在员工模型卡片和外部模型卡片中，消除重复 key。

## 3. 影响范围

- 仅影响结果总览中的风险模型卡片渲染。
- 不调整模型统计接口、不调整外部人员识别规则、不调整导出字段。

## 4. 验证情况

- 后端针对性单测：13 个测试类、82 个用例全部通过。
- 后端编译：`mvn -pl ccdi-project -am compile -DskipTests` 通过。
- 主应用打包：`mvn -pl ruoyi-admin -am package -DskipTests` 通过。
- 前端构建：`npm run build:prod` 通过。
- 浏览器真实页面验收：
  - 项目 `90629002` 进入结果总览成功。
  - 风险总览、外部人员预警、风险模型、涉疑交易明细可见。
  - 外部人员详情弹窗可打开，右上角关闭按钮可见，异常明细在弹窗内展示。
  - 修复后控制台 0 error、0 warning。

## 5. 遗留风险

- `ruoyi-ui/public/` 下存在 3 个随机 `.docx` 文件，会被复制进 `dist`，生产打包前必须移除或排除。
- `tongweb_62318.properties` 包含本机路径，不应进入生产提交。
