修复第二期流水规则元数据

This commit is contained in:
wkc
2026-03-20 16:31:58 +08:00
parent 085e2e7e35
commit a0e8057d70
4 changed files with 145 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
# 第二期银行流水规则元数据修复实施记录
## 问题背景
- 2026-03-20 校验发现第二期规则已完成后端真实实现,但当前数据库中的第二期 10 条规则元数据仍停留在占位状态。
- 直接查询 `ccdi_bank_tag_rule` 可见:
- 10 条第二期规则 `remark` 仍为“占位规则待补充真实SQL”
- `FIXED_COUNTERPARTY_TRANSFER.indicator_code` 仍为旧值 `FIXED_COUNTERPARTY_TRANSFER`
- `SALARY_UNUSED.business_caliber` 仍为乱码
- `TAX_ASSET_REGISTRATION_MISMATCH.business_caliber` 仍为旧口径
## 根因分析
- 第二期真实规则落地时已更新初始化脚本 [`sql/2026-03-16-bank-tagging.sql`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/bank-tag-real-rule-phase2-backend/sql/2026-03-16-bank-tagging.sql),但没有同步补一份增量迁移脚本。
- 当前仓库的 SQL 元数据测试此前只覆盖第一期,没有覆盖第二期,所以“只改初始化脚本、遗漏增量脚本”的问题没有被自动拦截。
- 已执行过旧增量脚本、但未重建规则表初始化数据的环境,会继续保留第二期占位元数据。
## 本次修改
- 扩展 SQL 元数据测试 [`CcdiBankTagRuleSqlMetadataTest.java`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/bank-tag-real-rule-phase2-backend/ccdi-project/src/test/java/com/ruoyi/ccdi/project/sql/CcdiBankTagRuleSqlMetadataTest.java)
- 保留第一期元数据校验
- 新增第二期初始化脚本与迁移脚本一致性校验
- 约束第二期 10 条规则的 `indicator_code``business_caliber``remark` 必须与真实规则实现对齐
- 新增增量脚本 [`2026-03-20-sync-bank-tag-phase2-rule-metadata.sql`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/bank-tag-real-rule-phase2-backend/sql/migration/2026-03-20-sync-bank-tag-phase2-rule-metadata.sql)
- 使用 `INSERT ... ON DUPLICATE KEY UPDATE` 同步第二期 10 条规则元数据
- 清空 `FIXED_COUNTERPARTY_TRANSFER` 的旧 `indicator_code`
- 修复 `SALARY_UNUSED` 乱码与 `TAX_ASSET_REGISTRATION_MISMATCH` 业务口径
- 同步 10 条规则的真实规则 `remark`
- 使用 `bin/mysql_utf8_exec.sh` 将第二期元数据修复脚本落到当前验证数据库
## 实施结果
- 第二期规则元数据已与真实后端实现对齐。
- 新增测试可在仓库层拦住“第二期初始化脚本已改、迁移脚本漏补”的回归。
- 当前数据库中的第二期规则不再继续保留占位 `remark`、旧 `indicator_code` 和乱码业务口径。