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

2.1 KiB

疑似敏感交易最低金额门槛后端实施记录

修改背景

疑似敏感交易原先只要支出流水摘要或对手方命中赌博、游戏、彩票等敏感关键词,且支出金额大于 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。