3.6 KiB
3.6 KiB
项目详情风险总览员工列表分页后端实施记录
1. 实施概述
- 实施日期:2026-03-29
- 实施范围:项目详情“风险总览”员工列表后端分页接口、分页 SQL、服务映射与测试回归
- 实施结果:后端代码改造完成,定向回归通过
本次实施按设计文档完成以下内容:
- 新增
CcdiProjectRiskPeopleQueryDTO,统一承接projectId/pageNum/pageSize - 将
GET /ccdi/project/overview/risk-people改为标准分页返回结构 - 将风险人员查询从全量列表改为 MyBatis Plus
Page真分页 - 为
risk-people单独固定默认分页1/5
2. 实际修改文件
2.1 后端代码
ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/CcdiProjectRiskPeopleQueryDTO.javaccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiProjectRiskPeopleOverviewVO.javaccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiProjectOverviewController.javaccdi-project/src/main/java/com/ruoyi/ccdi/project/service/ICcdiProjectOverviewService.javaccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.javaccdi-project/src/main/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapper.javaccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml
2.2 测试代码
ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/CcdiProjectOverviewServiceStructureTest.javaccdi-project/src/test/java/com/ruoyi/ccdi/project/controller/CcdiProjectOverviewControllerTest.javaccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectOverviewMapperSqlTest.javaccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImplTest.java
3. 关键实施说明
3.1 接口契约调整
- 控制器
getRiskPeople从接收单个projectId改为接收CcdiProjectRiskPeopleQueryDTO - 服务接口同步改为
getRiskPeopleOverview(CcdiProjectRiskPeopleQueryDTO queryDTO) - 风险人员返回结构从
overviewList迁移为:rowstotalpageNumpageSize
3.2 分页实现
- Mapper 新增
selectRiskPeopleOverviewPage(Page<CcdiProjectEmployeeRiskAggregateVO> page, @Param("query") CcdiProjectRiskPeopleQueryDTO query) - SQL 数据源保持
ccdi_project_overview_employee_result不变 - SQL 排序规则保持:
risk_level_sort ascresult.model_count descresult.rule_count descresult.staff_id_card asc
- 本次未新增补丁接口,也未调整风险口径与标签组装逻辑
3.3 默认值策略
risk-people未复用其他列表的pageSize = 10- 在
CcdiProjectOverviewServiceImpl中单独补充:defaultRiskPeoplePageNumdefaultRiskPeoplePageSize
- 缺省与非法值统一回落为
1/5
4. 测试与验证
执行命令:
mvn -pl ccdi-project -am -Dtest=CcdiProjectOverviewServiceStructureTest,CcdiProjectOverviewControllerTest,CcdiProjectOverviewMapperSqlTest,CcdiProjectOverviewServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test
验证结果:
CcdiProjectOverviewServiceStructureTest通过CcdiProjectOverviewControllerTest通过CcdiProjectOverviewMapperSqlTest通过CcdiProjectOverviewServiceImplTest通过- 共 25 个测试通过,无 failure 或 error
5. 实施结论
- 项目详情“风险总览”员工列表后端已完成真实分页化改造。
- 接口输出已从旧
overviewList收口到标准分页结构rows + total + pageNum + pageSize。 - 排序规则保持不变,本次未新增任何兼容性补丁接口。