From 262a9e0183e9ecb5d6a9a4ae475bd77b3cd50ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sat, 8 Aug 2026 00:58:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E8=A7=A3=E5=86=B3=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E9=85=8D=E7=BD=AE=E6=9B=B4=E6=96=B0=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E5=90=8C=E6=AD=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在SettingController中,上传配置变更后清除对应租户的上传缓存,避免接口继续命中旧配置 - 在SettingServiceImpl的更新方法中,上传配置变更成功后删除对应租户的上传缓存,确保配置生效 - 统一处理上传配置缓存清理,提高系统配置更新的正确性和一致性 --- .../common/system/controller/SettingController.java | 4 ++++ .../common/system/service/impl/SettingServiceImpl.java | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gxwebsoft/common/system/controller/SettingController.java b/src/main/java/com/gxwebsoft/common/system/controller/SettingController.java index fe42930..b6a951a 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/SettingController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/SettingController.java @@ -111,6 +111,10 @@ public class SettingController extends BaseController { // 更新系统设置信息到缓存 key = "" String key = setting.getSettingKey().concat(":").concat(loginUser.getTenantId().toString()); redisUtil.set(key, JSON.parseObject(setting.getContent())); + // 上传配置变更后需同步清除上传缓存,避免 /api/oss/upload 继续命中旧配置 + if ("upload".equals(setting.getSettingKey())) { + redisUtil.delete("Upload:" + loginUser.getTenantId()); + } // 更新租户信息 if (setting.getSettingKey().equals("setting")) { final String content = setting.getContent(); diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/SettingServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/SettingServiceImpl.java index ac8455c..ce2bf0d 100644 --- a/src/main/java/com/gxwebsoft/common/system/service/impl/SettingServiceImpl.java +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/SettingServiceImpl.java @@ -182,7 +182,15 @@ public class SettingServiceImpl extends ServiceImpl impl @Override public boolean updateByKey(Setting setting) { - return update(setting, new QueryWrapper().eq("setting_key", setting.getSettingKey())); + boolean ok = update(setting, new QueryWrapper().eq("setting_key", setting.getSettingKey())); + // 上传配置变更后必须清缓存,否则 /api/oss/upload 仍读到旧的 Upload:{tenantId} 缓存 + if (ok && "upload".equals(setting.getSettingKey())) { + Integer tenantId = setting.getTenantId(); + if (tenantId != null) { + redisUtil.delete("Upload:" + tenantId); + } + } + return ok; } }