Files
ccdi/docs/reports/implementation/2026-03-24-credit-info-direct-storage-backend-record.md

74 lines
2.9 KiB
Markdown
Raw Normal View History

# 征信维护后端直接入库实施记录
## 1. 实施范围
- 实施目标:将征信维护后端切换为征信对象维度,上传时不再校验员工归属,解析成功后按 `person_id` 直接覆盖入库,列表查询改为征信表聚合
- 实施目录:`ccdi-info-collection`
- 实施日期2026-03-24
## 2. 实际修改文件
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiCreditInfoQueryDTO.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CreditInfoListVO.java`
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiCreditInfoServiceImpl.java`
- `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiCreditInfoQueryMapper.xml`
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiCreditInfoServiceImplTest.java`
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/mapper/CcdiCreditInfoQueryMapperXmlTest.java`
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/controller/CcdiCreditInfoControllerTest.java`
## 3. 功能落地说明
### 3.1 直接入库口径
- 上传解析后直接读取 `query_cert_no``query_cust_name``report_time`
- 删除员工主数据依赖,不再校验征信对象是否存在于 `ccdi_base_staff`
- 保留“同一证件号仅允许最新征信覆盖写入”的日期校验
- 继续沿用 `replaceEmployeeCredit` 方法完成按 `person_id` 的先删后插覆盖写入
### 3.2 DTO / VO 收敛
- `CcdiCreditInfoQueryDTO` 仅保留 `name``idCard`
- `CreditInfoListVO` 删除 `staffId``deptName`,仅保留征信对象摘要字段
### 3.3 SQL 聚合调整
- 列表查询改为以征信业务表为主集合,覆盖“只有负债”“只有负面信息”“两者都有”三类数据
- 列表与摘要查询均通过 `person_id` 聚合,不再关联 `ccdi_base_staff``sys_dept`
- 查询条件仅保留姓名、身份证号两项筛选
## 4. 验证记录
### 4.1 失败验证
执行命令:
```bash
mvn -pl ccdi-info-collection -Dtest=CcdiCreditInfoServiceImplTest,CcdiCreditInfoQueryMapperXmlTest,CcdiCreditInfoControllerTest test
```
执行结果:
- 首轮失败点与计划一致集中暴露为员工校验未删除、XML 仍依赖员工表
### 4.2 分段验证
执行命令:
```bash
mvn -pl ccdi-info-collection -Dtest=CcdiCreditInfoControllerTest test
mvn -pl ccdi-info-collection -Dtest=CcdiCreditInfoServiceImplTest test
mvn -pl ccdi-info-collection -Dtest=CcdiCreditInfoQueryMapperXmlTest test
```
执行结果:
- 三组测试均通过
- 控制层分页委派契约保持不变
- 非员工征信对象可成功上传,旧日期上传仍被拦截
- XML 契约确认已去掉 `ccdi_base_staff``query.staffId``query.maintained`
## 5. 进程与环境说明
- 本次仅执行 Maven 单元测试,未启动本地后端服务
- 无残留测试进程需要清理