fix: BFI金蝶Feign读超时改为可配置并默认提升至120秒

This commit is contained in:
刘泉佳
2026-11-04 18:26:59 +08:00
parent 9f1eda6f4d
commit c47931bb24
5 changed files with 20 additions and 2 deletions
@@ -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
@@ -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)
*/
+3
View File
@@ -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}
+3
View File
@@ -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)始终拦截;
+3
View File
@@ -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 接口,调用侧零改动