# 异常账户模型接入银行流水打标前端实施记录

**日期**: 2026-03-31  
**类型**: 前端实施记录  
**范围**: 银行流水打标 - 异常账户模型

## 1. 前端承接点核查

### 1.1 核查命令

```bash
rg -n "异常账户人员信息|异常标签|风险模型|hitRules|modelCode" ruoyi-ui/src/views/ccdiProject -S
```

### 1.2 核查结论

- 风险模型区域由 `RiskModelSection.vue` 直接消费后端返回的 `cardList` 与命中标签列表
- 风险总览人员区域由 `PreliminaryCheck.vue` 统一加载项目总览接口，再传递给 `RiskPeopleSection.vue`
- 风险详情中的“异常账户人员信息”区域仍由 `RiskDetailSection.vue` 渲染 `sectionData.abnormalAccountList || []`
- `createOverviewLoadedData` 当前固定把 `abnormalAccountList` 置为空数组，说明本轮前端仍处于占位承接状态

## 2. 零代码改动边界

- 本轮前端不新增页面、按钮、弹窗、路由或独立 API 封装
- 前端当前已具备通用模型卡片展示和对象型命中标签展示能力
- 异常账户模型接入后，只要后端项目总览接口返回新增模型与规则，现有页面即可承接
- “异常账户人员信息”区域本轮仍保持占位，不提前扩展详情链路

## 3. 接口联调验证

### 3.1 风险模型区域

- 调用接口：`GET /ccdi/project/overview/risk-models/cards?projectId=90331`
- 验证结果：
  - 返回模型 `ABNORMAL_ACCOUNT`
  - `modelName = 异常账户`
  - `warningCount = 2`
  - `peopleCount = 2`

### 3.2 风险总览人员区域

- 调用接口：`GET /ccdi/project/overview/risk-people?projectId=90331&pageNum=1&pageSize=10`
- 验证结果：
  - 员工 A `330101199001010001` 返回命中标签 `SUDDEN_ACCOUNT_CLOSURE / 突然销户`
  - 员工 B `330101199001010002` 返回命中标签 `DORMANT_ACCOUNT_LARGE_ACTIVATION / 休眠账户大额启用`
- 说明现有总览人员列表已能直接展示异常账户模型命中规则

### 3.3 风险详情占位区域

- `RiskDetailSection.vue` 仍以 `sectionData.abnormalAccountList || []` 渲染“异常账户人员信息”
- `preliminaryCheck.mock.js` 中 `createOverviewLoadedData` 仍固定返回 `abnormalAccountList: []`
- 本轮接口联调未发现该占位区域因异常账户模型接入而报错

## 4. 构建回归结果

- 执行命令：

```bash
cd ruoyi-ui
npm run build:prod
```

- 执行结果：
  - 构建成功，`Build complete`
  - 仅存在仓库既有的前端产物体积告警，无新增编译错误

## 5. 实施结论

- 本轮前端保持零代码改动
- 无需新增前端接口或页面，原因是现有页面已直接消费后端聚合结果
- 本轮未启动 `npm run dev`，因此不存在需额外关闭的前端本地进程
- 前端实施产出仅新增本实施记录文档，用于沉淀影响面核查、接口联调和构建验证结论
