优化无外部人员涉疑交易查询

This commit is contained in:
wjj
2026-07-16 15:26:14 +08:00
parent 4a7cfde4af
commit 6d90bb4e58
8 changed files with 232 additions and 20 deletions

View File

@@ -0,0 +1,25 @@
# 涉疑交易无外部人员短路后端实施计划
## 背景
生产结果总览首屏中,`/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 结构测试。
- 验证无外部人员项目不再执行涉疑交易外部人员分支。