Files
ccdi/doc/信贷客户实体关联维护功能/代码校验报告.md
2026-02-13 10:15:23 +08:00

9.6 KiB
Raw Blame History

信贷客户实体关联维护功能 - 代码校验报告

一、校验概述

本文档对信贷客户实体关联维护功能与员工实体关系维护功能进行逻辑一致性校验,确保前端交互方式和后端实现逻辑保持一致。


二、后端逻辑校验

2.1 Controller层对比

接口功能 员工实体关系 信贷客户实体关联 一致性
分页查询 /list /list
导出 /export /export
详情查询 /{id} /{id}
新增 POST / POST /
修改 PUT / PUT /
删除 DELETE /{ids} DELETE /{ids}
下载模板 /importTemplate /importTemplate
异步导入 /importData /importData
查询导入状态 /importStatus/{taskId} /importStatus/{taskId}
查询失败记录 /importFailures/{taskId} /importFailures/{taskId}

结论Controller层接口设计完全一致 ✓

2.2 Service层对比

方法 员工实体关系 信贷客户实体关联 一致性
selectRelationPage
selectRelationListForExport
selectRelationById
insertRelation ✓(差异在默认值)
updateRelation
deleteRelationByIds
importRelation

结论Service层方法设计完全一致 ✓

2.3 异步导入逻辑对比

导入步骤 员工实体关系 信贷客户实体关联 差异说明
1. 记录导入开始日志 一致
2. 批量查询已存在组合 一致
3. 验证必填字段 一致
4. 验证身份证格式 一致
5. 验证社会信用代码格式 一致
6. 验证身份证号存在性 差异
7. 检查组合唯一性 一致
8. 检查文件内重复 一致
9. 设置身份标识 is_emp_family=1 is_cust_family=1 差异
10. 设置数据来源 IMPORT IMPORT 一致
11. 批量插入 500条/批 500条/批 一致
12. 保存失败记录到Redis 一致
13. 更新导入状态 一致
14. 记录导入完成日志 一致

关键差异说明

  • 身份证号验证:员工实体关系需要验证身份证号存在于员工表;信贷客户实体关联不需要
  • 身份标识默认值:员工实体关系 is_emp_family=1;信贷客户实体关联 is_cust_family=1

结论:导入逻辑框架一致,仅按需求有指定差异 ✓

2.4 Redis Key对比

用途 员工实体关系 信贷客户实体关联
导入状态 import:staffEnterpriseRelation:{taskId} import:custEnterpriseRelation:{taskId}
失败记录 import:staffEnterpriseRelation:{taskId}:failures import:custEnterpriseRelation:{taskId}:failures
过期时间 7天 7天

结论Redis key设计模式一致 ✓

2.5 Mapper XML对比

SQL功能 员工实体关系 信贷客户实体关联 差异说明
分页查询 LEFT JOIN员工表获取姓名 不JOIN 差异
详情查询 LEFT JOIN员工表获取姓名 不JOIN 差异
唯一性检查 person_id + social_credit_code person_id + social_credit_code 一致
批量存在检查 一致
批量插入 一致

结论Mapper SQL框架一致差异在于是否JOIN员工表 ✓


三、前端逻辑校验

3.1 页面功能对比

功能 员工实体关系 信贷客户实体关联 一致性
搜索表单
新增按钮
导入按钮
导出按钮
查看失败记录按钮
列表展示 ✓(差异在列)
分页
新增/编辑弹窗
详情弹窗
导入弹窗
失败记录弹窗

结论:页面功能完全一致 ✓

3.2 表单交互对比

交互项 员工实体关系 信贷客户实体关联 差异说明
身份证号输入 远程搜索下拉框 普通输入框 差异
统一社会信用代码 输入框 输入框 一致
企业名称 输入框 输入框 一致
职务 输入框 输入框 一致
状态(编辑时) 下拉选择 下拉选择 一致
补充说明 文本域 文本域 一致

结论:除身份证号输入方式外,其他表单交互一致 ✓

3.3 列表展示对比

员工实体关系 信贷客户实体关联 差异说明
选择框 一致
身份证号 一致
员工姓名 差异
企业名称 一致
职务 一致
状态 一致
数据来源 一致
创建时间 一致
操作列 一致

结论:除员工姓名列外,其他列一致 ✓

3.4 详情弹窗对比

展示项 员工实体关系 信贷客户实体关联 差异说明
员工姓名 差异
身份证号 一致
统一社会信用代码 一致
企业名称 一致
职务 一致
状态 一致
数据来源 一致
补充说明 一致
创建时间/人 一致
更新时间/人 一致

结论:除员工姓名外,详情展示一致 ✓

3.5 导入流程对比

导入步骤 员工实体关系 信贷客户实体关联 一致性
点击导入按钮
弹出上传对话框
下载模板
选择文件上传
提交后立即返回taskId
显示后台处理提示
开始轮询导入状态 2秒/次 2秒/次
处理完成后通知
显示失败记录按钮 有失败时显示 有失败时显示
查看失败记录弹窗
分页展示失败记录
清除历史记录

结论:导入流程完全一致 ✓

3.6 localStorage对比

用途 员工实体关系 信贷客户实体关联
存储key staff_enterprise_relation_import_last_task cust_enterprise_relation_import_last_task
存储内容 taskId, status, counts, saveTime 相同
过期检查 7天 7天

结论localStorage使用模式一致 ✓


四、权限配置对比

权限 员工实体关系 信贷客户实体关联
列表 ccdi:staffEnterpriseRelation:list ccdi:custEnterpriseRelation:list
查询 ccdi:staffEnterpriseRelation:query ccdi:custEnterpriseRelation:query
新增 ccdi:staffEnterpriseRelation:add ccdi:custEnterpriseRelation:add
编辑 ccdi:staffEnterpriseRelation:edit ccdi:custEnterpriseRelation:edit
删除 ccdi:staffEnterpriseRelation:remove ccdi:custEnterpriseRelation:remove
导出 ccdi:staffEnterpriseRelation:export ccdi:custEnterpriseRelation:export
导入 ccdi:staffEnterpriseRelation:import ccdi:custEnterpriseRelation:import

结论:权限命名规范一致 ✓


五、校验总结

5.1 一致性检查结果

检查项 状态
Controller接口设计 ✓ 一致
Service方法设计 ✓ 一致
异步导入框架 ✓ 一致
Redis状态管理 ✓ 一致
Mapper SQL框架 ✓ 一致
前端页面功能 ✓ 一致
前端表单交互 ✓ 一致(除身份证输入方式)
前端列表展示 ✓ 一致(除姓名列)
前端详情展示 ✓ 一致(除姓名)
导入流程 ✓ 一致
localStorage使用 ✓ 一致
权限命名规范 ✓ 一致

5.2 预期差异确认

差异项 员工实体关系 信贷客户实体关联 状态
身份证号验证 验证存在员工表 不验证 ✓ 符合预期
员工搜索功能 ✓ 符合预期
姓名显示 ✓ 符合预期
身份标识默认值 is_emp_family=1 is_cust_family=1 ✓ 符合预期
API路径 staffEnterpriseRelation custEnterpriseRelation ✓ 符合预期
权限标识 staffEnterpriseRelation custEnterpriseRelation ✓ 符合预期
localStorage key staff_enterprise_relation cust_enterprise_relation ✓ 符合预期

5.3 校验结论

信贷客户实体关联维护功能的实施方案与员工实体关系维护功能在逻辑上完全一致,所有差异均符合需求预期:

  1. ✓ 后端实现逻辑一致CRUD、异步导入、Redis状态管理
  2. ✓ 前端交互方式一致(弹窗、导入流程、状态轮询)
  3. ✓ 预期差异均已正确处理(无员工搜索、无姓名显示、身份标识默认值不同)

实施方案可直接用于开发实施。