1.8 KiB
1.8 KiB
涉疑交易无外部人员短路实施记录
修改内容
- 为涉疑交易查询 DTO 增加
includeExternalPerson内部开关。 - 新增
selectExternalPersonSubjectExistsByProjectId,使用limit 1轻量判断项目是否存在外部人员主体。 - 将涉疑交易 SQL 中外部人员预警
union all改为按includeExternalPerson条件拼接。 - 在涉疑交易分页和导出服务入口设置外部人员分支开关;
EXTERNAL_PERSON且无外部人员主体时直接返回空结果。 - 补充 Service 单测和 Mapper SQL 结构测试。
影响范围
- 影响接口:
GET /ccdi/project/overview/suspicious-transactions- 涉疑交易导出相关服务调用
- 不改变员工本人、员工亲属、模型规则、名单命中等涉疑交易原有查询口径。
- 不修改前端逻辑和数据库表结构。
验证情况
- 首次执行以下命令时,未带
-am编译依赖模块,ccdi-project使用本地旧版ccdi-lsfx依赖,导致编译阶段出现 LSFX 接口签名不一致报错,未进入测试阶段:
mvn -pl ccdi-project "-Dtest=CcdiProjectOverviewServiceSuspiciousTransactionTest,CcdiProjectOverviewMapperSqlTest" test
- 已使用
-am重新构建依赖模块并执行定向单测:
mvn -pl ccdi-project -am "-Dtest=CcdiProjectOverviewServiceSuspiciousTransactionTest,CcdiProjectOverviewMapperSqlTest" "-Dsurefire.failIfNoSpecifiedTests=false" test
- 结果:通过,
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0。 - 覆盖测试:
CcdiProjectOverviewServiceSuspiciousTransactionTestCcdiProjectOverviewMapperSqlTest
备注
本次修复针对无外部人员项目的性能短路,避免为了计算“没有外部人员”而执行外部人员预警复杂关联。