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