feat: 接入供应商钉钉门户权限 #436

Merged
renshen merged 1 commits from feature/sumu-supplier-dingtalk-portal into main 2026-10-21 16:24:16 +08:00
Collaborator

改动

  • 对非财务钉钉人员增加供应商组织准入:当前有效的 hr_employee 成员,按部门祖先名称精确对应唯一供应商主档后自动开户。
  • 新增 supplier_portal_identities 映射表,记录每个钉钉账号的供应商归属并保留最近核验时间。
  • 供应商账号采用独立 dingtalk_supplier_portal 模式,只允许进入“供应商对账 → 厂家端数据”及模板、上传、确认、异议和导出接口。
  • 服务端强制覆盖请求中的供应商参数;页面不返回其他供应商候选,退货操作还会校验明细归属。
  • 每 5 分钟重新核验钉钉在职和供应商组织;移除、停用、同名多供应商或组织循环时注销会话。
  • 供应商别名映射暂不启用,“可乐办公”别名待业务确认。

验证

  • 76 项相关测试、625 个断言通过。
  • 覆盖自动开户、仅单页权限、越权访问、伪造供应商上传、确认/异议、组织移除和财务账号回归。
  • 生产现存对账单最大 121 行(约 7.3 KB),本地流式解析耗时约 5 ms,峰值 68 MB且无可测增量。
  • 未在生产执行压测或全量重跑。
## 改动 - 对非财务钉钉人员增加供应商组织准入:当前有效的 `hr_employee` 成员,按部门祖先名称精确对应唯一供应商主档后自动开户。 - 新增 `supplier_portal_identities` 映射表,记录每个钉钉账号的供应商归属并保留最近核验时间。 - 供应商账号采用独立 `dingtalk_supplier_portal` 模式,只允许进入“供应商对账 → 厂家端数据”及模板、上传、确认、异议和导出接口。 - 服务端强制覆盖请求中的供应商参数;页面不返回其他供应商候选,退货操作还会校验明细归属。 - 每 5 分钟重新核验钉钉在职和供应商组织;移除、停用、同名多供应商或组织循环时注销会话。 - 供应商别名映射暂不启用,“可乐办公”别名待业务确认。 ## 验证 - 76 项相关测试、625 个断言通过。 - 覆盖自动开户、仅单页权限、越权访问、伪造供应商上传、确认/异议、组织移除和财务账号回归。 - 生产现存对账单最大 121 行(约 7.3 KB),本地流式解析耗时约 5 ms,峰值 68 MB且无可测增量。 - 未在生产执行压测或全量重跑。
renshen added 1 commit 2026-10-21 16:24:14 +08:00
renshen merged commit a6f4ca8ccc into main 2026-10-21 16:24:16 +08:00
renshen deleted branch feature/sumu-supplier-dingtalk-portal 2026-10-21 16:24:16 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#436
No description provided.