Files
ccdi/docs/reports/implementation/2026-07-20-bank-upload-cret-no-backfill.md

1.9 KiB
Raw Blame History

上传流水身份证号本地回填实施记录

背景

上传行外流水文件时,文件名已经会校验必须包含 18 位身份证号,但流水平台返回明细中的 cretNo 可能为空。当前结果总览、流水打标和专项分析主要依赖 ccdi_bank_statement.cret_no 关联员工或关系人,空值会导致上传后有流水但结果出不来。

修改内容

  • 仅调整后端上传流水文件链路,不修改前端、不修改拉取本行信息链路、不修改数据库结构。
  • CcdiFileUploadServiceImpl
    • 在上传记录文件名中复用现有身份证号识别规则提取 18 位身份证号。
    • 保存流水平台返回的流水明细前,若 CcdiBankStatement.cretNo 为空,则使用上传记录文件名中的身份证号回填。
    • 继续使用原有上传记录文件名转传流水平台,不新增 身份证号-原文件名 前缀改写。
  • CcdiFileUploadServiceImplTest
    • 保留“转传流水平台使用记录文件名”的测试。
    • 新增平台返回 cretNo 为空时,本地入库实体回填上传文件名身份证号的测试。

影响范围

  • 对平台正常返回 cretNo 的流水无影响,仍优先使用平台返回值。
  • 对平台未返回 cretNo、但上传文件名包含身份证号的流水,入库时会补齐 ccdi_bank_statement.cret_no
  • 对文件名不含身份证号的上传仍在上传前拦截,不进入落库阶段。

验证

mvn -pl ccdi-project -am "-Dtest=CcdiFileUploadServiceImplTest" "-Dsurefire.failIfNoSpecifiedTests=false" test
  • 结果BUILD SUCCESS
  • 覆盖:上传链路文件名校验、上传平台文件名传递、解析完成后流水入库、cretNo 为空时本地回填。

备注

  • PowerShell 下 Maven -D 参数需要加引号;未加引号时命令会被解析为错误生命周期阶段。
  • 本次未启动前端或后端服务,因此无测试进程需要关闭。