调整征信维护为征信对象直接入库

This commit is contained in:
wkc
2026-03-24 15:05:02 +08:00
parent 6b0c83024e
commit fa9673c8c4
13 changed files with 238 additions and 115 deletions

View File

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

View File

@@ -0,0 +1,84 @@
# 征信维护前端直接入库实施记录
## 1. 实施范围
- 实施目标:将征信维护页面切换为征信对象维度展示,移除“柜员号”“是否已维护”旧口径字段,并保持上传、列表、详情、删除交互可用
- 实施目录:`ruoyi-ui`
- 实施日期2026-03-24
## 2. 实际修改文件
- `ruoyi-ui/src/views/ccdiCreditInfo/index.vue`
- `ruoyi-ui/tests/unit/credit-info-page-layout.test.js`
- `ruoyi-ui/tests/unit/credit-info-maintained-filter.test.js`
- `ruoyi-ui/tests/unit/credit-info-detail-ui.test.js`
## 3. 功能落地说明
### 3.1 查询区与列表区收敛
- 查询区仅保留“姓名”“身份证号”
- `queryParams` 与重置逻辑删除 `staffId``maintained`
- 列表区移除“柜员号”列,展示顺序调整为征信对象摘要字段
### 3.2 删除提示文案调整
- 删除确认文案从“该员工当前已维护的征信信息”改为“该征信对象当前已维护的征信信息”
### 3.3 数据流校验
- `@/api/ccdiCreditInfo` 中上传、列表、详情、删除接口路径保持不变
- 上传弹窗与详情弹窗交互保持可用,未引入额外页面或路由改动
## 4. 验证记录
### 4.1 失败验证
执行命令:
```bash
node ruoyi-ui/tests/unit/credit-info-page-layout.test.js
node ruoyi-ui/tests/unit/credit-info-maintained-filter.test.js
node ruoyi-ui/tests/unit/credit-info-detail-ui.test.js
```
执行结果:
- 首轮失败点与计划一致,页面仍包含 `staffId``maintained` 和旧删除文案
### 4.2 页面与契约验证
执行命令:
```bash
node ruoyi-ui/tests/unit/credit-info-page-layout.test.js
node ruoyi-ui/tests/unit/credit-info-maintained-filter.test.js
node ruoyi-ui/tests/unit/credit-info-detail-ui.test.js
node ruoyi-ui/tests/unit/credit-info-api-contract.test.js
node ruoyi-ui/tests/unit/credit-info-upload-ui.test.js
```
执行结果:
- 五个前端静态/契约测试全部通过
- 页面已彻底移除员工口径筛选项与列表列
- API 路径和上传交互契约未回退
### 4.3 前端构建
执行命令:
```bash
cd ruoyi-ui
npm run build:prod
```
执行结果:
- 构建通过,`dist/` 产物正常生成
- 仅出现项目既有的包体积告警,未出现新增编译错误
## 5. 进程与环境说明
- 本次未启动本地前端 dev server
- 无残留测试进程需要清理