完成银行流水打标规则大写编码与后端落地
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# 银行流水占位规则后端实施记录
|
||||
|
||||
## 变更概述
|
||||
|
||||
- 按 `assets/模型信息.xlsx` 补齐银行流水打标缺失的 25 条规则初始化数据。
|
||||
- 为新增规则补齐 `CcdiBankTagAnalysisMapper` 方法声明与 `CcdiBankTagAnalysisMapper.xml` 占位 SQL。
|
||||
- 在 `CcdiBankTagServiceImpl` 中补齐新增规则分发,保证空结果规则也能正常执行完成。
|
||||
- 为占位规则补充 XML、Service、参数解析回归测试。
|
||||
|
||||
## 涉及文件
|
||||
|
||||
- `sql/2026-03-16-bank-tagging.sql`
|
||||
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiBankTagAnalysisMapper.java`
|
||||
- `ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml`
|
||||
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImpl.java`
|
||||
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiBankTagAnalysisMapperXmlTest.java`
|
||||
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImplTest.java`
|
||||
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/BankTagRuleConfigResolverTest.java`
|
||||
|
||||
## 实施结果
|
||||
|
||||
- 初始化 SQL 中规则总数补齐为 33 条,覆盖 10 个模型组。
|
||||
- 数字占位 `rule_code` 已按业务语义改为可读编码,例如 `ABNORMAL_CUSTOMER_TRANSACTION`、`SUPPLIER_CONCENTRATION`、`SALARY_QUICK_TRANSFER`。
|
||||
- 规则元数据中的 `rule_code`、`indicator_code` 已统一为全大写;默认参数脚本中的相关 `param_code` 也已同步切换为全大写,并同步调整了解析映射。
|
||||
- 新增 25 个占位 Mapper 方法与对应 XML `select`,全部使用独立 `where 1 = 0` 空结果 SQL。
|
||||
- Service 已按 `rule_code` 分发到新增占位方法,空结果不会触发批量写入,任务状态可正常收敛为 `SUCCESS`。
|
||||
- 参数解析器现有逻辑已可安全处理无参数映射的占位规则,因此本次未修改 `BankTagRuleConfigResolver.java`。
|
||||
|
||||
## 验证记录
|
||||
|
||||
- `mvn test -pl ccdi-project -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBankTagAnalysisMapperXmlTest`
|
||||
- `mvn test -pl ccdi-project -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBankTagServiceImplTest`
|
||||
- `mvn test -pl ccdi-project -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=BankTagRuleConfigResolverTest`
|
||||
- `mvn test -pl ccdi-project -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBankTagAnalysisMapperXmlTest,BankTagRuleConfigResolverTest,CcdiBankTagServiceImplTest`
|
||||
- `mvn -pl ccdi-project -am -DskipTests compile`
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 计划中的 Maven 单测命令在当前多模块 Reactor 下需要补 `-Dsurefire.failIfNoSpecifiedTests=false`,否则上游无匹配测试的模块会提前失败。
|
||||
- `assets/模型信息.xlsx` 中“工资无使用记录”对应业务口径原始单元格存在乱码,本次按源数据原样落库,后续若拿到修正版设计数据建议同步修正。
|
||||
@@ -0,0 +1,34 @@
|
||||
# 银行流水打标编码大写与数据库同步实施记录
|
||||
|
||||
## 变更概述
|
||||
|
||||
- 在 [`AGENTS.md`](/Users/wkc/Desktop/ccdi/ccdi/AGENTS.md) 补充银行流水打标相关 `rule_code`、`indicator_code`、`param_code` 必须统一全大写的协作约束。
|
||||
- 将默认参数脚本中遗漏的 `SUSPICIOUS_GAMBLING` 参数编码改为全大写:`MULTI_PARTY_AMT_MIN`、`MULTI_PARTY_AMT_MAX`。
|
||||
- 新增可重复执行的增量脚本 [`sql/migration/2026-03-18-sync-bank-tag-uppercase-and-rules.sql`](/Users/wkc/Desktop/ccdi/ccdi/sql/migration/2026-03-18-sync-bank-tag-uppercase-and-rules.sql),用于同步规则表、指标编码和参数编码。
|
||||
|
||||
## 涉及文件
|
||||
|
||||
- [`AGENTS.md`](/Users/wkc/Desktop/ccdi/ccdi/AGENTS.md)
|
||||
- [`sql/ccdi_model_param.sql`](/Users/wkc/Desktop/ccdi/ccdi/sql/ccdi_model_param.sql)
|
||||
- [`sql/2026-03-16-update-ccdi-model-param-defaults.sql`](/Users/wkc/Desktop/ccdi/ccdi/sql/2026-03-16-update-ccdi-model-param-defaults.sql)
|
||||
- [`sql/migration/2026-03-18-sync-bank-tag-uppercase-and-rules.sql`](/Users/wkc/Desktop/ccdi/ccdi/sql/migration/2026-03-18-sync-bank-tag-uppercase-and-rules.sql)
|
||||
- [`ccdi-project/src/test/java/com/ruoyi/ccdi/project/sql/CcdiModelParamSqlDefaultsTest.java`](/Users/wkc/Desktop/ccdi/ccdi/ccdi-project/src/test/java/com/ruoyi/ccdi/project/sql/CcdiModelParamSqlDefaultsTest.java)
|
||||
- [`ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImplTest.java`](/Users/wkc/Desktop/ccdi/ccdi/ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiModelParamServiceImplTest.java)
|
||||
|
||||
## 实施结果
|
||||
|
||||
- 默认参数 SQL 中银行流水打标相关 `param_code` 已全部统一为全大写,不再保留 `annual_turnover`、`stock_tfr_large`、`withdraw_cnt`、`withdraw_amt`、`multi_party_amt_min`、`multi_party_amt_max` 等小写残留。
|
||||
- 增量脚本已执行,规则表已补齐到 33 条,数据库中的 `rule_code`、`indicator_code` 均为全大写或 `NULL`。
|
||||
- 参数表中 `LARGE_TRANSACTION`、`ABNORMAL_BEHAVIOR`、`SUSPICIOUS_GAMBLING` 模型的默认参数编码已同步为全大写。
|
||||
|
||||
## 执行与验证
|
||||
|
||||
- 执行脚本:
|
||||
- `bin/mysql_utf8_exec.sh sql/migration/2026-03-18-sync-bank-tag-uppercase-and-rules.sql`
|
||||
- 数据库核验:
|
||||
- `ccdi_bank_tag_rule` 共 33 条规则,`rule_code`/`indicator_code` 全部满足全大写约束。
|
||||
- `ccdi_model_param` 中相关参数编码核验结果为 `ANNUAL_TURNOVER`、`STOCK_TFR_LARGE`、`WITHDRAW_CNT`、`WITHDRAW_AMT`、`MULTI_PARTY_AMT_MIN`、`MULTI_PARTY_AMT_MAX`。
|
||||
|
||||
## 备注
|
||||
|
||||
- 初始化脚本 [`sql/2026-03-16-bank-tagging.sql`](/Users/wkc/Desktop/ccdi/ccdi/sql/2026-03-16-bank-tagging.sql) 因唯一键限制不适合直接重复执行,本次通过增量迁移脚本完成数据库同步,避免重复插入失败。
|
||||
Reference in New Issue
Block a user