From f1208474f771a1c233d7425c8ed13fbaa0d521ac Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 09:35:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/5.X' into 5.X --- ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java | 31 ++++++++++++++++++++++++++++--- 1 files changed, 28 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java index c9c2f95..dcdef6e 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java @@ -1,5 +1,7 @@ package org.dromara.common.tenant.handle; +import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; +import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.redis.handler.KeyPrefixHandler; @@ -10,6 +12,7 @@ * * @author Lion Li */ +@Slf4j public class TenantKeyPrefixHandler extends KeyPrefixHandler { public TenantKeyPrefixHandler(String keyPrefix) { @@ -24,11 +27,22 @@ if (StringUtils.isBlank(name)) { return null; } + try { + if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) { + return super.map(name); + } + } catch (NoClassDefFoundError ignore) { + // 鏈変簺鏈嶅姟涓嶉渶瑕乵p瀵艰嚧绫讳笉瀛樺湪 蹇界暐鍗冲彲 + } if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) { return super.map(name); } String tenantId = TenantHelper.getTenantId(); - if (StringUtils.startsWith(name, tenantId)) { + if (StringUtils.isBlank(tenantId)) { + log.debug("鏃犳硶鑾峰彇鏈夋晥鐨勭鎴穒d -> Null"); + return super.map(name); + } + if (StringUtils.startsWith(name, tenantId + "")) { // 濡傛灉瀛樺湪鍒欑洿鎺ヨ繑鍥� return super.map(name); } @@ -44,11 +58,22 @@ if (StringUtils.isBlank(unmap)) { return null; } + try { + if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) { + return unmap; + } + } catch (NoClassDefFoundError ignore) { + // 鏈変簺鏈嶅姟涓嶉渶瑕乵p瀵艰嚧绫讳笉瀛樺湪 蹇界暐鍗冲彲 + } if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) { - return super.unmap(name); + return unmap; } String tenantId = TenantHelper.getTenantId(); - if (StringUtils.startsWith(unmap, tenantId)) { + if (StringUtils.isBlank(tenantId)) { + log.debug("鏃犳硶鑾峰彇鏈夋晥鐨勭鎴穒d -> Null"); + return unmap; + } + if (StringUtils.startsWith(unmap, tenantId + "")) { // 濡傛灉瀛樺湪鍒欏垹闄� return unmap.substring((tenantId + ":").length()); } -- Gitblit v1.9.3