删除征信解析后的本地文件

This commit is contained in:
wkc
2026-07-20 15:55:28 +08:00
parent 90f483f427
commit dc8055ce7a
4 changed files with 111 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
# 征信本地文件清理后端实施计划
## 目标
征信 HTML 上传后仅作为外部解析接口的临时输入。解析调用结束后立即删除本地文件,避免成功或失败流程残留敏感征信文件。
## 实施内容
1.`CreditHtmlStorageService` 增加受限删除能力,仅允许删除 `ruoyi.profile/credit-html` 目录内的文件。
2. 在征信上传单文件流程中,解析成功后先删除本地文件,再校验解析结果并入库。
3. 解析失败时仍执行删除;解析与删除同时失败时保留原始解析错误,并记录删除异常。
4. 删除失败时终止当前文件后续处理,由现有批量上传逻辑记录失败并继续处理其他文件。
## 影响范围
- 仅修改征信维护上传的后端处理流程。
- 不修改上传接口、返回结构、数据库和前端页面。
- `/lsfx/credit/parse` 外部地址测试接口不管理本地上传文件,保持不变。
## 验证
- 覆盖成功、解析失败、结果校验失败、入库失败和删除失败场景。
- 验证删除路径不能逃逸 `ruoyi.profile/credit-html`
- 运行征信维护定向测试及 `ccdi-info-collection` 模块测试。

View File

@@ -0,0 +1,41 @@
# 征信本地文件清理后端实施记录
## 修改内容
- 为征信 HTML 存储服务增加本地文件删除能力,并限制删除范围为 `ruoyi.profile/credit-html`
- 征信上传调用外部解析接口后立即删除本地文件,再继续解析结果校验与入库。
- 解析失败时同样清理文件;清理异常不覆盖原始解析错误。
- 删除失败时当前文件不再入库,批量上传继续处理后续文件。
## 影响范围
- 后端模块:`ccdi-info-collection`
- 前端、接口协议、数据库结构均无变更。
- 外部 `remotePath` 测试接口无变更。
## 验证情况
### 定向测试
执行命令:
```bash
mvn -pl ccdi-info-collection -am -Dtest=CcdiCreditInfoServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test
```
结果:通过,共执行 9 个用例,失败 0、错误 0。已覆盖解析成功、解析失败、结果校验失败、入库失败、删除失败、批量继续处理、真实文件删除、重复删除和越界路径拒绝。
### 模块测试
执行命令:
```bash
mvn -pl ccdi-info-collection -am test
```
结果:共执行 178 个用例,本次修改相关测试全部通过;模块整体存在 1 个失败和 1 个错误:
- `CcdiBaseStaffMapperTest.mapperXml_shouldUseStableOrderForBaseStaffPagination`:员工 Mapper 排序契约断言失败。
- `CcdiBaseStaffServiceImplTest.selectBaseStaffById_shouldReturnSelfOwnedAssetInfoList`:员工详情测试返回空对象并触发空指针。
上述失败位于未修改的员工信息代码与测试中,与本次征信本地文件清理无关,本次未扩大范围处理。