Files
ccdi/docs/tests/records/2026-03-24-special-check-extended-query-backend-verification.md

2.0 KiB

2026-03-24 专项核查拓展查询后端验证记录

执行命令

mvn test -pl ccdi-project -Dtest=CcdiProjectSpecialCheckExtendedQueryContractTest,CcdiProjectSpecialCheckExtendedPurchaseSqlTest,CcdiProjectSpecialCheckExtendedRecruitmentSqlTest,CcdiProjectSpecialCheckExtendedTransferSqlTest,CcdiProjectSpecialCheckExtendedQueryServiceImplTest
mvn test -pl ccdi-project

执行结果

  • 聚焦专项核查拓展查询测试通过,Tests run: 11, Failures: 0, Errors: 0, Skipped: 0
  • ccdi-project 模块全量测试通过,Tests run: 178, Failures: 0, Errors: 0, Skipped: 0

项目范围口径检查

  • 未发现与 projectEmployeeScopeSql 项目员工范围口径相关的偏差
  • 采购、招聘、调动 3 个主题的列表与详情 SQL 都锁定了项目范围归属条件
  • 服务层已统一校验项目存在性,并在详情不归属项目范围时返回统一业务错误

失败与既有问题说明

  • 本次验证未出现失败
  • 模块全量测试存在若干业务日志与 Mockito 动态 agent 警告,但不影响测试通过,且不属于本次改动引入的问题

追加修复记录

  • 2026-03-24 晚间追加修复了拓展查询列表 SQL 的 projectId 绑定问题
  • 根因是 projectEmployeeScopeSql 依赖 #{projectId},而采购、招聘、调动 3 个列表查询实际通过 @Param("query") 传参,运行期顶层参数表中不存在直接可用的 projectId
  • 修复方式是在 selectExtendedPurchasePageselectExtendedRecruitmentPageselectExtendedTransferPage 中统一增加 <bind name="projectId" value="query.projectId"/>
  • 追加验证命令:
mvn test -pl ccdi-project -Dtest=CcdiProjectSpecialCheckExtendedQueryContractTest,CcdiProjectSpecialCheckExtendedPurchaseSqlTest,CcdiProjectSpecialCheckExtendedRecruitmentSqlTest,CcdiProjectSpecialCheckExtendedTransferSqlTest,CcdiProjectSpecialCheckExtendedQueryServiceImplTest,CcdiProjectSpecialCheckControllerTest
  • 追加验证结果:Tests run: 16, Failures: 0, Errors: 0, Skipped: 0