Files
ccdi/docs/reports/implementation/2026-07-13-gambling-sensitive-keyword-min-amount-backend.md
2026-07-13 13:05:35 +08:00

36 lines
2.1 KiB
Markdown

# 疑似敏感交易最低金额门槛后端实施记录
## 修改背景
疑似敏感交易原先只要支出流水摘要或对手方命中赌博、游戏、彩票等敏感关键词,且支出金额大于 0 即会命中,导致 20 元、50 元等小额支出也进入疑似敏感交易明细。
参考本地知识库中 LSFX 的个人敏感支出口径,敏感类规则通常会结合金额条件控制误报。本次按业务确认,不新增模型参数,不改数据库脚本,直接在后端规则查询中固定最低金额门槛。
## 修改内容
1. 员工疑似敏感交易 `GAMBLING_SENSITIVE_KEYWORD`
- 命中条件由 `AMOUNT_DR > 0` 调整为 `AMOUNT_DR >= 200`
- 命中原因追加“达到敏感交易最低金额 200 元”。
2. 外部人员疑似赌博摘要 `EXTERNAL_GAMBLING_MEMO`
- 命中条件由交易金额大于 0 调整为交易金额 `>= 200`
- 交易金额仍按收入、支出两侧最大值判断。
- 命中原因追加“达到敏感交易最低金额 200 元”。
3. 后端单测
- 增加 Mapper XML 断言,确保两类敏感关键词规则都保留 200 元最低金额门槛。
## 影响范围
- 影响员工疑似赌博模型下的“疑似敏感交易”流水命中。
- 影响外部人员可疑赌博模型下的“外部人员疑似赌博摘要”流水命中。
- 不新增模型参数,不改 `ccdi_model_param`,不需要执行数据库脚本。
- 低于 200 元的敏感词流水不再命中上述两类规则。
## 验证情况
- 已补充后端 Mapper XML 单测断言。
- `mvn -pl ccdi-project -DskipTests compile` 执行通过。
- 已执行 Mapper 静态校验,确认员工疑似敏感交易和外部人员疑似赌博摘要均包含 `>= 200` 最低金额条件。
- 尝试执行 `mvn -pl ccdi-project "-Dtest=CcdiBankTagAnalysisMapperXmlTest,BankTagRuleConfigResolverTest,CcdiBankTagServiceImplTest" test`,但在 `testCompile` 阶段被既有无关测试编译错误阻断:`CcdiFileUploadServiceImplTest` 仍使用旧版 `LsfxAnalysisClient.uploadFile` 参数签名,`CcdiBankStatementTest` 仍调用当前 `BankStatementItem` 不存在的旧 setter。