From 25836328835ca4f017658ab546b654a5e5b92c09 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 25 四月 2024 12:50:42 +0800 Subject: [PATCH] update springboot 3.2.4 => 3.2.5 update mybatis-plus 3.5.5 => 3.5.6 适配更改代码 update springdoc 2.4.0 => 2.5.0 update easyexcel 3.3.3 => 3.3.4 update redisson 3.27.2 => 3.29.0 update lombok 1.18.30 => 1.18.32 update sms4j 3.2.0 => 3.2.1 --- ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java | 22 +++++++---- ruoyi-common/ruoyi-common-mybatis/pom.xml | 11 ----- ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java | 21 +++++++--- pom.xml | 24 ++++++------ 4 files changed, 40 insertions(+), 38 deletions(-) diff --git a/pom.xml b/pom.xml index 6f0ea0c..5b1745f 100644 --- a/pom.xml +++ b/pom.xml @@ -14,23 +14,23 @@ <properties> <revision>5.2.0-SNAPSHOT</revision> - <spring-boot.version>3.2.4</spring-boot.version> + <spring-boot.version>3.2.5</spring-boot.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>17</java.version> - <spring-boot.mybatis>3.0.3</spring-boot.mybatis> - <springdoc.version>2.4.0</springdoc.version> + <mybatis.version>3.5.16</mybatis.version> + <springdoc.version>2.5.0</springdoc.version> <therapi-javadoc.version>0.15.0</therapi-javadoc.version> <poi.version>5.2.3</poi.version> - <easyexcel.version>3.3.3</easyexcel.version> + <easyexcel.version>3.3.4</easyexcel.version> <velocity.version>2.3</velocity.version> <satoken.version>1.37.0</satoken.version> - <mybatis-plus.version>3.5.5</mybatis-plus.version> + <mybatis-plus.version>3.5.6</mybatis-plus.version> <p6spy.version>3.9.1</p6spy.version> - <hutool.version>5.8.26</hutool.version> + <hutool.version>5.8.27</hutool.version> <okhttp.version>4.10.0</okhttp.version> <spring-boot-admin.version>3.2.3</spring-boot-admin.version> - <redisson.version>3.27.2</redisson.version> + <redisson.version>3.29.0</redisson.version> <lock4j.version>2.2.7</lock4j.version> <dynamic-ds.version>4.3.0</dynamic-ds.version> <alibaba-ttl.version>2.14.4</alibaba-ttl.version> @@ -38,7 +38,7 @@ <easyretry.version>3.2.0</easyretry.version> <mapstruct-plus.version>1.3.6</mapstruct-plus.version> <mapstruct-plus.lombok.version>0.2.0</mapstruct-plus.lombok.version> - <lombok.version>1.18.30</lombok.version> + <lombok.version>1.18.32</lombok.version> <bouncycastle.version>1.76</bouncycastle.version> <justauth.version>1.16.6</justauth.version> <!-- 绂荤嚎IP鍦板潃瀹氫綅搴� --> @@ -48,7 +48,7 @@ <aws.sdk.version>2.25.15</aws.sdk.version> <aws.crt.version>0.29.13</aws.crt.version> <!-- SMS 閰嶇疆 --> - <sms4j.version>3.2.0</sms4j.version> + <sms4j.version>3.2.1</sms4j.version> <!-- 闄愬埗妗嗘灦涓殑fastjson鐗堟湰 --> <fastjson.version>1.2.83</fastjson.version> @@ -218,9 +218,9 @@ </dependency> <dependency> - <groupId>org.mybatis.spring.boot</groupId> - <artifactId>mybatis-spring-boot-starter</artifactId> - <version>${spring-boot.mybatis}</version> + <groupId>org.mybatis</groupId> + <artifactId>mybatis</artifactId> + <version>${mybatis.version}</version> </dependency> <dependency> diff --git a/ruoyi-common/ruoyi-common-mybatis/pom.xml b/ruoyi-common/ruoyi-common-mybatis/pom.xml index 16d8d5c..a58064a 100644 --- a/ruoyi-common/ruoyi-common-mybatis/pom.xml +++ b/ruoyi-common/ruoyi-common-mybatis/pom.xml @@ -33,19 +33,8 @@ </dependency> <dependency> - <groupId>org.mybatis.spring.boot</groupId> - <artifactId>mybatis-spring-boot-starter</artifactId> - </dependency> - - <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> - <exclusions> - <exclusion> - <groupId>org.mybatis</groupId> - <artifactId>mybatis-spring</artifactId> - </exclusion> - </exclusions> </dependency> <!-- sql鎬ц兘鍒嗘瀽鎻掍欢 --> diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java index f287846..6eed8f7 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java @@ -2,14 +2,15 @@ import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; import com.baomidou.mybatisplus.core.toolkit.PluginUtils; -import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport; +import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler; +import com.baomidou.mybatisplus.extension.plugins.inner.BaseMultiTableInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.delete.Delete; import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.SelectBody; import net.sf.jsqlparser.statement.select.SetOperationList; import net.sf.jsqlparser.statement.update.Update; import org.apache.ibatis.executor.Executor; @@ -32,7 +33,7 @@ * @version 3.5.0 */ @Slf4j -public class PlusDataPermissionInterceptor extends JsqlParserSupport implements InnerInterceptor { +public class PlusDataPermissionInterceptor extends BaseMultiTableInnerInterceptor implements InnerInterceptor { private final PlusDataPermissionHandler dataPermissionHandler; @@ -75,11 +76,10 @@ @Override protected void processSelect(Select select, int index, String sql, Object obj) { - SelectBody selectBody = select.getSelectBody(); - if (selectBody instanceof PlainSelect plainSelect) { - this.setWhere(plainSelect, (String) obj); - } else if (selectBody instanceof SetOperationList setOperationList) { - List<SelectBody> selectBodyList = setOperationList.getSelects(); + if (select instanceof PlainSelect) { + this.setWhere((PlainSelect) select, (String) obj); + } else if (select instanceof SetOperationList setOperationList) { + List<Select> selectBodyList = setOperationList.getSelects(); selectBodyList.forEach(s -> this.setWhere((PlainSelect) s, (String) obj)); } } @@ -113,5 +113,11 @@ } } + @Override + public Expression buildTableExpression(Table table, Expression where, String whereSegment) { + // 鍙湁鏂扮増鏁版嵁鏉冮檺澶勭悊鍣ㄦ墠浼氭墽琛屽埌杩欓噷 + final MultiDataPermissionHandler handler = (MultiDataPermissionHandler) dataPermissionHandler; + return handler.getSqlSegment(table, where, whereSegment); + } } diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java index 0ff39fd..3fb99c5 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java @@ -16,6 +16,7 @@ import org.redisson.config.SingleServerConfig; import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer; import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cache.CacheManager; @@ -28,16 +29,22 @@ * @author Lion Li */ @EnableConfigurationProperties(TenantProperties.class) -@AutoConfiguration(after = {RedisConfig.class, MybatisPlusConfig.class}) +@AutoConfiguration(after = {RedisConfig.class}) @ConditionalOnProperty(value = "tenant.enable", havingValue = "true") public class TenantConfig { - /** - * 澶氱鎴锋彃浠� - */ - @Bean - public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) { - return new TenantLineInnerInterceptor(new PlusTenantLineHandler(tenantProperties)); + @ConditionalOnBean(MybatisPlusConfig.class) + @AutoConfiguration(after = {MybatisPlusConfig.class}) + static class MybatisPlusConfigation { + + /** + * 澶氱鎴锋彃浠� + */ + @Bean + public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) { + return new TenantLineInnerInterceptor(new PlusTenantLineHandler(tenantProperties)); + } + } @Bean -- Gitblit v1.9.3