# 疑似敏感交易最低金额门槛后端实施记录 ## 修改背景 疑似敏感交易原先只要支出流水摘要或对手方命中赌博、游戏、彩票等敏感关键词,且支出金额大于 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。