# 涉疑交易明细模型命中范围调整实施记录

## 背景

风险明细模块的「涉疑交易」列表此前在模型规则命中部分限制为 `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` 的名单命中优先展示逻辑。
