From 8b9226643cbf1daedb2b863e0d7833c4129cbb17 Mon Sep 17 00:00:00 2001 From: wjj <2069666735@qq.com> Date: Fri, 3 Jul 2026 09:15:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B6=89=E7=96=91=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E6=98=8E=E7=BB=86=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iProjectSuspiciousTransactionQueryDTO.java | 3 + .../impl/CcdiProjectOverviewServiceImpl.java | 5 + .../project/CcdiProjectOverviewMapper.xml | 12 ++ ...-02-suspicious-transaction-model-filter.md | 30 ++++ ruoyi-ui/src/api/ccdi/projectOverview.js | 1 + .../components/detail/RiskDetailSection.vue | 142 +++++++++++++++--- .../detail/preliminaryCheck.mock.js | 1 + 7 files changed, 169 insertions(+), 25 deletions(-) create mode 100644 docs/reports/implementation/2026-07-02-suspicious-transaction-model-filter.md diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/CcdiProjectSuspiciousTransactionQueryDTO.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/CcdiProjectSuspiciousTransactionQueryDTO.java index 2cc9e6e1..2babf192 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/CcdiProjectSuspiciousTransactionQueryDTO.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/dto/CcdiProjectSuspiciousTransactionQueryDTO.java @@ -11,6 +11,9 @@ public class CcdiProjectSuspiciousTransactionQueryDTO { /** 项目ID */ private Long projectId; + /** 模型编码 */ + private String modelCode; + /** 涉疑类型 */ private String suspiciousType; diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java index 1d7e92ff..aaa12823 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectOverviewServiceImpl.java @@ -625,6 +625,11 @@ public class CcdiProjectOverviewServiceImpl implements ICcdiProjectOverviewServi } private void normalizeSuspiciousTransactionQuery(CcdiProjectSuspiciousTransactionQueryDTO queryDTO) { + if (queryDTO.getModelCode() != null && !queryDTO.getModelCode().isBlank()) { + queryDTO.setModelCode(queryDTO.getModelCode().trim().toUpperCase()); + } else { + queryDTO.setModelCode(null); + } if (queryDTO.getSuspiciousType() == null || queryDTO.getSuspiciousType().isBlank()) { queryDTO.setSuspiciousType("ALL"); return; diff --git a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml index facf2e2e..076abb30 100644 --- a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml +++ b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectOverviewMapper.xml @@ -972,6 +972,9 @@ from ccdi_bank_statement_tag_result tr where tr.project_id = #{query.projectId} and tr.bank_statement_id is not null + + and tr.model_code = #{query.modelCode} + @@ -1203,6 +1206,15 @@ where final_result.hasModelRuleHit = 1 or final_result.hasNameListHit = 1 + + and exists ( + select 1 + from ccdi_bank_statement_tag_result model_filter + where model_filter.project_id = #{query.projectId} + and model_filter.bank_statement_id = final_result.bankStatementId + and model_filter.model_code = #{query.modelCode} + ) +