Files
ccdi/docs/plans/backend/2026-07-16-suspicious-transactions-external-short-circuit-backend-implementation.md

1.3 KiB

涉疑交易无外部人员短路后端实施计划

背景

生产结果总览首屏中,/ccdi/project/overview/suspicious-transactions 在无外部人员项目上可能超过前端 10 秒超时。该接口的汇总 SQL 无条件拼接外部人员预警分支,导致只上传员工数据的项目仍会执行外部人员复杂关联。

目标

  • 保持涉疑交易原有口径不变。
  • 当项目不存在外部人员主体时,跳过涉疑交易中的外部人员预警分支。
  • 当查询类型为 EXTERNAL_PERSON 且项目不存在外部人员主体时,直接返回空结果。

实施步骤

  1. CcdiProjectSuspiciousTransactionQueryDTO 增加内部开关 includeExternalPerson
  2. CcdiProjectOverviewMapper 增加轻量外部人员主体存在性判断。
  3. CcdiProjectOverviewMapper.xml 中将 externalSuspiciousTransactionSqlunion all 改为按 includeExternalPerson 条件拼接。
  4. CcdiProjectOverviewServiceImpl 中按 suspiciousType 设置外部人员分支开关;EXTERNAL_PERSON 无主体时直接返回空分页或空导出列表。
  5. 补充 Mapper SQL 结构测试和 Service 行为测试。

验证

  • 运行涉疑交易相关单测。
  • 运行结果总览 Mapper SQL 结构测试。
  • 验证无外部人员项目不再执行涉疑交易外部人员分支。