# 2026-06-30 流水本方证件号清洗实施记录 ## 背景 业务核对发现,业务侧上传文件名存在“身份证号-姓名”的不规范写法,流水平台返回的本方证件号也可能沿用该形式,且横线前可能存在空格。该值落库到 `ccdi_bank_statement.cret_no` 后,会导致结果总览按身份证号匹配员工、亲属或外部主体时无法命中。 ## 修改内容 - 修改 `CcdiBankStatement.fromResponse`,在流水平台响应转换为本地流水实体时清洗 `cretNo`。 - 清洗规则: - 先去除首尾空格。 - 将全角横线、长横线、短横线统一视为半角横线。 - 如存在横线,仅保留横线前的身份证号部分,并再次去除首尾空格。 - 新增单元测试覆盖半角横线和全角横线场景。 ## 影响范围 - 仅影响后续新拉取或新上传后落库的流水。 - 不修改表结构、接口协议、打标规则和前端页面。 - 改动范围很小,只在流水接口响应转换为本地实体时做字段清洗。 - 已经落库的历史脏数据需要单独清洗 `ccdi_bank_statement.cret_no` 后重新打标,才能恢复结果总览命中。 ## 验证 - 运行 `mvn -pl ccdi-project "-Dtest=CcdiBankStatementTest" test`。