Files
ccdi/docs/reports/implementation/2026-06-30-bank-statement-cret-no-normalization.md
2026-06-30 13:40:24 +08:00

1.2 KiB

2026-06-30 流水本方证件号清洗实施记录

背景

业务核对发现,业务侧上传文件名存在“身份证号-姓名”的不规范写法,流水平台返回的本方证件号也可能沿用该形式,且横线前可能存在空格。该值落库到 ccdi_bank_statement.cret_no 后,会导致结果总览按身份证号匹配员工、亲属或外部主体时无法命中。

修改内容

  • 修改 CcdiBankStatement.fromResponse,在流水平台响应转换为本地流水实体时清洗 cretNo
  • 清洗规则:
    • 先去除首尾空格。
    • 将全角横线、长横线、短横线统一视为半角横线。
    • 如存在横线,仅保留横线前的身份证号部分,并再次去除首尾空格。
  • 新增单元测试覆盖半角横线和全角横线场景。

影响范围

  • 仅影响后续新拉取或新上传后落库的流水。
  • 不修改表结构、接口协议、打标规则和前端页面。
  • 改动范围很小,只在流水接口响应转换为本地实体时做字段清洗。
  • 已经落库的历史脏数据需要单独清洗 ccdi_bank_statement.cret_no 后重新打标,才能恢复结果总览命中。

验证

  • 运行 mvn -pl ccdi-project "-Dtest=CcdiBankStatementTest" test