Files
track-LICA/backend
duxingchen 700486d5d5 fix(webhook): 白名单判定容忍大小写,堵住「两边都丢弃」的静默黑洞
_belongs_to_this_org 此前是 (company_name or "").strip() == ORG_DEPARTMENT ——
只 strip 不 upper,而 IRIS 的 _is_foreign_company 做了 .upper()。两边口径不一致
的后果:

  company_name = "lica" / "Lica"
    → IRIS:.upper() 命中外来名单,拒掉
    → LICA:不等于 "LICA",白名单拒掉
    → 双方都回 200,消息彻底静默丢失

这正是本文档最该防的那种「漏」。改为 .strip().upper() 与 IRIS 对齐。

「严格」指的是白名单语义(只有本部门才收),不是逐字节比对 —— 空白值依然被
拒、未知部门名依然被拒,只是不再因为大小写写法白白丢消息。

实测 11 种取值:修复前 "lica" / "Lica" 是两个黑洞(两边都丢弃),修复后 0 个;
空白 / 全空格 / "IRIS" / "UNKNOWN" / None 仍然全部忽略,严格性未放松。

顺带修正 outbound_type 的取值注释:MOM 的 TransOutbound.outbound_type 实际是
SALES / USE / PRODUCTION(见 projects inventory-backend/app/models/outbound.py
第 136 行),原注释漏了 USE。
2026-09-22 13:46:12 +08:00
..