54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
|
|
# 账户库双表合单表后端实施计划
|
||
|
|
|
||
|
|
## 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 全量编译与测试执行
|
||
|
|
- 本次需要将“账户库改动验证结果”和“仓库原有构建阻塞”分开记录
|