Files
ccdi/docs/reports/implementation/2026-06-01-suspicious-transaction-model-hit-scope.md

36 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 涉疑交易明细模型命中范围调整实施记录
## 背景
风险明细模块的「涉疑交易」列表此前在模型规则命中部分限制为 `rule_name like '%可疑%'`,并额外包含 `ABNORMAL_CUSTOMER_TRANSACTION`。该口径会导致大额单笔、短时间多笔存现等已有流水级命中模型无法进入涉疑交易明细。
本次确认的业务口径为:涉疑交易明细应放开展示所有流水级模型命中;名单库命中只在同一笔流水同时命中时优先展示匹配对象和标签,不作为模型命中的过滤条件。
## 修改内容
- 调整 `CcdiProjectOverviewMapper.xml``suspiciousTransactionModelHitSql`
- 保留 `tr.project_id = #{query.projectId}`
- 保留 `tr.bank_statement_id is not null`,仅展示可落到具体流水的命中。
- 删除 `rule_name like '%可疑%'``tr.rule_code = 'ABNORMAL_CUSTOMER_TRANSACTION'` 限制。
- 保持名单库命中逻辑不变:
- 信贷客户账号命中优先级为 1。
- 中介账号、姓名、企业名称命中按原 `matchPriority` 聚合。
- 同一笔流水既有模型命中又有名单命中时,`suspiciousPersonName``nameListHitType` 仍优先取名单命中结果。
- 更新 SQL 单测,明确校验模型命中范围已放开,并校验名单命中优先级聚合逻辑仍存在。
## 影响范围
- 影响页面:项目详情风险明细模块的「涉疑交易」列表及导出。
- 影响数据范围:所有 `ccdi_bank_statement_tag_result.bank_statement_id is not null` 的流水级规则命中均可进入涉疑交易明细。
- 不影响对象级命中:`bank_statement_id is null` 的员工/家庭/资产等对象级结果仍不会进入该流水明细列表。
- 不影响名单库命中阈值和匹配规则。
## 验证
- 已执行 `mvn -pl ccdi-project -Dtest=CcdiProjectOverviewMapperSqlTest test`,结果通过:`Tests run: 7, Failures: 0, Errors: 0, Skipped: 0`
- 验证点:
- `suspiciousTransactionModelHitSql` 不再包含 `rule_name like '%可疑%'`
- `suspiciousTransactionModelHitSql` 不再包含 `ABNORMAL_CUSTOMER_TRANSACTION` 单规则特例。
- `suspiciousTransactionModelHitSql` 保留 `tr.bank_statement_id is not null`
- 聚合 SQL 保留基于 `matchPriority` 的名单命中优先展示逻辑。