update 优化 多租户插件初始化流程

This commit is contained in:
疯狂的狮子Li 2024-10-29 16:42:04 +08:00
parent 1757e5519d
commit 9b6b288e73
2 changed files with 9 additions and 14 deletions

View File

@ -38,6 +38,7 @@ public class MybatisPlusConfig {
TenantLineInnerInterceptor tenant = SpringUtils.getBean(TenantLineInnerInterceptor.class); TenantLineInnerInterceptor tenant = SpringUtils.getBean(TenantLineInnerInterceptor.class);
interceptor.addInnerInterceptor(tenant); interceptor.addInnerInterceptor(tenant);
} catch (BeansException ignore) { } catch (BeansException ignore) {
ignore.printStackTrace();
} }
// 数据权限处理 // 数据权限处理
interceptor.addInnerInterceptor(dataPermissionInterceptor()); interceptor.addInnerInterceptor(dataPermissionInterceptor());

View File

@ -4,7 +4,6 @@ import cn.dev33.satoken.dao.SaTokenDao;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import org.dromara.common.core.utils.reflect.ReflectUtils; import org.dromara.common.core.utils.reflect.ReflectUtils;
import org.dromara.common.mybatis.config.MybatisPlusConfig;
import org.dromara.common.redis.config.RedisConfig; import org.dromara.common.redis.config.RedisConfig;
import org.dromara.common.redis.config.properties.RedissonProperties; import org.dromara.common.redis.config.properties.RedissonProperties;
import org.dromara.common.tenant.core.TenantSaTokenDao; import org.dromara.common.tenant.core.TenantSaTokenDao;
@ -16,7 +15,7 @@ import org.redisson.config.ClusterServersConfig;
import org.redisson.config.SingleServerConfig; import org.redisson.config.SingleServerConfig;
import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer; import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
@ -33,18 +32,13 @@ import org.springframework.context.annotation.Primary;
@ConditionalOnProperty(value = "tenant.enable", havingValue = "true") @ConditionalOnProperty(value = "tenant.enable", havingValue = "true")
public class TenantConfig { public class TenantConfig {
@ConditionalOnBean(MybatisPlusConfig.class) /**
@AutoConfiguration(after = {MybatisPlusConfig.class}) * 多租户插件
static class MybatisPlusConfiguration { */
@ConditionalOnClass(TenantLineInnerInterceptor.class)
/** @Bean
* 多租户插件 public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) {
*/ return new TenantLineInnerInterceptor(new PlusTenantLineHandler(tenantProperties));
@Bean
public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) {
return new TenantLineInnerInterceptor(new PlusTenantLineHandler(tenantProperties));
}
} }
@Bean @Bean