Files
ccdi/docs/tests/records/2026-03-20-results-overview-risk-model-linkage-backend-verification.md

3.8 KiB
Raw Blame History

结果总览模型区联动筛选后端验证记录

验证范围

  • 风险模型卡片接口结构与卡片统计 SQL
  • 风险模型人员分页接口结构与分页 SQL
  • 多模型 ANY / ALL 匹配模式
  • 服务层卡片封装、分页封装与默认 actionLabel

验证命令

mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewControllerContractTest
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewMapperRiskModelCardsTest
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewMapperRiskModelPeopleTest
mvn test -pl ccdi-project -Dtest=CcdiProjectOverviewServiceImplTest
mvn test -pl ccdi-project '-Dtest=CcdiProjectOverview*'

验证结果

  • 2026-03-20 11:05 执行 CcdiProjectOverviewControllerContractTest 红灯验证,确认缺少 getRiskModelCards 方法和 CcdiProjectRiskModelPeopleQueryDTO 类型。
  • 2026-03-20 11:06 重新执行 CcdiProjectOverviewControllerContractTest3 个测试全部通过。
  • 2026-03-20 11:07 执行 CcdiProjectOverviewMapperRiskModelCardsTest 红灯验证,确认缺少卡片 mapper 方法与统计 SQL。
  • 2026-03-20 11:08 重新执行 CcdiProjectOverviewMapperRiskModelCardsTest2 个测试全部通过。
  • 2026-03-20 11:11 执行 CcdiProjectOverviewMapperRiskModelPeopleTest 红灯验证,确认缺少分页 mapper 方法与 ANY / ALL SQL 片段。
  • 2026-03-20 11:12 修正测试断言后重新执行 CcdiProjectOverviewMapperRiskModelPeopleTest2 个测试全部通过。
  • 2026-03-20 11:14 执行 CcdiProjectOverviewServiceImplTest 红灯验证,确认服务层尚未完成项目校验、分页封装和默认 ANY 逻辑。
  • 2026-03-20 11:15 重新执行 CcdiProjectOverviewServiceImplTest9 个测试全部通过。
  • 2026-03-20 11:16 执行结果总览相关总体验证命令 mvn test -pl ccdi-project '-Dtest=CcdiProjectOverview*',共 22 个测试全部通过0 failure0 error。
  • 2026-03-20 11:59 根据线上异常日志补充 CcdiProjectOverviewMapperRiskModelPeopleTest 红灯断言,确认 selectRiskModelPeoplePage 缺少 query.projectId -> projectId 绑定桥接。
  • 2026-03-20 11:59 在 selectRiskModelPeoplePage 增加 <bind name="projectId" value="query.projectId"/> 后重新执行 CcdiProjectOverviewMapperRiskModelPeopleTest2 个测试全部通过。
  • 2026-03-20 12:00 再次执行结果总览相关总体验证命令 mvn test -pl ccdi-project '-Dtest=CcdiProjectOverview*',共 22 个测试全部通过0 failure0 error。
  • 2026-03-20 12:05 根据线上异常日志补充 CcdiProjectOverviewMapperRiskModelPeopleTest 红灯断言,确认 selectRiskModelNamesByScope 存在 distinct + order by 非 select 列 的 MySQL 兼容性问题。
  • 2026-03-20 12:05 将 selectRiskModelNamesByScope 调整为 group by scoped.model_code, scoped.model_name 后重新执行 CcdiProjectOverviewMapperRiskModelPeopleTest2 个测试全部通过。
  • 2026-03-20 12:05 再次执行结果总览相关总体验证命令 mvn test -pl ccdi-project '-Dtest=CcdiProjectOverview*',共 22 个测试全部通过0 failure0 error。

结论

  • 结果总览模型区后端已补齐两个新接口:模型卡片统计与模型命中人员分页。
  • 人员分页查询已覆盖多模型 ANY / ALL、姓名/工号关键字、部门筛选,以及筛选上下文内的 modelNames/hitTagList 聚合。
  • 风险模型人员分页 SQL 已补齐 projectId 绑定桥接,避免公共 SQL 片段在分页查询场景下触发 MyBatis Parameter 'projectId' not found 异常。
  • 风险模型名称子查询已移除 distinct + 非 select 列排序 组合,避免 MySQL 8 在 ONLY_FULL_GROUP_BY 兼容校验下抛出 3065 异常。
  • 服务层已统一完成项目存在性校验、空列表封装和“查看详情”动作文案赋值。
  • 本轮验证仅执行 Maven 单元测试,未启动额外前后端进程,因此无需执行进程清理。