diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataColumn.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataColumn.java
similarity index 89%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataColumn.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataColumn.java
index 78a7854d9..bf703a232 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataColumn.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataColumn.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.annotation;
+package com.ruoyi.common.mybatis.annotation;
import java.lang.annotation.*;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataPermission.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataPermission.java
similarity index 84%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataPermission.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataPermission.java
index 7243a5fa7..288c195b3 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/annotation/DataPermission.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/annotation/DataPermission.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.annotation;
+package com.ruoyi.common.mybatis.annotation;
import java.lang.annotation.*;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/config/MybatisPlusConfig.java
similarity index 92%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/config/MybatisPlusConfig.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/config/MybatisPlusConfig.java
index 2dc3cd77c..ea76cb3ac 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/config/MybatisPlusConfig.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/config/MybatisPlusConfig.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.config;
+package com.ruoyi.common.mybatis.config;
import cn.hutool.core.net.NetUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.ruoyi.common.datasource.handler.CreateAndUpdateMetaObjectHandler;
-import com.ruoyi.common.datasource.interceptor.PlusDataPermissionInterceptor;
+import com.ruoyi.common.mybatis.handler.CreateAndUpdateMetaObjectHandler;
+import com.ruoyi.common.mybatis.interceptor.PlusDataPermissionInterceptor;
import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
@@ -20,7 +20,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* @author Lion Li
*/
@EnableTransactionManagement(proxyTargetClass = true)
-@Configuration
+@AutoConfiguration
@MapperScan("${mybatis-plus.mapperPackage}")
public class MybatisPlusConfig {
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/mapper/BaseMapperPlus.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
similarity index 99%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/mapper/BaseMapperPlus.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
index 2423438b2..574f4c086 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/mapper/BaseMapperPlus.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/mapper/BaseMapperPlus.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.core.mapper;
+package com.ruoyi.common.mybatis.core.mapper;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/PageQuery.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/PageQuery.java
similarity index 98%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/PageQuery.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/PageQuery.java
index e40925740..91396cb4e 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/PageQuery.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/PageQuery.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.core.page;
+package com.ruoyi.common.mybatis.core.page;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/TableDataInfo.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/TableDataInfo.java
similarity index 97%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/TableDataInfo.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/TableDataInfo.java
index cbfa2eb53..95286427d 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/core/page/TableDataInfo.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/core/page/TableDataInfo.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.core.page;
+package com.ruoyi.common.mybatis.core.page;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataBaseType.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataBaseType.java
similarity index 95%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataBaseType.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataBaseType.java
index c1ba12dc6..b50667e65 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataBaseType.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataBaseType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.enums;
+package com.ruoyi.common.mybatis.enums;
import com.ruoyi.common.core.utils.StringUtils;
import lombok.AllArgsConstructor;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataScopeType.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataScopeType.java
similarity index 90%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataScopeType.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataScopeType.java
index 381e4ec44..fef69f91d 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/enums/DataScopeType.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/enums/DataScopeType.java
@@ -1,6 +1,7 @@
-package com.ruoyi.common.datasource.enums;
+package com.ruoyi.common.mybatis.enums;
import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.mybatis.helper.DataPermissionHelper;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -10,7 +11,7 @@ import lombok.Getter;
* 语法支持 spel 模板表达式
*
* 内置数据 user 当前用户 内容参考 LoginUser
- * 如需扩展数据 可使用 {@link com.ruoyi.common.datasource.helper.DataPermissionHelper} 操作
+ * 如需扩展数据 可使用 {@link DataPermissionHelper} 操作
* 内置服务 sdss 系统数据权限服务 内容参考 SysDataScopeService
* 如需扩展更多自定义服务 可以参考 sdss 自行编写
*
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/CreateAndUpdateMetaObjectHandler.java
similarity index 98%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/CreateAndUpdateMetaObjectHandler.java
index 30a86c6f3..4ab329de8 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/CreateAndUpdateMetaObjectHandler.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.handler;
+package com.ruoyi.common.mybatis.handler;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpStatus;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java
similarity index 96%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java
index 0c30f0eb4..955352527 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.handler;
+package com.ruoyi.common.mybatis.handler;
import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.core.collection.CollUtil;
@@ -12,10 +12,10 @@ import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.common.datasource.annotation.DataColumn;
-import com.ruoyi.common.datasource.annotation.DataPermission;
-import com.ruoyi.common.datasource.enums.DataScopeType;
-import com.ruoyi.common.datasource.helper.DataPermissionHelper;
+import com.ruoyi.common.mybatis.annotation.DataColumn;
+import com.ruoyi.common.mybatis.annotation.DataPermission;
+import com.ruoyi.common.mybatis.enums.DataScopeType;
+import com.ruoyi.common.mybatis.helper.DataPermissionHelper;
import com.ruoyi.common.satoken.utils.LoginHelper;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataBaseHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataBaseHelper.java
similarity index 96%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataBaseHelper.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataBaseHelper.java
index ee10be0e1..c09017959 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataBaseHelper.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataBaseHelper.java
@@ -1,10 +1,10 @@
-package com.ruoyi.common.datasource.helper;
+package com.ruoyi.common.mybatis.helper;
import cn.hutool.core.convert.Convert;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils;
-import com.ruoyi.common.datasource.enums.DataBaseType;
+import com.ruoyi.common.mybatis.enums.DataBaseType;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataPermissionHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataPermissionHelper.java
similarity index 96%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataPermissionHelper.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataPermissionHelper.java
index 77aec7ba4..9555b0143 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/DataPermissionHelper.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/DataPermissionHelper.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.helper;
+package com.ruoyi.common.mybatis.helper;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaStorage;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/MybatisExceptionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/MybatisExceptionHandler.java
similarity index 97%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/MybatisExceptionHandler.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/MybatisExceptionHandler.java
index 192fd3f1b..e3761cca9 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/helper/MybatisExceptionHandler.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/helper/MybatisExceptionHandler.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.datasource.helper;
+package com.ruoyi.common.mybatis.helper;
import com.ruoyi.common.core.domain.R;
import lombok.extern.slf4j.Slf4j;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/interceptor/PlusDataPermissionInterceptor.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/interceptor/PlusDataPermissionInterceptor.java
similarity index 97%
rename from ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/interceptor/PlusDataPermissionInterceptor.java
rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/interceptor/PlusDataPermissionInterceptor.java
index 98e0eb3d2..9b6a0b07a 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/interceptor/PlusDataPermissionInterceptor.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/interceptor/PlusDataPermissionInterceptor.java
@@ -1,10 +1,10 @@
-package com.ruoyi.common.datasource.interceptor;
+package com.ruoyi.common.mybatis.interceptor;
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.inner.InnerInterceptor;
-import com.ruoyi.common.datasource.handler.PlusDataPermissionHandler;
+import com.ruoyi.common.mybatis.handler.PlusDataPermissionHandler;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.statement.delete.Delete;
import net.sf.jsqlparser.statement.select.PlainSelect;
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..dbcd9a1b5
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.mybatis.config.MybatisPlusConfig
diff --git a/ruoyi-common/ruoyi-common-rateLimiter/pom.xml b/ruoyi-common/ruoyi-common-rateLimiter/pom.xml
new file mode 100644
index 000000000..ced3de38e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-rateLimiter/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-vue-plus
+ 4.4.0
+
+
+ ruoyi-common-rateLimiter
+
+
+ ruoyi-common-rateLimiter 限流功能
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ com.ruoyi
+ ruoyi-common-redis
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/annotation/RateLimiter.java
similarity index 84%
rename from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java
rename to ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/annotation/RateLimiter.java
index b7226d4f3..b949f44ce 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java
+++ b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/annotation/RateLimiter.java
@@ -1,7 +1,7 @@
-package com.ruoyi.common.redis.annotation;
+package com.ruoyi.common.rateLimiter.annotation;
import com.ruoyi.common.core.constant.CacheConstants;
-import com.ruoyi.common.redis.enums.LimitType;
+import com.ruoyi.common.rateLimiter.enums.LimitType;
import java.lang.annotation.*;
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/aspectj/RateLimiterAspect.java
similarity index 93%
rename from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java
rename to ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/aspectj/RateLimiterAspect.java
index e81ada8bf..30bdd3786 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java
+++ b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/aspectj/RateLimiterAspect.java
@@ -1,10 +1,10 @@
-package com.ruoyi.common.redis.aspectj;
+package com.ruoyi.common.rateLimiter.aspectj;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.MessageUtils;
import com.ruoyi.common.core.utils.ServletUtils;
-import com.ruoyi.common.redis.annotation.RateLimiter;
-import com.ruoyi.common.redis.enums.LimitType;
+import com.ruoyi.common.rateLimiter.annotation.RateLimiter;
+import com.ruoyi.common.rateLimiter.enums.LimitType;
import com.ruoyi.common.redis.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/enums/LimitType.java
similarity index 85%
rename from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java
rename to ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/enums/LimitType.java
index a50c2cab7..417213bce 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java
+++ b/ruoyi-common/ruoyi-common-rateLimiter/src/main/java/com/ruoyi/common/rateLimiter/enums/LimitType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.redis.enums;
+package com.ruoyi.common.rateLimiter.enums;
/**
* 限流类型
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/config/RedisConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/config/RedisConfig.java
index 838dc573d..1cbb6eb60 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/config/RedisConfig.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/config/RedisConfig.java
@@ -9,11 +9,11 @@ import lombok.extern.slf4j.Slf4j;
import org.redisson.codec.JsonJacksonCodec;
import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
/**
* redis配置
@@ -21,7 +21,7 @@ import org.springframework.context.annotation.Configuration;
* @author Lion Li
*/
@Slf4j
-@Configuration
+@AutoConfiguration
@EnableCaching
@EnableConfigurationProperties(RedissonProperties.class)
public class RedisConfig {
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/SaTokenConfig.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/SaTokenConfig.java
index 886606d1c..d1d5260a2 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/SaTokenConfig.java
+++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/SaTokenConfig.java
@@ -1,16 +1,9 @@
package com.ruoyi.common.satoken.config;
-import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.jwt.StpLogicJwtForSimple;
-import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpLogic;
-import cn.dev33.satoken.stp.StpUtil;
-import com.ruoyi.common.satoken.config.properties.SecurityProperties;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
@@ -18,41 +11,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
*
* @author Lion Li
*/
-@RequiredArgsConstructor
-@Slf4j
-@Configuration
+@AutoConfiguration
public class SaTokenConfig implements WebMvcConfigurer {
- private final SecurityProperties securityProperties;
-
- /**
- * 注册sa-token的拦截器
- */
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- // 注册路由拦截器,自定义验证规则
- registry.addInterceptor(new SaInterceptor(handler -> {
- // 登录验证 -- 排除多个路径
- SaRouter
- // 获取所有的
- .match("/**")
- // 对未排除的路径进行检查
- .check(() -> {
- // 检查是否登录 是否有token
- StpUtil.checkLogin();
-
- // 有效率影响 用于临时测试
- // if (log.isDebugEnabled()) {
- // log.debug("剩余有效时间: {}", StpUtil.getTokenTimeout());
- // log.debug("临时有效时间: {}", StpUtil.getTokenActivityTimeout());
- // }
-
- });
- })).addPathPatterns("/**")
- // 排除不需要拦截的路径
- .excludePathPatterns(securityProperties.getExcludes());
- }
-
@Bean
public StpLogic getStpLogicJwt() {
// Sa-Token 整合 jwt (简单模式)
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index a84b06728..fd02ac56d 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-common/ruoyi-common-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,3 +1,2 @@
com.ruoyi.common.satoken.core.dao.PlusSaTokenDao
com.ruoyi.common.satoken.core.service.SaPermissionImpl
-com.ruoyi.common.satoken.config.SaTokenConfig
diff --git a/ruoyi-common/ruoyi-common-security/pom.xml b/ruoyi-common/ruoyi-common-security/pom.xml
new file mode 100644
index 000000000..d8e311714
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-security/pom.xml
@@ -0,0 +1,32 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-vue-plus
+ 4.4.0
+
+
+ ruoyi-common-security
+
+
+ ruoyi-common-security 安全模块
+
+
+
+
+ com.ruoyi
+ ruoyi-common-satoken
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ ${satoken.version}
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/SecurityConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/SecurityConfig.java
new file mode 100644
index 000000000..3959bb9a9
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/SecurityConfig.java
@@ -0,0 +1,54 @@
+package com.ruoyi.common.security.config;
+
+import cn.dev33.satoken.interceptor.SaInterceptor;
+import cn.dev33.satoken.router.SaRouter;
+import cn.dev33.satoken.stp.StpUtil;
+import com.ruoyi.common.security.config.properties.SecurityProperties;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * 权限安全配置
+ *
+ * @author Lion Li
+ */
+@RequiredArgsConstructor
+@Slf4j
+@AutoConfiguration
+public class SecurityConfig implements WebMvcConfigurer {
+
+ private final SecurityProperties securityProperties;
+
+ /**
+ * 注册sa-token的拦截器
+ */
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ // 注册路由拦截器,自定义验证规则
+ registry.addInterceptor(new SaInterceptor(handler -> {
+ // 登录验证 -- 排除多个路径
+ SaRouter
+ // 获取所有的
+ .match("/**")
+ // 对未排除的路径进行检查
+ .check(() -> {
+ // 检查是否登录 是否有token
+ StpUtil.checkLogin();
+
+ // 有效率影响 用于临时测试
+ // if (log.isDebugEnabled()) {
+ // log.debug("剩余有效时间: {}", StpUtil.getTokenTimeout());
+ // log.debug("临时有效时间: {}", StpUtil.getTokenActivityTimeout());
+ // }
+
+ });
+ })).addPathPatterns("/**")
+ // 排除不需要拦截的路径
+ .excludePathPatterns(securityProperties.getExcludes());
+ }
+
+}
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/properties/SecurityProperties.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/properties/SecurityProperties.java
similarity index 87%
rename from ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/properties/SecurityProperties.java
rename to ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/properties/SecurityProperties.java
index a731abfec..938ab947e 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/config/properties/SecurityProperties.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/properties/SecurityProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.satoken.config.properties;
+package com.ruoyi.common.security.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
similarity index 99%
rename from ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/handler/GlobalExceptionHandler.java
rename to ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
index cbe742c09..c16a58dea 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/handler/GlobalExceptionHandler.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.satoken.handler;
+package com.ruoyi.common.security.handler;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.exception.NotPermissionException;
diff --git a/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..a09e5d650
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,2 @@
+com.ruoyi.common.security.handler.GlobalExceptionHandler
+com.ruoyi.common.security.config.SecurityConfig
diff --git a/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
index 8b80bc29d..ecc89afb6 100644
--- a/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
@@ -4,8 +4,10 @@ import com.ruoyi.common.sms.config.properties.SmsProperties;
import com.ruoyi.common.sms.core.AliyunSmsTemplate;
import com.ruoyi.common.sms.core.SmsTemplate;
import com.ruoyi.common.sms.core.TencentSmsTemplate;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,7 +17,8 @@ import org.springframework.context.annotation.Configuration;
* @author Lion Li
* @version 4.2.0
*/
-@Configuration
+@AutoConfiguration
+@EnableConfigurationProperties(SmsProperties.class)
public class SmsConfig {
@Configuration
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
index fec461d93..6659c3c0e 100644
--- a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
@@ -2,16 +2,16 @@ package com.ruoyi.common.web.config;
import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
-import org.springframework.context.annotation.Configuration;
/**
* Undertow 自定义配置
*
* @author Lion Li
*/
-@Configuration
+@AutoConfiguration
public class UndertowConfig implements WebServerFactoryCustomizer {
/**
diff --git a/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 04ee5fff7..cdf8c66c4 100644
--- a/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,6 +1,5 @@
com.ruoyi.common.web.config.CaptchaConfig
com.ruoyi.common.web.config.FilterConfig
com.ruoyi.common.web.config.I18nConfig
-com.ruoyi.common.web.config.IdempotentConfig
com.ruoyi.common.web.config.ResourcesConfig
com.ruoyi.common.web.config.UndertowConfig
diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml
index ef5656271..e133a0da8 100644
--- a/ruoyi-demo/pom.xml
+++ b/ruoyi-demo/pom.xml
@@ -36,7 +36,11 @@