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

2.2 KiB

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

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 回归,需要先处理仓库当前已有的模块依赖与测试编译问题。