diff --git a/doc/docs/业务流程/2026-10-09-金蝶单据锁定与解锁业务流程(lockBusiData锁定-unLockNotifyBusiData回调-失败补偿-删单还原).md b/doc/docs/业务流程/2026-10-09-金蝶单据锁定与解锁业务流程(lockBusiData锁定-unLockNotifyBusiData回调-失败补偿-删单还原).md index a417d552..232f1e44 100644 --- a/doc/docs/业务流程/2026-10-09-金蝶单据锁定与解锁业务流程(lockBusiData锁定-unLockNotifyBusiData回调-失败补偿-删单还原).md +++ b/doc/docs/业务流程/2026-10-09-金蝶单据锁定与解锁业务流程(lockBusiData锁定-unLockNotifyBusiData回调-失败补偿-删单还原).md @@ -125,5 +125,10 @@ failed(锁定失败,待补偿)→ locked(金蝶锁定中)→ unlocked 1. Nacos 配置 `thirdParty.bfi.billLockUrl`:lockBusiData 真实路径(代码默认占位 `/ierp/kapi/app/billLock/lockBusiData`,以金蝶最终提供为准) 2. Nacos 开启补偿:`thirdParty.bfi.billLock.retryEnabled: true`(按环境) 3. 向金蝶提供回调地址:网关地址 + transport 服务路由 + `/kingdee-bfi/unLockNotifyBusiData`; - 免登免授权已双层配置——网关/secure 白名单 `blade.secure.skip-url` 放行 `/blade-transport/kingdee-bfi/**` 与 `/kingdee-bfi/**`(doc/nacos/blade.yaml,需同步到 Nacos 实际配置),服务侧端点 `@PreAuth(AuthConstant.PERMIT_ALL) + @TenantIgnore` + 免登免授权已三层配置(照 BladeX 两层鉴权模型): + ① 第一层 Token 放行:`blade.secure.skip-url` 放行 `/blade-transport/kingdee-bfi/**` 与 `/kingdee-bfi/**`; + ② 第二层注解放行:端点类级 `@PreAuth(AuthConstant.PERMIT_ALL)`(即 permitAll())+ `@TenantIgnore`; + ③ 框架层规则兜底:`blade.secure.auth` 追加两 pattern 的 `permitAll()` 规则(模板与 Nacos 实际均已配)。 + Nacos 实际配置已核对一致;环境级 blade-dev/test/prod.yaml 无 secure 段覆盖。 + 联调验证:服务启动后无令牌 POST 应返回业务参数校验错误(JSON),返回 401「请求未授权」即白名单未生效 4. 与金蝶确认 WLTMS 单据类型编码(SETTLEMENT/INVOICE_APPLY)与 DELETE 还原口径 diff --git a/doc/nacos/blade.yaml b/doc/nacos/blade.yaml index 9ec6f305..56207ecb 100644 --- a/doc/nacos/blade.yaml +++ b/doc/nacos/blade.yaml @@ -257,6 +257,13 @@ blade: - method: POST pattern: /dashboard/submit expression: "hasAnyRole('administrator', 'admin', 'user')" + # 金蝶单据解锁回调(unLockNotifyBusiData):金蝶侧无令牌调用,免登免授权 + - method: POST + pattern: /blade-transport/kingdee-bfi/** + expression: "permitAll()" + - method: POST + pattern: /kingdee-bfi/** + expression: "permitAll()" #基础认证配置 basic: - method: ALL