# 涉疑交易无外部人员短路后端实施计划 ## 背景 生产结果总览首屏中,`/ccdi/project/overview/suspicious-transactions` 在无外部人员项目上可能超过前端 10 秒超时。该接口的汇总 SQL 无条件拼接外部人员预警分支,导致只上传员工数据的项目仍会执行外部人员复杂关联。 ## 目标 - 保持涉疑交易原有口径不变。 - 当项目不存在外部人员主体时,跳过涉疑交易中的外部人员预警分支。 - 当查询类型为 `EXTERNAL_PERSON` 且项目不存在外部人员主体时,直接返回空结果。 ## 实施步骤 1. 在 `CcdiProjectSuspiciousTransactionQueryDTO` 增加内部开关 `includeExternalPerson`。 2. 在 `CcdiProjectOverviewMapper` 增加轻量外部人员主体存在性判断。 3. 在 `CcdiProjectOverviewMapper.xml` 中将 `externalSuspiciousTransactionSql` 的 `union all` 改为按 `includeExternalPerson` 条件拼接。 4. 在 `CcdiProjectOverviewServiceImpl` 中按 `suspiciousType` 设置外部人员分支开关;`EXTERNAL_PERSON` 无主体时直接返回空分页或空导出列表。 5. 补充 Mapper SQL 结构测试和 Service 行为测试。 ## 验证 - 运行涉疑交易相关单测。 - 运行结果总览 Mapper SQL 结构测试。 - 验证无外部人员项目不再执行涉疑交易外部人员分支。