diff --git a/pom.xml b/pom.xml
index f92d4a41a..8d8053973 100644
--- a/pom.xml
+++ b/pom.xml
@@ -133,6 +133,13 @@
sa-token-spring-boot-starter
${satoken.version}
+
+
+ cn.dev33
+ sa-token-core
+ ${satoken.version}
+
+
cn.dev33
@@ -163,6 +170,11 @@
mybatis-plus-extension
${mybatis-plus.version}
+
+ com.baomidou
+ mybatis-plus-annotation
+ ${mybatis-plus.version}
+
p6spy
@@ -244,13 +256,6 @@
${snakeyaml.version}
-
-
- com.ruoyi
- ruoyi-job
- ${ruoyi-vue-plus.version}
-
-
com.ruoyi
@@ -258,13 +263,6 @@
${ruoyi-vue-plus.version}
-
-
- com.ruoyi
- ruoyi-framework
- ${ruoyi-vue-plus.version}
-
-
com.ruoyi
@@ -279,20 +277,6 @@
${ruoyi-vue-plus.version}
-
-
- com.ruoyi
- ruoyi-oss
- ${ruoyi-vue-plus.version}
-
-
-
-
- com.ruoyi
- ruoyi-sms
- ${ruoyi-vue-plus.version}
-
-
com.ruoyi
@@ -305,15 +289,11 @@
ruoyi-admin
- ruoyi-framework
ruoyi-system
- ruoyi-job
ruoyi-generator
ruoyi-common
ruoyi-demo
ruoyi-extend
- ruoyi-oss
- ruoyi-sms
pom
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index a588f62da..0eafb8f81 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -45,12 +45,6 @@
mssql-jdbc
-
-
- com.ruoyi
- ruoyi-framework
-
-
com.ruoyi
ruoyi-system
@@ -58,12 +52,27 @@
com.ruoyi
- ruoyi-job
+ ruoyi-common-satoken
com.ruoyi
- ruoyi-oss
+ ruoyi-common-web
+
+
+
+ com.ruoyi
+ ruoyi-common-job
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+
+ com.ruoyi
+ ruoyi-common-oss
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index 795359c5b..a5d1f4a25 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -5,18 +5,18 @@ import cn.hutool.captcha.AbstractCaptcha;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
-import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.enums.CaptchaType;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
-import com.ruoyi.common.utils.reflect.ReflectUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.framework.config.properties.CaptchaProperties;
-import com.ruoyi.sms.config.properties.SmsProperties;
-import com.ruoyi.sms.core.SmsTemplate;
-import com.ruoyi.sms.entity.SmsResult;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.reflect.ReflectUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
+import com.ruoyi.common.sms.config.properties.SmsProperties;
+import com.ruoyi.common.sms.core.SmsTemplate;
+import com.ruoyi.common.sms.entity.SmsResult;
+import com.ruoyi.common.web.config.properties.CaptchaProperties;
+import com.ruoyi.common.web.enums.CaptchaType;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
index 74585fc48..9a94c07de 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
@@ -2,13 +2,13 @@ package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollUtil;
-import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.constant.CacheNames;
+import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.core.constant.CacheNames;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.redis.CacheUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.redis.utils.CacheUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.system.domain.SysCache;
import lombok.RequiredArgsConstructor;
import org.redisson.spring.data.connection.RedissonConnectionFactory;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
index caae8b008..9a7de890e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
@@ -1,15 +1,15 @@
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.excel.utils.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.service.ISysLogininforService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
index 468b9c4cf..f5887f92f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
@@ -1,13 +1,13 @@
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.service.ISysOperLogService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
index b0b574c37..60aaa5211 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
@@ -4,16 +4,16 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.StreamUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.StreamUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.system.domain.SysUserOnline;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
index c1b3acd86..82a5634d2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
@@ -1,14 +1,14 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
index fa763df33..0ced3cb5e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
@@ -2,13 +2,13 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ArrayUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.SysDept;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
index 01613db8b..74208527d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
@@ -2,14 +2,14 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.SysDictData;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
index 86840b7a5..d0e511676 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
@@ -1,15 +1,15 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysDictType;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.SysDictType;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
index 698257406..954374dc3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
@@ -1,8 +1,8 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
-import com.ruoyi.common.config.RuoYiConfig;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.config.RuoYiConfig;
+import com.ruoyi.common.core.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 78c44e305..ec2511d99 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -1,14 +1,14 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
-import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysMenu;
-import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.system.domain.SysMenu;
+import com.ruoyi.system.domain.SysUser;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.SmsLoginBody;
-import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
index e80f0ee7c..6bc304925 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
@@ -2,13 +2,13 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.tree.Tree;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysMenu;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.SysMenu;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@@ -18,6 +18,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static com.ruoyi.common.satoken.utils.LoginHelper.getUserId;
+
/**
* 菜单信息
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
index 54b30d60d..306ecc692 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
@@ -1,12 +1,12 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java
index 8dc4876ef..df1c84022 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java
@@ -1,16 +1,16 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.RepeatSubmit;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
-import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo;
import com.ruoyi.system.service.ISysOssConfigService;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
index 606895a74..23d116f6e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
@@ -6,18 +6,15 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.file.FileUtils;
-import com.ruoyi.oss.core.OssClient;
-import com.ruoyi.oss.factory.OssFactory;
-import com.ruoyi.system.domain.SysOss;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.file.FileUtils;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
index 656987776..53da30118 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
@@ -1,14 +1,14 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
index 77a8767de..5af27a58b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -2,15 +2,15 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.io.FileUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.file.MimeTypeUtils;
+import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.system.domain.SysUser;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.file.MimeTypeUtils;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;
@@ -25,6 +25,9 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import static com.ruoyi.common.satoken.utils.LoginHelper.getUserId;
+import static com.ruoyi.common.satoken.utils.LoginHelper.getUsername;
+
/**
* 个人信息 业务处理
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
index 26445820e..f37d2f200 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
@@ -1,7 +1,7 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.system.service.ISysConfigService;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index 5768806c2..6be40ac00 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -2,19 +2,19 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.system.domain.SysDept;
+import com.ruoyi.system.domain.SysRole;
+import com.ruoyi.system.domain.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
@@ -29,6 +29,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static com.ruoyi.common.satoken.utils.LoginHelper.getLoginUser;
+
/**
* 角色信息
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 7e358d511..af38db4e3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -6,21 +6,21 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.excel.core.ExcelResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.excel.ExcelResult;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.StreamUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.system.domain.SysDept;
+import com.ruoyi.system.domain.SysRole;
+import com.ruoyi.system.domain.SysUser;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.core.utils.StreamUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.vo.SysUserExportVo;
import com.ruoyi.system.domain.vo.SysUserImportVo;
import com.ruoyi.system.listener.SysUserImportListener;
@@ -40,6 +40,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static com.ruoyi.common.satoken.utils.LoginHelper.getUserId;
+
/**
* 用户信息
*
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index 7b7380b8a..cea433d82 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
- enabled: true
+ enabled: false
url: http://localhost:9090/admin
instance:
service-host-type: IP
@@ -11,7 +11,7 @@ spring.boot.admin.client:
--- # xxl-job 配置
xxl.job:
# 执行器开关
- enabled: true
+ enabled: false
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN:非空时启用
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index d625156c9..ddb8a39a0 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -27,7 +27,7 @@ captcha:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
- port: 8080
+ port: 9595
servlet:
# 应用的访问路径
context-path: /
@@ -254,3 +254,6 @@ management:
show-details: ALWAYS
logfile:
external-file: ./logs/sys-console.log
+ metrics:
+ tags:
+ application: ${spring.application.name}
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java
index a40fd8275..b40c1234e 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java
@@ -1,6 +1,6 @@
package com.ruoyi.test;
-import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.core.config.RuoYiConfig;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java
index 04bf1b5cc..9d6138373 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java
@@ -1,6 +1,6 @@
package com.ruoyi.test;
-import com.ruoyi.common.enums.UserType;
+import com.ruoyi.common.core.enums.UserType;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 8e679d557..dc8234183 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -14,8 +14,16 @@
ruoyi-common-core
ruoyi-common-datasource
ruoyi-common-dict
- ruoyi-common-satoken
+ ruoyi-common-doc
+ ruoyi-common-excel
+ ruoyi-common-job
+ ruoyi-common-log
+ ruoyi-common-mail
+ ruoyi-common-oss
ruoyi-common-redis
+ ruoyi-common-sms
+ ruoyi-common-satoken
+ ruoyi-common-web
ruoyi-common
@@ -25,30 +33,4 @@
common通用模块
-
-
-
- com.alibaba
- easyexcel
-
-
-
-
- com.sun.mail
- jakarta.mail
-
-
-
-
- org.springdoc
- springdoc-openapi-webmvc-core
-
-
-
- org.springdoc
- springdoc-openapi-javadoc
-
-
-
-
diff --git a/ruoyi-common/ruoyi-common-bom/pom.xml b/ruoyi-common/ruoyi-common-bom/pom.xml
index 0bea0e48e..3aa4db2e2 100644
--- a/ruoyi-common/ruoyi-common-bom/pom.xml
+++ b/ruoyi-common/ruoyi-common-bom/pom.xml
@@ -36,9 +36,45 @@
${project.version}
+
com.ruoyi
- ruoyi-common-satoken
+ ruoyi-common-doc
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-excel
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-job
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-mail
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-oss
${project.version}
@@ -48,6 +84,27 @@
ruoyi-common-redis
${project.version}
+
+
+
+ com.ruoyi
+ ruoyi-common-satoken
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-sms
+ ${project.version}
+
+
+
+
+ com.ruoyi
+ ruoyi-common-web
+ ${project.version}
+
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index c725fb739..c1d9c3e85 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -28,6 +28,11 @@
spring-web
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
org.springframework.boot
@@ -45,6 +50,10 @@
com.fasterxml.jackson.core
jackson-databind
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+
@@ -93,7 +102,6 @@
org.yaml
snakeyaml
-
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/ThreadPoolConfig.java
similarity index 93%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/ThreadPoolConfig.java
index a85ad1e57..bd0010563 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/ThreadPoolConfig.java
@@ -1,7 +1,7 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.core.config;
-import com.ruoyi.common.utils.Threads;
-import com.ruoyi.framework.config.properties.ThreadPoolProperties;
+import com.ruoyi.common.core.config.properties.ThreadPoolProperties;
+import com.ruoyi.common.core.utils.Threads;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/ThreadPoolProperties.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/properties/ThreadPoolProperties.java
similarity index 91%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/ThreadPoolProperties.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/properties/ThreadPoolProperties.java
index fe0673321..d967ad3e0 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/ThreadPoolProperties.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/config/properties/ThreadPoolProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config.properties;
+package com.ruoyi.common.core.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/RoleDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/dto/RoleDTO.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/RoleDTO.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/dto/RoleDTO.java
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/UserOnlineDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/dto/UserOnlineDTO.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/UserOnlineDTO.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/dto/UserOnlineDTO.java
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/event/LogininforEvent.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/event/LogininforEvent.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/event/LogininforEvent.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/event/LogininforEvent.java
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
similarity index 94%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
index 4a4cfb518..ba3b5cecb 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
@@ -1,6 +1,6 @@
package com.ruoyi.common.core.domain.model;
-import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.constant.UserConstants;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
similarity index 94%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
index c93b9efe1..83fcf9fe8 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
@@ -1,7 +1,6 @@
package com.ruoyi.common.core.domain.model;
import com.ruoyi.common.core.domain.dto.RoleDTO;
-import com.ruoyi.common.helper.LoginHelper;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -111,7 +110,7 @@ public class LoginUser implements Serializable {
if (userId == null) {
throw new IllegalArgumentException("用户ID不能为空");
}
- return userType + LoginHelper.JOIN_CODE + userId;
+ return userType + ":" + userId;
}
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SmsLoginBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/SmsLoginBody.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SmsLoginBody.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/SmsLoginBody.java
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/XcxLoginUser.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/XcxLoginUser.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/XcxLoginUser.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/model/XcxLoginUser.java
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/manager/ShutdownManager.java
similarity index 92%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/manager/ShutdownManager.java
index 9d27874e9..5c543ab58 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/manager/ShutdownManager.java
@@ -1,6 +1,6 @@
-package com.ruoyi.framework.manager;
+package com.ruoyi.common.core.manager;
-import com.ruoyi.common.utils.Threads;
+import com.ruoyi.common.core.utils.Threads;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/ConfigService.java
similarity index 100%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/service/ConfigService.java
rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/service/ConfigService.java
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MessageUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MessageUtils.java
index 9fd740d5e..24928f882 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MessageUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MessageUtils.java
@@ -1,6 +1,5 @@
package com.ruoyi.common.core.utils;
-import com.ruoyi.common.utils.spring.SpringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.context.MessageSource;
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/controller/BaseController.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/controller/BaseController.java
index 7fe1375d4..35a228010 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/controller/BaseController.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/controller/BaseController.java
@@ -1,9 +1,7 @@
package com.ruoyi.common.core.web.controller;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
/**
* web层通用数据处理
@@ -39,31 +37,4 @@ public class BaseController {
return StringUtils.format("redirect:{}", url);
}
- /**
- * 获取用户缓存信息
- */
- public LoginUser getLoginUser() {
- return LoginHelper.getLoginUser();
- }
-
- /**
- * 获取登录用户id
- */
- public Long getUserId() {
- return LoginHelper.getUserId();
- }
-
- /**
- * 获取登录部门id
- */
- public Long getDeptId() {
- return LoginHelper.getDeptId();
- }
-
- /**
- * 获取登录用户名
- */
- public String getUsername() {
- return LoginHelper.getUsername();
- }
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index df1b8d628..b42155856 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,5 +1,7 @@
-com.ruoyi.common.core.utils.SpringUtils
com.ruoyi.common.core.config.ApplicationConfig
-com.ruoyi.common.core.config.JacksonConfig
-com.ruoyi.common.core.config.ValidatorConfig
com.ruoyi.common.core.config.AsyncConfig
+com.ruoyi.common.core.config.JacksonConfig
+com.ruoyi.common.core.config.RuoYiConfig
+com.ruoyi.common.core.config.ThreadPoolConfig
+com.ruoyi.common.core.config.ValidatorConfig
+com.ruoyi.common.core.utils.SpringUtils
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java b/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java
index 50cf5e6a2..30a86c6f3 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java
+++ b/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/CreateAndUpdateMetaObjectHandler.java
@@ -3,9 +3,11 @@ package com.ruoyi.common.datasource.handler;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.common.satoken.utils.LoginHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java
index 87325f5f3..0c30f0eb4 100644
--- a/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java
+++ b/ruoyi-common/ruoyi-common-datasource/src/main/java/com/ruoyi/common/datasource/handler/PlusDataPermissionHandler.java
@@ -6,17 +6,17 @@ import cn.hutool.core.collection.ConcurrentHashSet;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.annotation.DataColumn;
-import com.ruoyi.common.annotation.DataPermission;
import com.ruoyi.common.core.domain.dto.RoleDTO;
import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.enums.DataScopeType;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.helper.DataPermissionHelper;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.StreamUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
+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.satoken.utils.LoginHelper;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.Expression;
diff --git a/ruoyi-common/ruoyi-common-dict/pom.xml b/ruoyi-common/ruoyi-common-dict/pom.xml
index 1fe622fcd..d03a7f2cb 100644
--- a/ruoyi-common/ruoyi-common-dict/pom.xml
+++ b/ruoyi-common/ruoyi-common-dict/pom.xml
@@ -11,5 +11,15 @@
ruoyi-common-dict
+
+ ruoyi-common-dict 字典
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DictDataMapper.java b/ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/annotation/DictDataMapper.java
similarity index 86%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/DictDataMapper.java
rename to ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/annotation/DictDataMapper.java
index 5c14a5520..c005bd790 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DictDataMapper.java
+++ b/ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/annotation/DictDataMapper.java
@@ -1,8 +1,8 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.dict.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.ruoyi.common.jackson.DictDataJsonSerializer;
+import com.ruoyi.common.dict.jackson.DictDataJsonSerializer;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/jackson/DictDataJsonSerializer.java b/ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/jackson/DictDataJsonSerializer.java
similarity index 91%
rename from ruoyi-common/src/main/java/com/ruoyi/common/jackson/DictDataJsonSerializer.java
rename to ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/jackson/DictDataJsonSerializer.java
index caa059b92..f6d900b73 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/jackson/DictDataJsonSerializer.java
+++ b/ruoyi-common/ruoyi-common-dict/src/main/java/com/ruoyi/common/dict/jackson/DictDataJsonSerializer.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.jackson;
+package com.ruoyi.common.dict.jackson;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -8,10 +8,10 @@ import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
-import com.ruoyi.common.annotation.DictDataMapper;
import com.ruoyi.common.core.service.DictService;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.dict.annotation.DictDataMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
diff --git a/ruoyi-common/ruoyi-common-doc/pom.xml b/ruoyi-common/ruoyi-common-doc/pom.xml
new file mode 100644
index 000000000..207ad2da3
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-doc/pom.xml
@@ -0,0 +1,35 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-common
+ 4.4.0
+
+
+ ruoyi-common-doc
+
+
+ ruoyi-common-swagger系统接口
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ org.springdoc
+ springdoc-openapi-webmvc-core
+
+
+
+ org.springdoc
+ springdoc-openapi-javadoc
+
+
+
+
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/SwaggerConfig.java
similarity index 95%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
rename to ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/SwaggerConfig.java
index ab92cf591..e77522e0c 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
+++ b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/SwaggerConfig.java
@@ -1,8 +1,8 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.doc.config;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.framework.config.properties.SwaggerProperties;
-import com.ruoyi.framework.handler.OpenApiHandler;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.doc.config.properties.SwaggerProperties;
+import com.ruoyi.common.doc.handler.OpenApiHandler;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.Paths;
import io.swagger.v3.oas.models.info.Info;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/SwaggerProperties.java b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/properties/SwaggerProperties.java
similarity index 97%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/SwaggerProperties.java
rename to ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/properties/SwaggerProperties.java
index 736d70a45..3af27965d 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/SwaggerProperties.java
+++ b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/config/properties/SwaggerProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config.properties;
+package com.ruoyi.common.doc.config.properties;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.ExternalDocumentation;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/handler/OpenApiHandler.java
similarity index 99%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java
rename to ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/handler/OpenApiHandler.java
index 608cae5de..357ce172e 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/OpenApiHandler.java
+++ b/ruoyi-common/ruoyi-common-doc/src/main/java/com/ruoyi/common/doc/handler/OpenApiHandler.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.handler;
+package com.ruoyi.common.doc.handler;
import cn.hutool.core.io.IoUtil;
import io.swagger.v3.core.jackson.TypeNameResolver;
diff --git a/ruoyi-common/ruoyi-common-doc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-doc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..8ae5a185a
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-doc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.doc.config.SwaggerConfig
diff --git a/ruoyi-job/pom.xml b/ruoyi-common/ruoyi-common-excel/pom.xml
similarity index 64%
rename from ruoyi-job/pom.xml
rename to ruoyi-common/ruoyi-common-excel/pom.xml
index 4162183f4..97765107c 100644
--- a/ruoyi-job/pom.xml
+++ b/ruoyi-common/ruoyi-common-excel/pom.xml
@@ -2,34 +2,29 @@
+ 4.0.0
- ruoyi-vue-plus
com.ruoyi
+ ruoyi-common
4.4.0
- 4.0.0
- jar
- ruoyi-job
+
+ ruoyi-common-excel
- 任务调度
+ ruoyi-common-excel
-
-
com.ruoyi
- ruoyi-common
+ ruoyi-common-core
-
- com.xuxueli
- xxl-job-core
+ com.alibaba
+ easyexcel
-
-
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/CellMerge.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/CellMerge.java
similarity index 76%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/CellMerge.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/CellMerge.java
index 4af822eda..5c0f552d9 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/CellMerge.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/CellMerge.java
@@ -1,6 +1,6 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.excel.annotation;
-import com.ruoyi.common.excel.CellMergeStrategy;
+import com.ruoyi.common.excel.core.CellMergeStrategy;
import java.lang.annotation.*;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/ExcelDictFormat.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/ExcelDictFormat.java
similarity index 92%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/ExcelDictFormat.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/ExcelDictFormat.java
index 400080ea7..a9671fb62 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/ExcelDictFormat.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/annotation/ExcelDictFormat.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.excel.annotation;
import java.lang.annotation.*;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelBigNumberConvert.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelBigNumberConvert.java
index 432ab74ec..1e10334c2 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelBigNumberConvert.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.convert;
+package com.ruoyi.common.excel.convert;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelDictConvert.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelDictConvert.java
similarity index 91%
rename from ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelDictConvert.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelDictConvert.java
index 03dad1f8d..3b7af930e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelDictConvert.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/convert/ExcelDictConvert.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.convert;
+package com.ruoyi.common.excel.convert;
import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.core.convert.Convert;
@@ -9,11 +9,11 @@ import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
-import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.core.service.DictService;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.excel.annotation.ExcelDictFormat;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/CellMergeStrategy.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/CellMergeStrategy.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/excel/CellMergeStrategy.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/CellMergeStrategy.java
index 6102eec50..b5bdd9405 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/CellMergeStrategy.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/CellMergeStrategy.java
@@ -1,8 +1,8 @@
-package com.ruoyi.common.excel;
+package com.ruoyi.common.excel.core;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
-import com.ruoyi.common.annotation.CellMerge;
+import com.ruoyi.common.excel.annotation.CellMerge;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.SneakyThrows;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/DefaultExcelListener.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefaultExcelListener.java
similarity index 94%
rename from ruoyi-common/src/main/java/com/ruoyi/common/excel/DefaultExcelListener.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefaultExcelListener.java
index 6cd6d2816..cd4c8efca 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/DefaultExcelListener.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefaultExcelListener.java
@@ -1,13 +1,13 @@
-package com.ruoyi.common.excel;
+package com.ruoyi.common.excel.core;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelAnalysisException;
import com.alibaba.excel.exception.ExcelDataConvertException;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StreamUtils;
-import com.ruoyi.common.utils.ValidatorUtils;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StreamUtils;
+import com.ruoyi.common.core.utils.ValidatorUtils;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/DefautExcelResult.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefautExcelResult.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/excel/DefautExcelResult.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefautExcelResult.java
index c852ce65f..af678efae 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/DefautExcelResult.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/DefautExcelResult.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.excel;
+package com.ruoyi.common.excel.core;
import cn.hutool.core.util.StrUtil;
import lombok.Setter;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelListener.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelListener.java
similarity index 84%
rename from ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelListener.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelListener.java
index 2064cad36..093b94f07 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelListener.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelListener.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.excel;
+package com.ruoyi.common.excel.core;
import com.alibaba.excel.read.listener.ReadListener;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelResult.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelResult.java
similarity index 89%
rename from ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelResult.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelResult.java
index 63f8b8ac6..81aab5dd3 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/excel/ExcelResult.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/core/ExcelResult.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.excel;
+package com.ruoyi.common.excel.core;
import java.util.List;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/utils/ExcelUtil.java
similarity index 96%
rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
rename to ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/utils/ExcelUtil.java
index 3ff8fec40..9e9fbd040 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/ruoyi-common/ruoyi-common-excel/src/main/java/com/ruoyi/common/excel/utils/ExcelUtil.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.utils.poi;
+package com.ruoyi.common.excel.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.resource.ClassPathResource;
@@ -10,13 +10,13 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.excel.write.metadata.fill.FillWrapper;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.ruoyi.common.convert.ExcelBigNumberConvert;
-import com.ruoyi.common.excel.CellMergeStrategy;
-import com.ruoyi.common.excel.DefaultExcelListener;
-import com.ruoyi.common.excel.ExcelListener;
-import com.ruoyi.common.excel.ExcelResult;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.file.FileUtils;
+import com.ruoyi.common.excel.convert.ExcelBigNumberConvert;
+import com.ruoyi.common.excel.core.CellMergeStrategy;
+import com.ruoyi.common.excel.core.DefaultExcelListener;
+import com.ruoyi.common.excel.core.ExcelListener;
+import com.ruoyi.common.excel.core.ExcelResult;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/ruoyi-common/ruoyi-common-job/pom.xml b/ruoyi-common/ruoyi-common-job/pom.xml
new file mode 100644
index 000000000..74952f32f
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-job/pom.xml
@@ -0,0 +1,41 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-common
+ 4.4.0
+
+
+ ruoyi-common-job
+
+
+ ruoyi-common-job 定时任务
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+
+
+ com.xuxueli
+ xxl-job-core
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
diff --git a/ruoyi-job/src/main/java/com/ruoyi/job/config/XxlJobConfig.java b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/XxlJobConfig.java
similarity index 94%
rename from ruoyi-job/src/main/java/com/ruoyi/job/config/XxlJobConfig.java
rename to ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/XxlJobConfig.java
index e051ff0d4..46adf46b7 100644
--- a/ruoyi-job/src/main/java/com/ruoyi/job/config/XxlJobConfig.java
+++ b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/XxlJobConfig.java
@@ -1,6 +1,6 @@
-package com.ruoyi.job.config;
+package com.ruoyi.common.job.config;
-import com.ruoyi.job.config.properties.XxlJobProperties;
+import com.ruoyi.common.job.config.properties.XxlJobProperties;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/ruoyi-job/src/main/java/com/ruoyi/job/config/properties/XxlJobProperties.java b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/properties/XxlJobProperties.java
similarity index 93%
rename from ruoyi-job/src/main/java/com/ruoyi/job/config/properties/XxlJobProperties.java
rename to ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/properties/XxlJobProperties.java
index f2c755a15..fc89a2f38 100644
--- a/ruoyi-job/src/main/java/com/ruoyi/job/config/properties/XxlJobProperties.java
+++ b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/config/properties/XxlJobProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.job.config.properties;
+package com.ruoyi.common.job.config.properties;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/service/SampleService.java
similarity index 99%
rename from ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java
rename to ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/service/SampleService.java
index 4ca170be7..7a1066be1 100644
--- a/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java
+++ b/ruoyi-common/ruoyi-common-job/src/main/java/com/ruoyi/common/job/service/SampleService.java
@@ -1,4 +1,4 @@
-package com.ruoyi.job.service;
+package com.ruoyi.common.job.service;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
diff --git a/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..dfcf8a608
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.job.config.XxlJobConfig
diff --git a/ruoyi-common/ruoyi-common-log/pom.xml b/ruoyi-common/ruoyi-common-log/pom.xml
new file mode 100644
index 000000000..5e47d06f3
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-log/pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-common
+ 4.4.0
+
+
+ ruoyi-common-log
+
+
+ ruoyi-common-log日志记录
+
+
+
+
+ com.ruoyi
+ ruoyi-common-satoken
+
+
+
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
similarity index 83%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
index 32c39a3b0..fb79861dd 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
@@ -1,7 +1,7 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.log.annotation;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.enums.OperatorType;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.log.enums.OperatorType;
import java.lang.annotation.*;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
similarity index 93%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
index 64ab736a6..8bf64aed9 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
@@ -1,22 +1,22 @@
-package com.ruoyi.framework.aspectj;
+package com.ruoyi.common.log.aspect;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.domain.event.OperLogEvent;
-import com.ruoyi.common.enums.BusinessStatus;
-import com.ruoyi.common.enums.HttpMethod;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.ServletUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessStatus;
+import com.ruoyi.common.log.event.OperLogEvent;
+import com.ruoyi.common.satoken.utils.LoginHelper;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
+import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;
import org.springframework.validation.BindingResult;
import org.springframework.web.multipart.MultipartFile;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessStatus.java
similarity index 81%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessStatus.java
index ce32cb41c..716c4cc5b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessStatus.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.common.log.enums;
/**
* 操作状态
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessType.java
similarity index 93%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessType.java
index 2d2f2e463..7314de586 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/BusinessType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.common.log.enums;
/**
* 业务操作类型
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/OperatorType.java
similarity index 85%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/OperatorType.java
index 3c4127d98..a93394a1d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/enums/OperatorType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.common.log.enums;
/**
* 操作人类别
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/event/OperLogEvent.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/event/OperLogEvent.java
rename to ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
index 3a2997810..2eceebeab 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/event/OperLogEvent.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.core.domain.event;
+package com.ruoyi.common.log.event;
import lombok.Data;
diff --git a/ruoyi-common/ruoyi-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..b8e32230d
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.log.aspect.LogAspect
diff --git a/ruoyi-common/ruoyi-common-mail/pom.xml b/ruoyi-common/ruoyi-common-mail/pom.xml
new file mode 100644
index 000000000..1128f0d52
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mail/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi-common
+ 4.4.0
+
+
+ ruoyi-common-mail
+
+
+ ruoyi-common-mail 邮件模块
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ com.sun.mail
+ jakarta.mail
+
+
+
+
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MailConfig.java b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/MailConfig.java
similarity index 92%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/MailConfig.java
rename to ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/MailConfig.java
index 20769aa19..c561deefd 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MailConfig.java
+++ b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/MailConfig.java
@@ -1,7 +1,7 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.mail.config;
import cn.hutool.extra.mail.MailAccount;
-import com.ruoyi.framework.config.properties.MailProperties;
+import com.ruoyi.common.mail.config.properties.MailProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/MailProperties.java b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/properties/MailProperties.java
similarity index 96%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/MailProperties.java
rename to ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/properties/MailProperties.java
index 95e6cb8ba..4472fff39 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/MailProperties.java
+++ b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/config/properties/MailProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config.properties;
+package com.ruoyi.common.mail.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/email/MailUtils.java b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/utils/MailUtils.java
similarity index 99%
rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/email/MailUtils.java
rename to ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/utils/MailUtils.java
index 32a3f8252..2c8775f2e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/email/MailUtils.java
+++ b/ruoyi-common/ruoyi-common-mail/src/main/java/com/ruoyi/common/mail/utils/MailUtils.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.utils.email;
+package com.ruoyi.common.mail.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.IoUtil;
@@ -6,8 +6,8 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.mail.*;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/ruoyi-common/ruoyi-common-mail/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-mail/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..f067b8b6e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-mail/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.mail.config.MailConfig
diff --git a/ruoyi-oss/pom.xml b/ruoyi-common/ruoyi-common-oss/pom.xml
similarity index 68%
rename from ruoyi-oss/pom.xml
rename to ruoyi-common/ruoyi-common-oss/pom.xml
index 78e618e95..ed2249af2 100644
--- a/ruoyi-oss/pom.xml
+++ b/ruoyi-common/ruoyi-common-oss/pom.xml
@@ -2,32 +2,34 @@
+ 4.0.0
- ruoyi-vue-plus
com.ruoyi
+ ruoyi-common
4.4.0
- 4.0.0
- ruoyi-oss
+ ruoyi-common-oss
- OSS对象存储模块
+ ruoyi-common-oss oss服务
-
-
com.ruoyi
- ruoyi-common
+ ruoyi-common-core
+
+
+
+ com.ruoyi
+ ruoyi-common-redis
com.amazonaws
aws-java-sdk-s3
-
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/constant/OssConstant.java
similarity index 94%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/constant/OssConstant.java
index 06202d0f2..50a3292f9 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/constant/OssConstant.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.constant;
+package com.ruoyi.common.oss.constant;
import java.util.Arrays;
import java.util.List;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java
similarity index 95%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java
index fe409ce7d..0e5e881ba 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.core;
+package com.ruoyi.common.oss.core;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil;
@@ -14,14 +14,14 @@ import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.oss.constant.OssConstant;
-import com.ruoyi.oss.entity.UploadResult;
-import com.ruoyi.oss.enumd.AccessPolicyType;
-import com.ruoyi.oss.enumd.PolicyType;
-import com.ruoyi.oss.exception.OssException;
-import com.ruoyi.oss.properties.OssProperties;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.oss.constant.OssConstant;
+import com.ruoyi.common.oss.entity.UploadResult;
+import com.ruoyi.common.oss.enumd.AccessPolicyType;
+import com.ruoyi.common.oss.enumd.PolicyType;
+import com.ruoyi.common.oss.exception.OssException;
+import com.ruoyi.common.oss.properties.OssProperties;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/entity/UploadResult.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/entity/UploadResult.java
similarity index 87%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/entity/UploadResult.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/entity/UploadResult.java
index 379d283c8..fd2e7fc18 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/entity/UploadResult.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/entity/UploadResult.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.entity;
+package com.ruoyi.common.oss.entity;
import lombok.Builder;
import lombok.Data;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/AccessPolicyType.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java
similarity index 96%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/AccessPolicyType.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java
index 1cae67094..140f67a91 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/AccessPolicyType.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.enumd;
+package com.ruoyi.common.oss.enumd;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import lombok.AllArgsConstructor;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/PolicyType.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/PolicyType.java
similarity index 91%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/PolicyType.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/PolicyType.java
index 606f0f484..c019d3bf4 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/PolicyType.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/PolicyType.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.enumd;
+package com.ruoyi.common.oss.enumd;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/exception/OssException.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/exception/OssException.java
similarity index 84%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/exception/OssException.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/exception/OssException.java
index 540b1cc0b..061165b43 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/exception/OssException.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/exception/OssException.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.exception;
+package com.ruoyi.common.oss.exception;
/**
* OSS异常类
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java
similarity index 80%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java
index c3312d730..a47e94959 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/factory/OssFactory.java
@@ -1,14 +1,14 @@
-package com.ruoyi.oss.factory;
+package com.ruoyi.common.oss.factory;
-import com.ruoyi.common.constant.CacheNames;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.redis.CacheUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
-import com.ruoyi.oss.constant.OssConstant;
-import com.ruoyi.oss.core.OssClient;
-import com.ruoyi.oss.exception.OssException;
-import com.ruoyi.oss.properties.OssProperties;
+import com.ruoyi.common.core.constant.CacheNames;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.oss.constant.OssConstant;
+import com.ruoyi.common.oss.core.OssClient;
+import com.ruoyi.common.oss.exception.OssException;
+import com.ruoyi.common.oss.properties.OssProperties;
+import com.ruoyi.common.redis.utils.CacheUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java
similarity index 94%
rename from ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java
rename to ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java
index 781a17005..bf7ab2f94 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.oss.properties;
+package com.ruoyi.common.oss.properties;
import lombok.Data;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java
similarity index 77%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java
rename to ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java
index 2e3ff7a82..b7226d4f3 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/annotation/RateLimiter.java
@@ -1,7 +1,7 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.redis.annotation;
-import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.enums.LimitType;
+import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.redis.enums.LimitType;
import java.lang.annotation.*;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java
similarity index 86%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
rename to ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java
index 542b16bfd..e81ada8bf 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/RateLimiterAspect.java
@@ -1,11 +1,11 @@
-package com.ruoyi.framework.aspectj;
+package com.ruoyi.common.redis.aspectj;
-import com.ruoyi.common.annotation.RateLimiter;
-import com.ruoyi.common.enums.LimitType;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.MessageUtils;
-import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
+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.redis.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java
similarity index 82%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java
rename to ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java
index 897f7068f..a50c2cab7 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/enums/LimitType.java
@@ -1,24 +1,24 @@
-package com.ruoyi.common.enums;
-
-/**
- * 限流类型
- *
- * @author ruoyi
- */
-
-public enum LimitType {
- /**
- * 默认策略全局限流
- */
- DEFAULT,
-
- /**
- * 根据请求者IP进行限流
- */
- IP,
-
- /**
- * 实例限流(集群多后端实例)
- */
- CLUSTER
-}
+package com.ruoyi.common.redis.enums;
+
+/**
+ * 限流类型
+ *
+ * @author ruoyi
+ */
+
+public enum LimitType {
+ /**
+ * 默认策略全局限流
+ */
+ DEFAULT,
+
+ /**
+ * 根据请求者IP进行限流
+ */
+ IP,
+
+ /**
+ * 实例限流(集群多后端实例)
+ */
+ CLUSTER
+}
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/core/service/SaPermissionImpl.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/core/service/SaPermissionImpl.java
index bcf39f98d..c1f9a2914 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/core/service/SaPermissionImpl.java
+++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/core/service/SaPermissionImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.common.satoken.core.service;
import cn.dev33.satoken.stp.StpInterface;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.enums.UserType;
import com.ruoyi.common.satoken.utils.LoginHelper;
import org.springframework.stereotype.Component;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/listener/UserActionListener.java
similarity index 92%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
rename to ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/listener/UserActionListener.java
index a9de17e60..e1070fb82 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
+++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/listener/UserActionListener.java
@@ -1,18 +1,18 @@
-package com.ruoyi.framework.listener;
+package com.ruoyi.common.satoken.listener;
import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil;
-import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.enums.UserType;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.ip.AddressUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.core.enums.UserType;
+import com.ruoyi.common.core.utils.ServletUtils;
+import com.ruoyi.common.core.utils.ip.AddressUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
+import com.ruoyi.common.satoken.utils.LoginHelper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java
index 57bfabf6c..b3b3f99e6 100644
--- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java
+++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java
@@ -5,6 +5,7 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.enums.DeviceType;
import com.ruoyi.common.core.enums.UserType;
import com.ruoyi.common.core.exception.UtilException;
diff --git a/ruoyi-sms/pom.xml b/ruoyi-common/ruoyi-common-sms/pom.xml
similarity index 79%
rename from ruoyi-sms/pom.xml
rename to ruoyi-common/ruoyi-common-sms/pom.xml
index 0ebabbb25..2cda030b8 100644
--- a/ruoyi-sms/pom.xml
+++ b/ruoyi-common/ruoyi-common-sms/pom.xml
@@ -2,25 +2,23 @@
+ 4.0.0
- ruoyi-vue-plus
com.ruoyi
+ ruoyi-common
4.4.0
- 4.0.0
- ruoyi-sms
+ ruoyi-common-sms
- SMS短信模块
+ ruoyi-common-sms 短信模块
-
-
com.ruoyi
- ruoyi-common
+ ruoyi-common-core
@@ -32,9 +30,7 @@
com.tencentcloudapi
tencentcloud-sdk-java-sms
- true
-
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
similarity index 81%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
index 753773e87..8b80bc29d 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/SmsConfig.java
@@ -1,9 +1,9 @@
-package com.ruoyi.sms.config;
+package com.ruoyi.common.sms.config;
-import com.ruoyi.sms.config.properties.SmsProperties;
-import com.ruoyi.sms.core.AliyunSmsTemplate;
-import com.ruoyi.sms.core.SmsTemplate;
-import com.ruoyi.sms.core.TencentSmsTemplate;
+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.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/properties/SmsProperties.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/properties/SmsProperties.java
similarity index 94%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/config/properties/SmsProperties.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/properties/SmsProperties.java
index 39359cdfd..55621784e 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/properties/SmsProperties.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/config/properties/SmsProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.sms.config.properties;
+package com.ruoyi.common.sms.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/AliyunSmsTemplate.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/AliyunSmsTemplate.java
similarity index 87%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/core/AliyunSmsTemplate.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/AliyunSmsTemplate.java
index 3c16a5b41..28f67d2b7 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/AliyunSmsTemplate.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/AliyunSmsTemplate.java
@@ -1,14 +1,14 @@
-package com.ruoyi.sms.core;
+package com.ruoyi.common.sms.core;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.sms.config.properties.SmsProperties;
-import com.ruoyi.sms.entity.SmsResult;
-import com.ruoyi.sms.exception.SmsException;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.sms.config.properties.SmsProperties;
+import com.ruoyi.common.sms.entity.SmsResult;
+import com.ruoyi.common.sms.exception.SmsException;
import lombok.SneakyThrows;
import java.util.Map;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/SmsTemplate.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/SmsTemplate.java
similarity index 87%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/core/SmsTemplate.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/SmsTemplate.java
index 0aec3ddbe..eb61b8631 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/SmsTemplate.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/SmsTemplate.java
@@ -1,6 +1,6 @@
-package com.ruoyi.sms.core;
+package com.ruoyi.common.sms.core;
-import com.ruoyi.sms.entity.SmsResult;
+import com.ruoyi.common.sms.entity.SmsResult;
import java.util.Map;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TencentSmsTemplate.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/TencentSmsTemplate.java
similarity index 90%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/core/TencentSmsTemplate.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/TencentSmsTemplate.java
index 17f5b5b16..8c45a02eb 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/core/TencentSmsTemplate.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/core/TencentSmsTemplate.java
@@ -1,12 +1,12 @@
-package com.ruoyi.sms.core;
+package com.ruoyi.common.sms.core;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.sms.config.properties.SmsProperties;
-import com.ruoyi.sms.entity.SmsResult;
-import com.ruoyi.sms.exception.SmsException;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.sms.config.properties.SmsProperties;
+import com.ruoyi.common.sms.entity.SmsResult;
+import com.ruoyi.common.sms.exception.SmsException;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/entity/SmsResult.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/entity/SmsResult.java
similarity index 91%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/entity/SmsResult.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/entity/SmsResult.java
index 89c39b403..d43680525 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/entity/SmsResult.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/entity/SmsResult.java
@@ -1,4 +1,4 @@
-package com.ruoyi.sms.entity;
+package com.ruoyi.common.sms.entity;
import lombok.Builder;
import lombok.Data;
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/exception/SmsException.java b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/exception/SmsException.java
similarity index 84%
rename from ruoyi-sms/src/main/java/com/ruoyi/sms/exception/SmsException.java
rename to ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/exception/SmsException.java
index 28632a375..f855a29aa 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/exception/SmsException.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/com/ruoyi/common/sms/exception/SmsException.java
@@ -1,4 +1,4 @@
-package com.ruoyi.sms.exception;
+package com.ruoyi.common.sms.exception;
/**
* Sms异常类
diff --git a/ruoyi-common/ruoyi-common-sms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-sms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..2eaa24907
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-sms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.common.sms.config.SmsConfig
diff --git a/ruoyi-framework/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml
similarity index 55%
rename from ruoyi-framework/pom.xml
rename to ruoyi-common/ruoyi-common-web/pom.xml
index 52e1b0651..36cc21cf4 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-common/ruoyi-common-web/pom.xml
@@ -2,31 +2,40 @@
+ 4.0.0
- ruoyi-vue-plus
com.ruoyi
+ ruoyi-common
4.4.0
- 4.0.0
- ruoyi-framework
+ ruoyi-common-web
- framework框架核心
+ ruoyi-common-web web服务
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ com.ruoyi
+ ruoyi-common-redis
+
-
+
org.springframework.boot
spring-boot-starter-web
-
-
- spring-boot-starter-tomcat
- org.springframework.boot
-
-
+
+
+ spring-boot-starter-tomcat
+ org.springframework.boot
+
+
@@ -34,39 +43,20 @@
spring-boot-starter-undertow
-
- org.springframework.boot
- spring-boot-starter-aop
-
-
-
-
- p6spy
- p6spy
+ cn.dev33
+ sa-token-core
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
- de.codecentric
- spring-boot-admin-starter-client
+ cn.hutool
+ hutool-crypto
com.alibaba
transmittable-thread-local
-
-
-
- com.ruoyi
- ruoyi-common
-
-
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/annotation/RepeatSubmit.java
similarity index 93%
rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/annotation/RepeatSubmit.java
index d30962d0e..0f9b1a951 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/annotation/RepeatSubmit.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.annotation;
+package com.ruoyi.common.web.annotation;
import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/aspectj/RepeatSubmitAspect.java
similarity index 90%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/aspectj/RepeatSubmitAspect.java
index 7c2fa2a41..66ebbe812 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/aspectj/RepeatSubmitAspect.java
@@ -1,25 +1,22 @@
-package com.ruoyi.framework.aspectj;
+package com.ruoyi.common.web.aspectj;
import cn.dev33.satoken.SaManager;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.crypto.SecureUtil;
-import com.ruoyi.common.annotation.RepeatSubmit;
-import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.MessageUtils;
-import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.redis.RedisUtils;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.MessageUtils;
+import com.ruoyi.common.core.utils.ServletUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
+import com.ruoyi.common.web.annotation.RepeatSubmit;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
-import org.springframework.stereotype.Component;
import org.springframework.validation.BindingResult;
import org.springframework.web.multipart.MultipartFile;
@@ -34,10 +31,7 @@ import java.util.Map;
*
* @author Lion Li
*/
-@Slf4j
-@RequiredArgsConstructor
@Aspect
-@Component
public class RepeatSubmitAspect {
private static final ThreadLocal KEY_CACHE = new ThreadLocal<>();
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/CaptchaConfig.java
similarity index 97%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/CaptchaConfig.java
index b284216f5..cd31ffa32 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/CaptchaConfig.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.web.config;
import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/FilterConfig.java
similarity index 88%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/FilterConfig.java
index 6f3b099ab..6ebe5c2c9 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/FilterConfig.java
@@ -1,9 +1,9 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.web.config;
-import com.ruoyi.common.filter.RepeatableFilter;
-import com.ruoyi.common.filter.XssFilter;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.framework.config.properties.XssProperties;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.web.config.properties.XssProperties;
+import com.ruoyi.common.web.filter.RepeatableFilter;
+import com.ruoyi.common.web.filter.XssFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/I18nConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/I18nConfig.java
new file mode 100644
index 000000000..dd7661992
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/I18nConfig.java
@@ -0,0 +1,22 @@
+package com.ruoyi.common.web.config;
+
+import com.ruoyi.common.web.core.I18nLocaleResolver;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.servlet.LocaleResolver;
+
+/**
+ * 国际化配置
+ *
+ * @author Lion Li
+ */
+@AutoConfiguration(before = WebMvcAutoConfiguration.class)
+public class I18nConfig {
+
+ @Bean
+ public LocaleResolver localeResolver() {
+ return new I18nLocaleResolver();
+ }
+
+}
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/IdempotentConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/IdempotentConfig.java
new file mode 100644
index 000000000..72ca97162
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/IdempotentConfig.java
@@ -0,0 +1,21 @@
+package com.ruoyi.common.web.config;
+
+import com.ruoyi.common.web.aspectj.RepeatSubmitAspect;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.redis.connection.RedisConfiguration;
+
+/**
+ * 幂等功能配置
+ *
+ * @author Lion Li
+ */
+@AutoConfiguration(after = RedisConfiguration.class)
+public class IdempotentConfig {
+
+ @Bean
+ public RepeatSubmitAspect repeatSubmitAspect() {
+ return new RepeatSubmitAspect();
+ }
+
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/ResourcesConfig.java
similarity index 94%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/ResourcesConfig.java
index ea83338ba..3bb68c263 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/ResourcesConfig.java
@@ -1,6 +1,6 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.web.config;
-import com.ruoyi.framework.interceptor.PlusWebInvokeTimeInterceptor;
+import com.ruoyi.common.web.interceptor.PlusWebInvokeTimeInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
similarity index 96%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/UndertowConfig.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
index 64e745a86..fec461d93 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/UndertowConfig.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config;
+package com.ruoyi.common.web.config;
import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/CaptchaProperties.java
similarity index 80%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/CaptchaProperties.java
index 1b41c66cf..9821fdfd5 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/CaptchaProperties.java
@@ -1,7 +1,7 @@
-package com.ruoyi.framework.config.properties;
+package com.ruoyi.common.web.config.properties;
-import com.ruoyi.common.enums.CaptchaCategory;
-import com.ruoyi.common.enums.CaptchaType;
+import com.ruoyi.common.web.enums.CaptchaCategory;
+import com.ruoyi.common.web.enums.CaptchaType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/XssProperties.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/XssProperties.java
similarity index 91%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/XssProperties.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/XssProperties.java
index d8a68a86a..83312f88a 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/XssProperties.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/properties/XssProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.framework.config.properties;
+package com.ruoyi.common.web.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/core/I18nLocaleResolver.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/core/I18nLocaleResolver.java
new file mode 100644
index 000000000..73fe5b0c7
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/core/I18nLocaleResolver.java
@@ -0,0 +1,31 @@
+package com.ruoyi.common.web.core;
+
+import org.springframework.web.servlet.LocaleResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
+
+/**
+ * 获取请求头国际化信息
+ *
+ * @author Lion Li
+ */
+public class I18nLocaleResolver implements LocaleResolver {
+
+ @Override
+ public Locale resolveLocale(HttpServletRequest httpServletRequest) {
+ String language = httpServletRequest.getHeader("content-language");
+ Locale locale = Locale.getDefault();
+ if (language != null && language.length() > 0) {
+ String[] split = language.split("_");
+ locale = new Locale(split[0], split[1]);
+ }
+ return locale;
+ }
+
+ @Override
+ public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
+
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaCategory.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaCategory.java
similarity index 94%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaCategory.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaCategory.java
index 35d3ea3cf..7fca5c217 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaCategory.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaCategory.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.common.web.enums;
import cn.hutool.captcha.AbstractCaptcha;
import cn.hutool.captcha.CircleCaptcha;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaType.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaType.java
similarity index 83%
rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaType.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaType.java
index b1c50ca75..f78d572a5 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/CaptchaType.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/enums/CaptchaType.java
@@ -1,8 +1,8 @@
-package com.ruoyi.common.enums;
+package com.ruoyi.common.web.enums;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.captcha.generator.RandomGenerator;
-import com.ruoyi.common.captcha.UnsignedMathGenerator;
+import com.ruoyi.common.web.utils.UnsignedMathGenerator;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatableFilter.java
similarity index 92%
rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatableFilter.java
index 8927366e0..f966492d8 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatableFilter.java
@@ -1,6 +1,6 @@
-package com.ruoyi.common.filter;
+package com.ruoyi.common.web.filter;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
import org.springframework.http.MediaType;
import javax.servlet.*;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatedlyRequestWrapper.java
similarity index 95%
rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatedlyRequestWrapper.java
index c1cbe3f2f..c661ad5a1 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/RepeatedlyRequestWrapper.java
@@ -1,7 +1,7 @@
-package com.ruoyi.common.filter;
+package com.ruoyi.common.web.filter;
import cn.hutool.core.io.IoUtil;
-import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.constant.Constants;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssFilter.java
similarity index 93%
rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssFilter.java
index 5a0879472..a985f6e6c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssFilter.java
@@ -1,7 +1,7 @@
-package com.ruoyi.common.filter;
+package com.ruoyi.common.web.filter;
-import com.ruoyi.common.enums.HttpMethod;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import org.springframework.http.HttpMethod;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssHttpServletRequestWrapper.java
similarity index 97%
rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssHttpServletRequestWrapper.java
index 3646f1fee..5d043114e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/filter/XssHttpServletRequestWrapper.java
@@ -1,9 +1,9 @@
-package com.ruoyi.common.filter;
+package com.ruoyi.common.web.filter;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/interceptor/PlusWebInvokeTimeInterceptor.java
similarity index 93%
rename from ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/interceptor/PlusWebInvokeTimeInterceptor.java
index 78bffab4f..f01cc41a9 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/PlusWebInvokeTimeInterceptor.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/interceptor/PlusWebInvokeTimeInterceptor.java
@@ -1,12 +1,12 @@
-package com.ruoyi.framework.interceptor;
+package com.ruoyi.common.web.interceptor;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.ttl.TransmittableThreadLocal;
-import com.ruoyi.common.filter.RepeatedlyRequestWrapper;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.web.filter.RepeatedlyRequestWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.StopWatch;
import org.springframework.http.MediaType;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/captcha/UnsignedMathGenerator.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/utils/UnsignedMathGenerator.java
similarity index 96%
rename from ruoyi-common/src/main/java/com/ruoyi/common/captcha/UnsignedMathGenerator.java
rename to ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/utils/UnsignedMathGenerator.java
index 5dd00ec08..e89f5cc8e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/captcha/UnsignedMathGenerator.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/utils/UnsignedMathGenerator.java
@@ -1,10 +1,10 @@
-package com.ruoyi.common.captcha;
+package com.ruoyi.common.web.utils;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.math.Calculator;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
/**
* 无符号计算生成器
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
new file mode 100644
index 000000000..04ee5fff7
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,6 @@
+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-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java
deleted file mode 100644
index bd1bfcc46..000000000
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.common.enums;
-
-import org.springframework.lang.Nullable;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 请求方式
- *
- * @author ruoyi
- */
-public enum HttpMethod {
- GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
-
- private static final Map mappings = new HashMap<>(16);
-
- static {
- for (HttpMethod httpMethod : values()) {
- mappings.put(httpMethod.name(), httpMethod);
- }
- }
-
- @Nullable
- public static HttpMethod resolve(@Nullable String method) {
- return (method != null ? mappings.get(method) : null);
- }
-
- public boolean matches(String method) {
- return (this == resolve(method));
- }
-}
diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml
index 46b45981d..ef5656271 100644
--- a/ruoyi-demo/pom.xml
+++ b/ruoyi-demo/pom.xml
@@ -20,12 +20,35 @@
com.ruoyi
- ruoyi-common
+ ruoyi-common-core
-
com.ruoyi
- ruoyi-sms
+ ruoyi-common-sms
+
+
+ com.ruoyi
+ ruoyi-common-mail
+
+
+ com.ruoyi
+ ruoyi-common-redis
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+ com.ruoyi
+ ruoyi-common-excel
+
+
+ com.ruoyi
+ ruoyi-common-web
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/MailController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/MailController.java
index 6db4dc4e7..3d890acd2 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/MailController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/MailController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.email.MailUtils;
+import com.ruoyi.common.mail.utils.MailUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
index 7342cba98..20083ba61 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.controller;
-import com.ruoyi.common.constant.CacheNames;
+import com.ruoyi.common.core.constant.CacheNames;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
index 0c2af3951..6ad80ce4a 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.common.redis.utils.RedisUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
index ee2e530ba..f2cfbc3d5 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.controller;
-import com.ruoyi.common.annotation.RateLimiter;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.enums.LimitType;
+import com.ruoyi.common.redis.annotation.RateLimiter;
+import com.ruoyi.common.redis.enums.LimitType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
index cc6012f44..bda995546 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
@@ -1,9 +1,9 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.sms.config.properties.SmsProperties;
-import com.ruoyi.sms.core.SmsTemplate;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.sms.config.properties.SmsProperties;
+import com.ruoyi.common.sms.core.SmsTemplate;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
index 3bd2867ee..84468c6e7 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.mapper.TestDemoMapper;
import lombok.RequiredArgsConstructor;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
index 873facc3b..8d1e911ed 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -2,19 +2,20 @@ package com.ruoyi.demo.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.RepeatSubmit;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.utils.ValidatorUtils;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.excel.ExcelResult;
-import com.ruoyi.common.utils.ValidatorUtils;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.excel.core.ExcelResult;
+import com.ruoyi.common.excel.utils.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.redis.utils.RedisUtils;
+import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.bo.TestDemoImportVo;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestExcelController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestExcelController.java
index 51b81c582..0129ef6ef 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestExcelController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestExcelController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller;
import cn.hutool.core.collection.CollUtil;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.excel.utils.ExcelUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestI18nController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestI18nController.java
index 0cc529a61..303bf8573 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestI18nController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestI18nController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.MessageUtils;
+import com.ruoyi.common.core.utils.MessageUtils;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.springframework.validation.annotation.Validated;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java
index 6bf904caf..259c12bb8 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java
@@ -1,9 +1,9 @@
package com.ruoyi.demo.controller;
-import com.ruoyi.common.annotation.Sensitive;
-import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.annotation.Sensitive;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.enums.SensitiveStrategy;
+import com.ruoyi.common.core.enums.SensitiveStrategy;
+import com.ruoyi.common.core.web.controller.BaseController;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java
index db54230c6..e0a3f211c 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java
@@ -1,15 +1,15 @@
package com.ruoyi.demo.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.RepeatSubmit;
-import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.excel.utils.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.demo.domain.bo.TestTreeBo;
import com.ruoyi.demo.domain.vo.TestTreeVo;
import com.ruoyi.demo.service.ITestTreeService;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/BoundedQueueController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/BoundedQueueController.java
index 968a4193f..604a38db9 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/BoundedQueueController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/BoundedQueueController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller.queue;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.redis.QueueUtils;
+import com.ruoyi.common.redis.utils.QueueUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java
index e6dbee863..3587c2bcb 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.controller.queue;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.redis.QueueUtils;
+import com.ruoyi.common.redis.utils.QueueUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/PriorityQueueController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/PriorityQueueController.java
index 4a60232c7..fcccf141a 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/PriorityQueueController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/PriorityQueueController.java
@@ -2,7 +2,7 @@ package com.ruoyi.demo.controller.queue;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.redis.QueueUtils;
+import com.ruoyi.common.redis.utils.QueueUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java
index dc19ce2c7..8c28d4960 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.domain;
import com.baomidou.mybatisplus.annotation.*;
-import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java
index b480aa0c1..b8064648c 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestTree.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
-import com.ruoyi.common.core.domain.TreeEntity;
+import com.ruoyi.common.core.web.domain.TreeEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestDemoBo.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestDemoBo.java
index 54ecae117..d539c986c 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestDemoBo.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestDemoBo.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.domain.bo;
-import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestTreeBo.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestTreeBo.java
index a51b3fe37..53d2b437f 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestTreeBo.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/bo/TestTreeBo.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.domain.bo;
-import com.ruoyi.common.core.domain.TreeEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.web.domain.TreeEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
index 11a3d50e2..d22871e0d 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.annotation.DataColumn;
-import com.ruoyi.common.annotation.DataPermission;
-import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.common.datasource.annotation.DataColumn;
+import com.ruoyi.common.datasource.annotation.DataPermission;
+import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus;
import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.vo.TestDemoVo;
import org.apache.ibatis.annotations.Param;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestTreeMapper.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestTreeMapper.java
index e37a9a75e..b16fdf38d 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestTreeMapper.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestTreeMapper.java
@@ -1,8 +1,8 @@
package com.ruoyi.demo.mapper;
-import com.ruoyi.common.annotation.DataColumn;
-import com.ruoyi.common.annotation.DataPermission;
-import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.common.datasource.annotation.DataColumn;
+import com.ruoyi.common.datasource.annotation.DataPermission;
+import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus;
import com.ruoyi.demo.domain.TestTree;
import com.ruoyi.demo.domain.vo.TestTreeVo;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
index f6b82fd6d..91fa56d13 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.service;
-import com.ruoyi.common.core.domain.PageQuery;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.vo.TestDemoVo;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
index 7ed7cd5b2..801e4e9db 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
@@ -4,9 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.PageQuery;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.vo.TestDemoVo;
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
index 3e7fa20d7..801a0ea4a 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
@@ -3,7 +3,7 @@ package com.ruoyi.demo.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.demo.domain.TestTree;
import com.ruoyi.demo.domain.bo.TestTreeBo;
import com.ruoyi.demo.domain.vo.TestTreeVo;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/I18nConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/I18nConfig.java
deleted file mode 100644
index e64fa3a7f..000000000
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/I18nConfig.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.framework.config;
-
-import cn.hutool.core.util.StrUtil;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.LocaleResolver;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Locale;
-
-/**
- * 国际化配置
- *
- * @author Lion Li
- */
-@Configuration
-public class I18nConfig {
-
- @Bean
- public LocaleResolver localeResolver() {
- return new I18nLocaleResolver();
- }
-
- /**
- * 获取请求头国际化信息
- */
- static class I18nLocaleResolver implements LocaleResolver {
-
- @Override
- public Locale resolveLocale(HttpServletRequest httpServletRequest) {
- String language = httpServletRequest.getHeader("content-language");
- Locale locale = Locale.getDefault();
- if (StrUtil.isNotBlank(language)) {
- String[] split = language.split("_");
- locale = new Locale(split[0], split[1]);
- }
- return locale;
- }
-
- @Override
- public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
-
- }
- }
-}
diff --git a/ruoyi-generator/pom.xml b/ruoyi-generator/pom.xml
index 3e55d4424..21e5d3822 100644
--- a/ruoyi-generator/pom.xml
+++ b/ruoyi-generator/pom.xml
@@ -16,19 +16,31 @@
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+
+ com.ruoyi
+ ruoyi-common-web
+
org.apache.velocity
velocity-engine-core
-
-
com.ruoyi
- ruoyi-common
+ ruoyi-common-log
-
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
index 77df9fd92..a5bc5cee5 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
@@ -3,12 +3,12 @@ package com.ruoyi.generator.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.IoUtil;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
import com.ruoyi.generator.service.IGenTableService;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
index 45e9168e5..5aa4be6f8 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
@@ -1,9 +1,9 @@
package com.ruoyi.generator.domain;
import com.baomidou.mybatisplus.annotation.*;
-import com.ruoyi.common.constant.GenConstants;
-import com.ruoyi.common.core.domain.BaseEntity;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.ArrayUtils;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
index 280204b55..9f85f1531 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BaseEntity;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java
index 93578f2e9..ef14ddfd3 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java
@@ -1,7 +1,7 @@
package com.ruoyi.generator.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
-import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus;
import com.ruoyi.generator.domain.GenTableColumn;
import java.util.List;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
index f70a11eb6..0513eb20a 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
@@ -2,7 +2,7 @@ package com.ruoyi.generator.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus;
import com.ruoyi.generator.domain.GenTable;
import org.apache.ibatis.annotations.Param;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index 7a80229b1..70dfed39e 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -11,16 +11,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.constant.GenConstants;
-import com.ruoyi.common.core.domain.PageQuery;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StreamUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.common.core.constant.Constants;
+import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StreamUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.file.FileUtils;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
+import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
import com.ruoyi.generator.mapper.GenTableColumnMapper;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
index c432d067a..80466b8bc 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
@@ -1,7 +1,7 @@
package com.ruoyi.generator.service;
-import com.ruoyi.common.core.domain.PageQuery;
-import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.datasource.core.page.PageQuery;
+import com.ruoyi.common.datasource.core.page.TableDataInfo;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
index b6c2248e6..cb0a065b9 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
@@ -1,7 +1,7 @@
package com.ruoyi.generator.util;
-import com.ruoyi.common.constant.GenConstants;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.generator.config.GenConfig;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
index 67769a8dd..045e30347 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
@@ -1,6 +1,6 @@
package com.ruoyi.generator.util;
-import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.constant.Constants;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.velocity.app.Velocity;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
index d8eeb6dd7..9f96d4d4a 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
@@ -4,11 +4,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.constant.GenConstants;
-import com.ruoyi.common.helper.DataBaseHelper;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.JsonUtils;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.constant.GenConstants;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.JsonUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.datasource.helper.DataBaseHelper;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
import lombok.AccessLevel;
diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
index fc44d8cbc..76e09bca8 100644
--- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
+++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
@@ -30,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"