3.9 KiB
3.9 KiB
结果总览风险接口后端验证记录
验证范围
- 风险仪表盘接口
- 风险人员总览接口
- 中高风险人员 TOP10 接口
- 打标完成后项目风险人数回写
验证命令
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceStructureTest,CcdiProjectOverviewMapperSqlTest,CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewControllerTest,CcdiBankTagServiceRiskCountRefreshTest
验证结果
- 2026-03-19 14:54:00 执行计划内核心验证命令,
CcdiProjectOverviewServiceStructureTest、CcdiProjectOverviewMapperSqlTest、CcdiProjectOverviewServiceImplTest、CcdiProjectOverviewControllerTest、CcdiBankTagServiceRiskCountRefreshTest共 11 个测试全部通过 - 2026-03-19 14:55:24 补充执行受影响旧用例
CcdiBankTagServiceImplTest,8 个测试全部通过 - 2026-03-19 15:02 在真实联调环境发现
risk-people与top-risk-people接口报错,根因是数据库版本为 MySQL 5.7.44,不支持row_number() over (...) - 2026-03-19 15:03 新增 MySQL 5.7 兼容性回归测试,改为
not exists方式选择代表性规则后,CcdiProjectOverviewMapperSqlTest重新通过 - 2026-03-19 15:04 重新执行结果总览相关测试组,10 个测试全部通过
- 2026-03-19 15:14 在真实重算
projectId=43时发现回写链路报错,根因是风险人数汇总 map 中的聚合值被映射为BigDecimal - 2026-03-19 15:15 新增
BigDecimal场景回归测试,服务层改为按Number.intValue()读取风险人数,相关测试重新通过 - 合并验证命令如下:
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceStructureTest,CcdiProjectOverviewMapperSqlTest,CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewControllerTest,CcdiBankTagServiceRiskCountRefreshTest,CcdiBankTagServiceImplTest
- 2026-03-19 15:16:54 在修复
BigDecimal取值问题后重新执行完整验证,CcdiProjectOverviewServiceStructureTest、CcdiProjectOverviewMapperSqlTest、CcdiProjectOverviewServiceImplTest、CcdiProjectOverviewControllerTest、CcdiBankTagServiceRiskCountRefreshTest、CcdiBankTagServiceImplTest共 21 个测试全部通过 - 合并验证结果:21 个测试全部通过,0 failure,0 error
真实接口验证
- 登录接口:
POST /login/test,返回200,成功拿到 token - 仪表盘接口:
GET /ccdi/project/overview/dashboard?projectId=42,返回200 - 风险人员总览接口:
GET /ccdi/project/overview/risk-people?projectId=42,返回200,当前返回 1 条员工风险数据 - 中高风险 TOP10 接口:
GET /ccdi/project/overview/top-risk-people?projectId=42,返回200,当前返回 1 条中风险员工数据 - 2026-03-19 15:15:40 触发
POST /ccdi/project/tags/rebuild对projectId=43的真实手动重算,任务id=22最终SUCCESS - 重算后
ccdi_project.project_id=43更新为:high_risk_count=2、medium_risk_count=0、low_risk_count=0 - 重算后接口验证:
GET /ccdi/project/overview/risk-people?projectId=43返回200,共 2 条高风险员工数据GET /ccdi/project/overview/top-risk-people?projectId=43返回200,共 2 条高风险 TOP 数据GET /ccdi/project/overview/dashboard?projectId=43返回200,高风险人数更新为2
- 说明:
projectId=43的target_count当前仍为0,因此仪表盘中的“无风险人员”计算结果为-2;这反映的是项目基础人数未维护,与本次风险人数回写链路无关
结论
- 结果总览后端接口、员工风险聚合 SQL、打标后风险人数回写链路已按实施计划完成
- 已额外修复 MySQL 5.7 环境下的窗口函数兼容问题
- 已额外修复真实重算场景下的
BigDecimal风险人数取值问题 - 只读查询接口与风险人数回写链路均已通过真实后端联调验证
- 当前剩余问题是部分项目的
target_count基础数据为 0,会导致仪表盘“无风险人员”出现负数