From 6f0d02f80d237efe96e88c6fe91c55dc503a16b1 Mon Sep 17 00:00:00 2001 From: shenzhidan Date: Mon, 13 Jul 2026 09:26:59 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BA=BA=E5=91=98=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../integration/finds/OpenapiConfigCache.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/web-app/src/main/java/com/zcloud/personnel/positioning/integration/finds/OpenapiConfigCache.java b/web-app/src/main/java/com/zcloud/personnel/positioning/integration/finds/OpenapiConfigCache.java index ebf0c80..bdcff1c 100644 --- a/web-app/src/main/java/com/zcloud/personnel/positioning/integration/finds/OpenapiConfigCache.java +++ b/web-app/src/main/java/com/zcloud/personnel/positioning/integration/finds/OpenapiConfigCache.java @@ -24,6 +24,11 @@ public class OpenapiConfigCache { private static final String REDIS_KEY_PREFIX = "personnel-positioning:finds:openapi-config:"; private static final String DEFAULT_KEY = "default"; private static final String NULL_VALUE = "__NULL__"; + private static final String BUILT_IN_HOST_URL = "http://192.168.193.23/"; + private static final String BUILT_IN_EXTERNAL_PREFIX = "/rest/"; + private static final String BUILT_IN_INTERNAL_PREFIX = "/openapi/"; + private static final String BUILT_IN_SIK = "e7de99fd282e4e97f2aed8f0429edcee"; + private static final String BUILT_IN_SIS = "08a8458541e06b825093738fb572d0277b3919ff4bd8cd59a3ace96627e9bde8"; private static final long LOCAL_TTL_MILLIS = Duration.ofMinutes(5).toMillis(); private static final Duration REDIS_TTL = Duration.ofMinutes(30); private static final Duration REDIS_NULL_TTL = Duration.ofMinutes(2); @@ -47,7 +52,26 @@ public class OpenapiConfigCache { if (companyConfig != null) { return companyConfig; } - return getOrLoad(DEFAULT_KEY, this::queryDefaultConfig); + OpenapiConfigDO defaultConfig = getOrLoad(DEFAULT_KEY, this::queryDefaultConfig); + return defaultConfig == null ? builtInConfig() : defaultConfig; + } + + /** + * Keeps FindS available before an environment-specific configuration is persisted. + * Enabled database records always take precedence over this built-in fallback. + */ + private OpenapiConfigDO builtInConfig() { + OpenapiConfigDO config = new OpenapiConfigDO(); + config.setConfigCode("FINDS_BUILT_IN"); + config.setConfigName("FindS built-in configuration"); + config.setVendorName("FindS"); + config.setHostUrl(BUILT_IN_HOST_URL); + config.setExternalPrefix(BUILT_IN_EXTERNAL_PREFIX); + config.setInternalPrefix(BUILT_IN_INTERNAL_PREFIX); + config.setSik(BUILT_IN_SIK); + config.setSisCipherText(BUILT_IN_SIS); + config.setEnabled(1); + return config; } public void evictAll() {