Files
ccdi/docs/plans/backend/2026-04-16-account-library-single-table-implementation.md
2026-04-17 10:18:13 +08:00

1.9 KiB

账户库双表合单表后端实施计划

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_noccdi_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 全量编译与测试执行
  • 本次需要将“账户库改动验证结果”和“仓库原有构建阻塞”分开记录