合并账户库为单表

This commit is contained in:
wkc
2026-04-17 10:18:13 +08:00
parent cc1a4538af
commit 4c6ca52e7e
24 changed files with 1285 additions and 377 deletions

View File

@@ -0,0 +1,53 @@
# 账户库双表合单表后端实施计划
## 1. 目标
将账户库由 `ccdi_account_info` + `ccdi_account_result` 双表结构收敛为单表 `ccdi_account_info`,迁移完成后删除旧表,同时保持现有账户库接口、字段名和前端交互不变。
## 2. 实施范围
- 数据库增量迁移脚本
- 账户库后端实体、Mapper XML、服务层
- 外部场景种子脚本
- 账户库相关回归测试
本次不调整前端页面、接口路径和接口字段名。
## 3. 实施步骤
### 3.1 数据库迁移
1. 新增 `sql/migration/2026-04-16-merge-ccdi-account-result-into-info.sql`
2. 在脚本中先校验 `ccdi_account_info.account_no` 无重复
3.`ccdi_account_info` 补齐分析字段
4.`account_no``ccdi_account_result` 回填数据
5. 回填完成后删除 `ccdi_account_result`
### 3.2 后端代码调整
1. `CcdiAccountInfo` 实体吸收分析字段映射
2. 删除 `CcdiAccountResult` 实体与 `CcdiAccountResultMapper`
3. `CcdiAccountInfoMapper.xml` 去掉对 `ccdi_account_result` 的联表
4. `CcdiAccountInfoServiceImpl` 去掉结果表双写逻辑
5. 保持原有业务语义:
- `bankScope = EXTERNAL` 时补齐默认分析字段
- `bankScope != EXTERNAL` 时清空分析字段,避免误写
### 3.3 配套脚本与测试
1.`2026-04-13` 外部账户场景种子脚本改为单表写入
2. 新增 SQL 脚本文本断言测试
3. 新增账户库服务层与 Mapper SQL 结构测试
## 4. 验证要点
- 迁移脚本包含“补字段、回填、删旧表”三步
- 账户库列表/详情/导出查询均只读 `ccdi_account_info`
- 行外账户保存分析字段
- 行内账户清空分析字段
- 外部场景种子脚本不再写入 `ccdi_account_result`
## 5. 风险说明
- 仓库当前 `ccdi-info-collection` 模块存在既有依赖缺失问题,可能影响常规 Maven 全量编译与测试执行
- 本次需要将“账户库改动验证结果”和“仓库原有构建阻塞”分开记录