修复流水上传身份证号回填

This commit is contained in:
wjj
2026-07-20 11:03:05 +08:00
parent b70f967153
commit 4a75d68bf6
4 changed files with 144 additions and 3 deletions

View File

@@ -0,0 +1,36 @@
# 上传流水身份证号本地回填实施记录
## 背景
上传行外流水文件时,文件名已经会校验必须包含 18 位身份证号,但流水平台返回明细中的 `cretNo` 可能为空。当前结果总览、流水打标和专项分析主要依赖 `ccdi_bank_statement.cret_no` 关联员工或关系人,空值会导致上传后有流水但结果出不来。
## 修改内容
- 仅调整后端上传流水文件链路,不修改前端、不修改拉取本行信息链路、不修改数据库结构。
- `CcdiFileUploadServiceImpl`
- 在上传记录文件名中复用现有身份证号识别规则提取 18 位身份证号。
- 保存流水平台返回的流水明细前,若 `CcdiBankStatement.cretNo` 为空,则使用上传记录文件名中的身份证号回填。
- 继续使用原有上传记录文件名转传流水平台,不新增 `身份证号-原文件名` 前缀改写。
- `CcdiFileUploadServiceImplTest`
- 保留“转传流水平台使用记录文件名”的测试。
- 新增平台返回 `cretNo` 为空时,本地入库实体回填上传文件名身份证号的测试。
## 影响范围
- 对平台正常返回 `cretNo` 的流水无影响,仍优先使用平台返回值。
- 对平台未返回 `cretNo`、但上传文件名包含身份证号的流水,入库时会补齐 `ccdi_bank_statement.cret_no`
- 对文件名不含身份证号的上传仍在上传前拦截,不进入落库阶段。
## 验证
```bash
mvn -pl ccdi-project -am "-Dtest=CcdiFileUploadServiceImplTest" "-Dsurefire.failIfNoSpecifiedTests=false" test
```
- 结果BUILD SUCCESS
- 覆盖:上传链路文件名校验、上传平台文件名传递、解析完成后流水入库、`cretNo` 为空时本地回填。
## 备注
- PowerShell 下 Maven `-D` 参数需要加引号;未加引号时命令会被解析为错误生命周期阶段。
- 本次未启动前端或后端服务,因此无测试进程需要关闭。