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