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 接口,调用侧零改动