Browse Source

update 优化 TenantSpringCacheManager 处理逻辑

疯狂的狮子Li 8 months ago
parent
commit
f51e6d81b1

+ 9 - 0
ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java

@@ -1,5 +1,7 @@
 package org.dromara.common.tenant.manager;
 
+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.manager.PlusSpringCacheManager;
@@ -11,6 +13,7 @@ import org.springframework.cache.Cache;
  *
  * @author Lion Li
  */
+@Slf4j
 public class TenantSpringCacheManager extends PlusSpringCacheManager {
 
     public TenantSpringCacheManager() {
@@ -18,10 +21,16 @@ public class TenantSpringCacheManager extends PlusSpringCacheManager {
 
     @Override
     public Cache getCache(String name) {
+        if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) {
+            return super.getCache(name);
+        }
         if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) {
             return super.getCache(name);
         }
         String tenantId = TenantHelper.getTenantId();
+        if (StringUtils.isBlank(tenantId)) {
+            log.error("无法获取有效的租户id -> Null");
+        }
         if (StringUtils.startsWith(name, tenantId)) {
             // 如果存在则直接返回
             return super.getCache(name);