# 账户库双表合单表实施记录

## 1. 本次实施内容

### 1.1 单表模型收敛

- 在 `CcdiAccountInfo` 中补齐以下分析字段映射：
  - `is_self_account`
  - `monthly_avg_trans_count`
  - `monthly_avg_trans_amount`
  - `trans_freq_type`
  - `dr_max_single_amount`
  - `cr_max_single_amount`
  - `dr_max_daily_amount`
  - `cr_max_daily_amount`
  - `trans_risk_level`
- 删除 `CcdiAccountResult` 实体与 `CcdiAccountResultMapper`

### 1.2 查询与写入逻辑调整

- `CcdiAccountInfoMapper.xml` 已移除 `ccdi_account_result` 联表
- 账户库列表、详情、导出统一从 `ccdi_account_info` 读取分析字段
- `CcdiAccountInfoServiceImpl` 已移除结果表双写逻辑
- 新增单表分析字段处理规则：
  - 行外账户默认补齐分析字段缺省值
  - 行内账户统一清空分析字段

### 1.3 数据迁移与种子脚本

- 新增增量脚本：
  - `sql/migration/2026-04-16-merge-ccdi-account-result-into-info.sql`
- 更新外部场景种子脚本：
  - `sql/migration/2026-04-13-seed-ccdi-account-info-external-scenarios.sql`
- 种子脚本已改为直接写入 `ccdi_account_info`，不再依赖旧表

### 1.4 测试补充

- 新增 `CcdiAccountInfoServiceImplTest`
- 新增 `CcdiAccountInfoMapperTest`
- 新增 `CcdiAccountInfoMergeSqlTest`

## 2. 验证记录

### 2.1 已完成验证

- `ccdi-project` 模块执行 `mvn -pl ccdi-project -DskipTests compile` 成功
- 文件级检查确认：
  - 账户库主链路代码已无 `CcdiAccountResult` / `accountResultMapper` 引用
  - `CcdiAccountInfoMapper.xml` 已无 `ccdi_account_result` 联表
  - 新增迁移脚本包含补字段、按 `account_no` 回填、删除旧表逻辑

### 2.2 现存仓库阻塞

- `ccdi-info-collection` 模块常规编译失败，失败原因为仓库已有依赖/类缺失，与本次账户库改动不直接相关
- 典型阻塞包括：
  - `com.ruoyi.common.annotation` 下若干注解类缺失
  - 多个服务类依赖 `org.springframework.data.redis.core`，当前模块未解析
  - 既有测试代码与当前依赖版本存在不一致

## 3. 结论

本次账户库已按方案完成“双表合单表”代码与 SQL 收敛，后续若要做完整 Maven 回归，需要先处理仓库当前已有的模块依赖与测试编译问题。
