# 征信维护后端直接入库实施记录 ## 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 单元测试,未启动本地后端服务 - 无残留测试进程需要清理