From c47931bb24ca6af478fb4bfa96869e76b05513c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Wed, 4 Nov 2026 18:26:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20BFI=E9=87=91=E8=9D=B6Feign=E8=AF=BB?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E6=94=B9=E4=B8=BA=E5=8F=AF=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B9=B6=E9=BB=98=E8=AE=A4=E6=8F=90=E5=8D=87=E8=87=B3120?= =?UTF-8?q?=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thirdparty/bfi/config/BfiFeignClientConfig.java | 5 +++-- .../springblade/thirdparty/bfi/config/BfiProperties.java | 8 ++++++++ doc/nacos/blade-dev.yaml | 3 +++ doc/nacos/blade-prod.yaml | 3 +++ doc/nacos/third-party-api.yaml | 3 +++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiFeignClientConfig.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiFeignClientConfig.java index 72396d90..1c791a1d 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiFeignClientConfig.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiFeignClientConfig.java @@ -69,8 +69,9 @@ public class BfiFeignClientConfig { } @Bean - public Request.Options options() { - return new Request.Options(10, TimeUnit.SECONDS, 60, TimeUnit.SECONDS, true); + public Request.Options options(BfiProperties properties) { + return new Request.Options(properties.getConnectTimeoutSeconds(), TimeUnit.SECONDS, + properties.getReadTimeoutSeconds(), TimeUnit.SECONDS, true); } @Bean diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiProperties.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiProperties.java index fd0ef5de..a3b59f98 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiProperties.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/config/BfiProperties.java @@ -64,6 +64,14 @@ public class BfiProperties { * 语言字串,默认 zh_CN */ private String language = "zh_CN"; + /** + * Feign 连接超时秒数,默认 10 秒 + */ + private long connectTimeoutSeconds = 10; + /** + * Feign 读超时秒数,默认 120 秒:金蝶保存类接口偶发超 60 秒,超时后远端可能已生成单据,重推会自动勾稽防重 + */ + private long readTimeoutSeconds = 120; /** * 是否启用 mock 模式(开发调试用):开启后 IBfiClient 走本地桩目录(有桩用桩、无桩透传真实接口,见 BfiClientMock) */ diff --git a/doc/nacos/blade-dev.yaml b/doc/nacos/blade-dev.yaml index d0692aec..1be026b9 100644 --- a/doc/nacos/blade-dev.yaml +++ b/doc/nacos/blade-dev.yaml @@ -156,6 +156,9 @@ thirdParty: username: ${BFI_USERNAME:XDWL-03024} accountId: ${BFI_ACCOUNT_ID:2454399096727798784} language: ${BFI_LANGUAGE:zh_CN} + # Feign 超时(秒):金蝶保存类接口偶发超 60 秒,超时后远端可能已生成单据,重推会自动勾稽防重 + connectTimeoutSeconds: ${BFI_CONNECT_TIMEOUT_SECONDS:10} + readTimeoutSeconds: ${BFI_READ_TIMEOUT_SECONDS:120} # 数据来源系统编码(推送金蝶公共参数:客商、付款申请等统一使用),默认 WLTMS(运输TMS) srcSys: ${BFI_SRC_SYS:WLTMS} diff --git a/doc/nacos/blade-prod.yaml b/doc/nacos/blade-prod.yaml index 9eae1638..60322695 100644 --- a/doc/nacos/blade-prod.yaml +++ b/doc/nacos/blade-prod.yaml @@ -122,6 +122,9 @@ thirdParty: username: ${BFI_USERNAME:} accountId: ${BFI_ACCOUNT_ID:} language: ${BFI_LANGUAGE:zh_CN} + # Feign 超时(秒):金蝶保存类接口偶发超 60 秒,超时后远端可能已生成单据,重推会自动勾稽防重 + connectTimeoutSeconds: ${BFI_CONNECT_TIMEOUT_SECONDS:10} + readTimeoutSeconds: ${BFI_READ_TIMEOUT_SECONDS:120} # 数据来源系统编码(推送金蝶公共参数:客商、付款申请等统一使用),默认 WLTMS(运输TMS) srcSys: ${BFI_SRC_SYS:WLTMS} # 金蝶黑名单查询(A801-5 客商提审拦截):禁止交易类(A)始终拦截; diff --git a/doc/nacos/third-party-api.yaml b/doc/nacos/third-party-api.yaml index 8b95f1dc..864baf09 100644 --- a/doc/nacos/third-party-api.yaml +++ b/doc/nacos/third-party-api.yaml @@ -52,6 +52,9 @@ thirdParty: accountId: ${BFI_ACCOUNT_ID:} # 语言字串,默认 zh_CN language: ${BFI_LANGUAGE:zh_CN} + # Feign 超时(秒):金蝶保存类接口偶发超 60 秒,超时后远端可能已生成单据,重推会自动勾稽防重 + connectTimeoutSeconds: ${BFI_CONNECT_TIMEOUT_SECONDS:10} + readTimeoutSeconds: ${BFI_READ_TIMEOUT_SECONDS:120} # BFI 客户端本地 Mock 开关(联调自测用,生产必须 false): # true 时 IBfiClient 有桩用桩({mockDir}/{接口方法名}.json)、无桩透传真实 Feign 接口,调用侧零改动