diff --git a/README.md b/README.md index 45a1fecb..ba547feb 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ 基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-Plus、Knife4j、Vue 3、Element-Plus 构建的前后端分离单体权限管理系统。 -- **🚀 开发框架**: 使用 Spring Boot 3.0 和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。 +- **🚀 开发框架**: 使用 Spring Boot 3 和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。 - **🔐 安全认证**: 结合 Spring Security 和 JWT 提供安全、无状态、分布式友好的身份验证和授权机制。 @@ -57,7 +57,7 @@ youlai-boot ├── WebSocketConfig # WebSocket 自动装配配置 ├── XxlJobConfig # XXL-JOB 自动装配配置 ├── controller # 控制层 - ├── converter # MapStruct转换器 + ├── converter # MapStruct 转换器 ├── core # 核心模块 ├── security # Spring Security 安全配置和扩展 ├── mybatis # Mybatis-Plus 配置和插件 @@ -75,14 +75,15 @@ youlai-boot ├── plugin # 插件(可选) ├── captcha # 验证码插件,用于生成验证码 ├── dupsubmit # 防重提交插件,用于防止表单重复提交 + ├── mybatis # Mybatis 插件,数据权限、字段填充 ├── easyexcel # EasyExcel 插件,Excel 文件的读写 - ├── rabbitmq # RabbitMQ 插件,消息队列交互 - ├── websocket # WebSocket 插件,实时双向通信 ├── xxljob # XXL-JOB 插件,分布式任务调度和执行 + ├── security # Spring Security 安全配置和扩展 + ├── util # 工具类 + ├── JwtUtils # JWT 工具类,用于生成和解析 JWT + ├── SecurityUtils # Spring Security 工具类,用于获取当前登录用户 ├── service # 业务逻辑层 - ├── util # 工具类 - ├── JwtUtils # JWT 工具类 - ├── SecurityUtils # Spring Security 工具类 + └── end ``` diff --git a/src/main/java/com/youlai/system/enums/CaptchaTypeEnum.java b/src/main/java/com/youlai/system/common/enums/CaptchaTypeEnum.java similarity index 89% rename from src/main/java/com/youlai/system/enums/CaptchaTypeEnum.java rename to src/main/java/com/youlai/system/common/enums/CaptchaTypeEnum.java index b6376b1e..c2896d9e 100644 --- a/src/main/java/com/youlai/system/enums/CaptchaTypeEnum.java +++ b/src/main/java/com/youlai/system/common/enums/CaptchaTypeEnum.java @@ -1,4 +1,4 @@ -package com.youlai.system.enums; +package com.youlai.system.common.enums; /** * EasyCaptcha 验证码类型枚举 diff --git a/src/main/java/com/youlai/system/enums/DataScopeEnum.java b/src/main/java/com/youlai/system/common/enums/DataScopeEnum.java similarity index 93% rename from src/main/java/com/youlai/system/enums/DataScopeEnum.java rename to src/main/java/com/youlai/system/common/enums/DataScopeEnum.java index 09192e01..019a881d 100644 --- a/src/main/java/com/youlai/system/enums/DataScopeEnum.java +++ b/src/main/java/com/youlai/system/common/enums/DataScopeEnum.java @@ -1,4 +1,4 @@ -package com.youlai.system.enums; +package com.youlai.system.common.enums; import com.youlai.system.common.base.IBaseEnum; import lombok.Getter; diff --git a/src/main/java/com/youlai/system/enums/GenderEnum.java b/src/main/java/com/youlai/system/common/enums/GenderEnum.java similarity index 92% rename from src/main/java/com/youlai/system/enums/GenderEnum.java rename to src/main/java/com/youlai/system/common/enums/GenderEnum.java index 22eff048..a576ec5d 100644 --- a/src/main/java/com/youlai/system/enums/GenderEnum.java +++ b/src/main/java/com/youlai/system/common/enums/GenderEnum.java @@ -1,4 +1,4 @@ -package com.youlai.system.enums; +package com.youlai.system.common.enums; import com.youlai.system.common.base.IBaseEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/src/main/java/com/youlai/system/enums/MenuTypeEnum.java b/src/main/java/com/youlai/system/common/enums/MenuTypeEnum.java similarity index 94% rename from src/main/java/com/youlai/system/enums/MenuTypeEnum.java rename to src/main/java/com/youlai/system/common/enums/MenuTypeEnum.java index 788bb6ac..91b6c891 100644 --- a/src/main/java/com/youlai/system/enums/MenuTypeEnum.java +++ b/src/main/java/com/youlai/system/common/enums/MenuTypeEnum.java @@ -1,4 +1,4 @@ -package com.youlai.system.enums; +package com.youlai.system.common.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import com.youlai.system.common.base.IBaseEnum; diff --git a/src/main/java/com/youlai/system/enums/StatusEnum.java b/src/main/java/com/youlai/system/common/enums/StatusEnum.java similarity index 91% rename from src/main/java/com/youlai/system/enums/StatusEnum.java rename to src/main/java/com/youlai/system/common/enums/StatusEnum.java index 678afe16..ba6bf0bf 100644 --- a/src/main/java/com/youlai/system/enums/StatusEnum.java +++ b/src/main/java/com/youlai/system/common/enums/StatusEnum.java @@ -1,4 +1,4 @@ -package com.youlai.system.enums; +package com.youlai.system.common.enums; import com.youlai.system.common.base.IBaseEnum; import lombok.Getter; diff --git a/src/main/java/com/youlai/system/util/DateUtils.java b/src/main/java/com/youlai/system/common/util/DateUtils.java similarity index 98% rename from src/main/java/com/youlai/system/util/DateUtils.java rename to src/main/java/com/youlai/system/common/util/DateUtils.java index 167fce20..6066bc7a 100644 --- a/src/main/java/com/youlai/system/util/DateUtils.java +++ b/src/main/java/com/youlai/system/common/util/DateUtils.java @@ -1,5 +1,5 @@ -package com.youlai.system.util; +package com.youlai.system.common.util; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; diff --git a/src/main/java/com/youlai/system/util/ExcelUtils.java b/src/main/java/com/youlai/system/common/util/ExcelUtils.java similarity index 91% rename from src/main/java/com/youlai/system/util/ExcelUtils.java rename to src/main/java/com/youlai/system/common/util/ExcelUtils.java index 14894baf..d25921fe 100644 --- a/src/main/java/com/youlai/system/util/ExcelUtils.java +++ b/src/main/java/com/youlai/system/common/util/ExcelUtils.java @@ -1,4 +1,4 @@ -package com.youlai.system.util; +package com.youlai.system.common.util; import com.alibaba.excel.EasyExcel; import com.youlai.system.plugin.easyexcel.MyAnalysisEventListener; diff --git a/src/main/java/com/youlai/system/util/ResponseUtils.java b/src/main/java/com/youlai/system/common/util/ResponseUtils.java similarity index 97% rename from src/main/java/com/youlai/system/util/ResponseUtils.java rename to src/main/java/com/youlai/system/common/util/ResponseUtils.java index 5b702f26..2ed64175 100644 --- a/src/main/java/com/youlai/system/util/ResponseUtils.java +++ b/src/main/java/com/youlai/system/common/util/ResponseUtils.java @@ -1,4 +1,4 @@ -package com.youlai.system.util; +package com.youlai.system.common.util; import cn.hutool.json.JSONUtil; import com.youlai.system.common.result.IResultCode; diff --git a/src/main/java/com/youlai/system/config/MybatisConfig.java b/src/main/java/com/youlai/system/config/MybatisConfig.java index 74274c85..3fbf2805 100644 --- a/src/main/java/com/youlai/system/config/MybatisConfig.java +++ b/src/main/java/com/youlai/system/config/MybatisConfig.java @@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.config.GlobalConfig; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; -import com.youlai.system.core.mybatis.handler.MyDataPermissionHandler; -import com.youlai.system.core.mybatis.handler.MyMetaObjectHandler; +import com.youlai.system.plugin.mybatis.handler.MyDataPermissionHandler; +import com.youlai.system.plugin.mybatis.handler.MyMetaObjectHandler; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/src/main/java/com/youlai/system/config/SecurityConfig.java b/src/main/java/com/youlai/system/config/SecurityConfig.java index 637c570a..2d0de6c0 100644 --- a/src/main/java/com/youlai/system/config/SecurityConfig.java +++ b/src/main/java/com/youlai/system/config/SecurityConfig.java @@ -1,8 +1,8 @@ package com.youlai.system.config; import com.youlai.system.common.constant.SecurityConstants; -import com.youlai.system.core.security.exception.MyAccessDeniedHandler; -import com.youlai.system.core.security.exception.MyAuthenticationEntryPoint; +import com.youlai.system.security.exception.MyAccessDeniedHandler; +import com.youlai.system.security.exception.MyAuthenticationEntryPoint; import com.youlai.system.filter.JwtTokenFilter; import com.youlai.system.filter.VerifyCodeFilter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/youlai/system/config/WebSocketConfig.java b/src/main/java/com/youlai/system/config/WebSocketConfig.java index fdcae54a..75f8ed21 100644 --- a/src/main/java/com/youlai/system/config/WebSocketConfig.java +++ b/src/main/java/com/youlai/system/config/WebSocketConfig.java @@ -1,7 +1,7 @@ package com.youlai.system.config; import cn.hutool.core.util.StrUtil; -import com.youlai.system.util.JwtUtils; +import com.youlai.system.security.util.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; diff --git a/src/main/java/com/youlai/system/controller/SysUserController.java b/src/main/java/com/youlai/system/controller/SysUserController.java index 28fdfd0d..86ebc436 100644 --- a/src/main/java/com/youlai/system/controller/SysUserController.java +++ b/src/main/java/com/youlai/system/controller/SysUserController.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.youlai.system.common.result.PageResult; import com.youlai.system.common.result.Result; -import com.youlai.system.util.ExcelUtils; +import com.youlai.system.common.util.ExcelUtils; import com.youlai.system.plugin.dupsubmit.annotation.PreventDuplicateSubmit; import com.youlai.system.plugin.easyexcel.UserImportListener; import com.youlai.system.model.vo.UserImportVO; diff --git a/src/main/java/com/youlai/system/converter/UserConverter.java b/src/main/java/com/youlai/system/converter/UserConverter.java index 4b9b0c61..8c88d2b3 100644 --- a/src/main/java/com/youlai/system/converter/UserConverter.java +++ b/src/main/java/com/youlai/system/converter/UserConverter.java @@ -23,7 +23,7 @@ import org.mapstruct.Mappings; public interface UserConverter { @Mappings({ - @Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.enums.GenderEnum.class))") + @Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.common.enums.GenderEnum.class))") }) UserPageVO toPageVo(UserBO bo); diff --git a/src/main/java/com/youlai/system/filter/JwtTokenFilter.java b/src/main/java/com/youlai/system/filter/JwtTokenFilter.java index 2a463c9f..e5b72150 100644 --- a/src/main/java/com/youlai/system/filter/JwtTokenFilter.java +++ b/src/main/java/com/youlai/system/filter/JwtTokenFilter.java @@ -2,19 +2,17 @@ package com.youlai.system.filter; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; import cn.hutool.jwt.JWTPayload; import com.youlai.system.common.constant.CacheConstants; import com.youlai.system.common.result.ResultCode; -import com.youlai.system.util.JwtUtils; -import com.youlai.system.util.ResponseUtils; +import com.youlai.system.security.util.JwtUtils; +import com.youlai.system.common.util.ResponseUtils; import com.youlai.system.common.exception.BusinessException; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.http.HttpHeaders; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @@ -52,7 +50,7 @@ public class JwtTokenFilter extends OncePerRequestFilter { String jti = Convert.toStr(payload.get(JWTPayload.JWT_ID)); Boolean isTokenBlacklisted = redisTemplate.hasKey(CacheConstants.BLACKLIST_TOKEN_PREFIX + jti); - if (isTokenBlacklisted ) { + if (Boolean.TRUE.equals(isTokenBlacklisted)) { ResponseUtils.writeErrMsg(response, ResultCode.TOKEN_INVALID); return; } diff --git a/src/main/java/com/youlai/system/filter/VerifyCodeFilter.java b/src/main/java/com/youlai/system/filter/VerifyCodeFilter.java index 5a304fba..d08ffdc2 100644 --- a/src/main/java/com/youlai/system/filter/VerifyCodeFilter.java +++ b/src/main/java/com/youlai/system/filter/VerifyCodeFilter.java @@ -6,7 +6,7 @@ import cn.hutool.extra.spring.SpringUtil; import com.youlai.system.common.constant.CacheConstants; import com.youlai.system.common.constant.SecurityConstants; import com.youlai.system.common.result.ResultCode; -import com.youlai.system.util.ResponseUtils; +import com.youlai.system.common.util.ResponseUtils; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/youlai/system/mapper/SysDeptMapper.java b/src/main/java/com/youlai/system/mapper/SysDeptMapper.java index 3b4aaa97..4cfc1b82 100644 --- a/src/main/java/com/youlai/system/mapper/SysDeptMapper.java +++ b/src/main/java/com/youlai/system/mapper/SysDeptMapper.java @@ -3,7 +3,7 @@ package com.youlai.system.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.youlai.system.core.mybatis.annotation.DataPermission; +import com.youlai.system.plugin.mybatis.annotation.DataPermission; import com.youlai.system.model.entity.SysDept; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/src/main/java/com/youlai/system/mapper/SysUserMapper.java b/src/main/java/com/youlai/system/mapper/SysUserMapper.java index 45ffca7e..6b7366e9 100644 --- a/src/main/java/com/youlai/system/mapper/SysUserMapper.java +++ b/src/main/java/com/youlai/system/mapper/SysUserMapper.java @@ -2,7 +2,7 @@ package com.youlai.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.youlai.system.core.mybatis.annotation.DataPermission; +import com.youlai.system.plugin.mybatis.annotation.DataPermission; import com.youlai.system.model.bo.UserBO; import com.youlai.system.model.entity.SysUser; import com.youlai.system.model.dto.UserAuthInfo; diff --git a/src/main/java/com/youlai/system/model/bo/RouteBO.java b/src/main/java/com/youlai/system/model/bo/RouteBO.java index 9582415a..0cb9420e 100644 --- a/src/main/java/com/youlai/system/model/bo/RouteBO.java +++ b/src/main/java/com/youlai/system/model/bo/RouteBO.java @@ -1,6 +1,6 @@ package com.youlai.system.model.bo; -import com.youlai.system.enums.MenuTypeEnum; +import com.youlai.system.common.enums.MenuTypeEnum; import lombok.Data; import java.util.List; diff --git a/src/main/java/com/youlai/system/model/entity/SysMenu.java b/src/main/java/com/youlai/system/model/entity/SysMenu.java index c494af7b..0f0a3862 100644 --- a/src/main/java/com/youlai/system/model/entity/SysMenu.java +++ b/src/main/java/com/youlai/system/model/entity/SysMenu.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.youlai.system.common.base.BaseEntity; -import com.youlai.system.enums.MenuTypeEnum; +import com.youlai.system.common.enums.MenuTypeEnum; import lombok.Data; /** diff --git a/src/main/java/com/youlai/system/model/form/MenuForm.java b/src/main/java/com/youlai/system/model/form/MenuForm.java index 0f761111..7b16f6d0 100644 --- a/src/main/java/com/youlai/system/model/form/MenuForm.java +++ b/src/main/java/com/youlai/system/model/form/MenuForm.java @@ -1,7 +1,7 @@ package com.youlai.system.model.form; import com.fasterxml.jackson.annotation.JsonInclude; -import com.youlai.system.enums.MenuTypeEnum; +import com.youlai.system.common.enums.MenuTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/youlai/system/model/vo/MenuVO.java b/src/main/java/com/youlai/system/model/vo/MenuVO.java index 72ed36c9..3490e2f7 100644 --- a/src/main/java/com/youlai/system/model/vo/MenuVO.java +++ b/src/main/java/com/youlai/system/model/vo/MenuVO.java @@ -1,7 +1,7 @@ package com.youlai.system.model.vo; import com.fasterxml.jackson.annotation.JsonInclude; -import com.youlai.system.enums.MenuTypeEnum; +import com.youlai.system.common.enums.MenuTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java b/src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java index 56d8f8ad..aabc64ec 100644 --- a/src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java +++ b/src/main/java/com/youlai/system/plugin/dupsubmit/aspect/DuplicateSubmitAspect.java @@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil; import com.youlai.system.plugin.dupsubmit.annotation.PreventDuplicateSubmit; import com.youlai.system.common.result.ResultCode; import com.youlai.system.common.exception.BusinessException; -import com.youlai.system.util.JwtUtils; +import com.youlai.system.security.util.JwtUtils; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java b/src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java index fad97b54..c216c460 100644 --- a/src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java +++ b/src/main/java/com/youlai/system/plugin/easyexcel/UserImportListener.java @@ -9,8 +9,8 @@ import com.alibaba.excel.context.AnalysisContext; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.youlai.system.common.base.IBaseEnum; import com.youlai.system.common.constant.SystemConstants; -import com.youlai.system.enums.GenderEnum; -import com.youlai.system.enums.StatusEnum; +import com.youlai.system.common.enums.GenderEnum; +import com.youlai.system.common.enums.StatusEnum; import com.youlai.system.converter.UserConverter; import com.youlai.system.model.entity.SysRole; import com.youlai.system.model.entity.SysUser; diff --git a/src/main/java/com/youlai/system/core/mybatis/annotation/DataPermission.java b/src/main/java/com/youlai/system/plugin/mybatis/annotation/DataPermission.java similarity index 90% rename from src/main/java/com/youlai/system/core/mybatis/annotation/DataPermission.java rename to src/main/java/com/youlai/system/plugin/mybatis/annotation/DataPermission.java index 63e73277..ef9d0e4e 100644 --- a/src/main/java/com/youlai/system/core/mybatis/annotation/DataPermission.java +++ b/src/main/java/com/youlai/system/plugin/mybatis/annotation/DataPermission.java @@ -1,4 +1,4 @@ -package com.youlai.system.core.mybatis.annotation; +package com.youlai.system.plugin.mybatis.annotation; import java.lang.annotation.*; diff --git a/src/main/java/com/youlai/system/core/mybatis/handler/MyDataPermissionHandler.java b/src/main/java/com/youlai/system/plugin/mybatis/handler/MyDataPermissionHandler.java similarity index 94% rename from src/main/java/com/youlai/system/core/mybatis/handler/MyDataPermissionHandler.java rename to src/main/java/com/youlai/system/plugin/mybatis/handler/MyDataPermissionHandler.java index a0e67840..ec014ad2 100644 --- a/src/main/java/com/youlai/system/core/mybatis/handler/MyDataPermissionHandler.java +++ b/src/main/java/com/youlai/system/plugin/mybatis/handler/MyDataPermissionHandler.java @@ -1,12 +1,12 @@ -package com.youlai.system.core.mybatis.handler; +package com.youlai.system.plugin.mybatis.handler; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler; -import com.youlai.system.core.mybatis.annotation.DataPermission; +import com.youlai.system.plugin.mybatis.annotation.DataPermission; import com.youlai.system.common.base.IBaseEnum; -import com.youlai.system.enums.DataScopeEnum; -import com.youlai.system.util.SecurityUtils; +import com.youlai.system.common.enums.DataScopeEnum; +import com.youlai.system.security.util.SecurityUtils; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.expression.Expression; diff --git a/src/main/java/com/youlai/system/core/mybatis/handler/MyMetaObjectHandler.java b/src/main/java/com/youlai/system/plugin/mybatis/handler/MyMetaObjectHandler.java similarity index 95% rename from src/main/java/com/youlai/system/core/mybatis/handler/MyMetaObjectHandler.java rename to src/main/java/com/youlai/system/plugin/mybatis/handler/MyMetaObjectHandler.java index 9cf7d3d5..091f543a 100644 --- a/src/main/java/com/youlai/system/core/mybatis/handler/MyMetaObjectHandler.java +++ b/src/main/java/com/youlai/system/plugin/mybatis/handler/MyMetaObjectHandler.java @@ -1,4 +1,4 @@ -package com.youlai.system.core.mybatis.handler; +package com.youlai.system.plugin.mybatis.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; diff --git a/src/main/java/com/youlai/system/plugin/rabbitmq/TestListener.java b/src/main/java/com/youlai/system/plugin/rabbitmq/TestListener.java deleted file mode 100644 index d2e916cf..00000000 --- a/src/main/java/com/youlai/system/plugin/rabbitmq/TestListener.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.youlai.system.plugin.rabbitmq; - -/** - * @author haoxr - * @since 0.0.1 - */ -public class TestListener { -} diff --git a/src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java b/src/main/java/com/youlai/system/security/exception/MyAccessDeniedHandler.java similarity index 88% rename from src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java rename to src/main/java/com/youlai/system/security/exception/MyAccessDeniedHandler.java index 5aaa3289..1da85cd7 100644 --- a/src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java +++ b/src/main/java/com/youlai/system/security/exception/MyAccessDeniedHandler.java @@ -1,7 +1,7 @@ -package com.youlai.system.core.security.exception; +package com.youlai.system.security.exception; import com.youlai.system.common.result.ResultCode; -import com.youlai.system.util.ResponseUtils; +import com.youlai.system.common.util.ResponseUtils; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java b/src/main/java/com/youlai/system/security/exception/MyAuthenticationEntryPoint.java similarity index 93% rename from src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java rename to src/main/java/com/youlai/system/security/exception/MyAuthenticationEntryPoint.java index 43cd3997..7d197533 100644 --- a/src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java +++ b/src/main/java/com/youlai/system/security/exception/MyAuthenticationEntryPoint.java @@ -1,7 +1,7 @@ -package com.youlai.system.core.security.exception; +package com.youlai.system.security.exception; import com.youlai.system.common.result.ResultCode; -import com.youlai.system.util.ResponseUtils; +import com.youlai.system.common.util.ResponseUtils; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; diff --git a/src/main/java/com/youlai/system/core/security/model/SysUserDetails.java b/src/main/java/com/youlai/system/security/model/SysUserDetails.java similarity index 98% rename from src/main/java/com/youlai/system/core/security/model/SysUserDetails.java rename to src/main/java/com/youlai/system/security/model/SysUserDetails.java index 578d3a2a..e6de8032 100644 --- a/src/main/java/com/youlai/system/core/security/model/SysUserDetails.java +++ b/src/main/java/com/youlai/system/security/model/SysUserDetails.java @@ -1,4 +1,4 @@ -package com.youlai.system.core.security.model; +package com.youlai.system.security.model; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; diff --git a/src/main/java/com/youlai/system/core/security/service/PermissionService.java b/src/main/java/com/youlai/system/security/service/PermissionService.java similarity index 97% rename from src/main/java/com/youlai/system/core/security/service/PermissionService.java rename to src/main/java/com/youlai/system/security/service/PermissionService.java index f8c486ce..bd50508a 100644 --- a/src/main/java/com/youlai/system/core/security/service/PermissionService.java +++ b/src/main/java/com/youlai/system/security/service/PermissionService.java @@ -1,9 +1,9 @@ -package com.youlai.system.core.security.service; +package com.youlai.system.security.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.youlai.system.common.constant.CacheConstants; -import com.youlai.system.util.SecurityUtils; +import com.youlai.system.security.util.SecurityUtils; import com.youlai.system.model.bo.RolePermsBO; import com.youlai.system.service.SysRoleMenuService; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/com/youlai/system/core/security/service/SysUserDetailsService.java b/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java similarity index 89% rename from src/main/java/com/youlai/system/core/security/service/SysUserDetailsService.java rename to src/main/java/com/youlai/system/security/service/SysUserDetailsService.java index f2f8b26f..c70e8b2a 100644 --- a/src/main/java/com/youlai/system/core/security/service/SysUserDetailsService.java +++ b/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java @@ -1,6 +1,6 @@ -package com.youlai.system.core.security.service; +package com.youlai.system.security.service; -import com.youlai.system.core.security.model.SysUserDetails; +import com.youlai.system.security.model.SysUserDetails; import com.youlai.system.model.dto.UserAuthInfo; import com.youlai.system.service.SysUserService; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/youlai/system/util/JwtUtils.java b/src/main/java/com/youlai/system/security/util/JwtUtils.java similarity index 88% rename from src/main/java/com/youlai/system/util/JwtUtils.java rename to src/main/java/com/youlai/system/security/util/JwtUtils.java index af336b4e..169d0c2f 100644 --- a/src/main/java/com/youlai/system/util/JwtUtils.java +++ b/src/main/java/com/youlai/system/security/util/JwtUtils.java @@ -1,4 +1,4 @@ -package com.youlai.system.util; +package com.youlai.system.security.util; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; @@ -9,7 +9,7 @@ import cn.hutool.jwt.JWT; import cn.hutool.jwt.JWTPayload; import cn.hutool.jwt.JWTUtil; import com.youlai.system.common.constant.JwtClaimConstants; -import com.youlai.system.core.security.model.SysUserDetails; +import com.youlai.system.security.model.SysUserDetails; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; @@ -126,27 +126,4 @@ public class JwtUtils { return new UsernamePasswordAuthenticationToken(userDetails, "", authorities); } - - - /** - * 验证 JWT Token - * - * @param token JWT Token - * @return 是否有效 - */ - public static boolean verifyToken(String token) { - - if (StrUtil.isBlank(token)) { - return false; - } - - if (token.startsWith("Bearer ")) { - token = token.substring(7); - } - - JWT jwt = JWTUtil.parseToken(token); - return jwt.setKey(JwtUtils.key).validate(0); - - } - } diff --git a/src/main/java/com/youlai/system/util/SecurityUtils.java b/src/main/java/com/youlai/system/security/util/SecurityUtils.java similarity index 97% rename from src/main/java/com/youlai/system/util/SecurityUtils.java rename to src/main/java/com/youlai/system/security/util/SecurityUtils.java index 65de6f22..84c2aba8 100644 --- a/src/main/java/com/youlai/system/util/SecurityUtils.java +++ b/src/main/java/com/youlai/system/security/util/SecurityUtils.java @@ -1,10 +1,10 @@ -package com.youlai.system.util; +package com.youlai.system.security.util; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.youlai.system.common.constant.SystemConstants; -import com.youlai.system.core.security.model.SysUserDetails; +import com.youlai.system.security.model.SysUserDetails; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java b/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java index e0e1707c..04bdfdfa 100644 --- a/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java @@ -8,12 +8,12 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.jwt.JWTPayload; import com.youlai.system.common.constant.CacheConstants; -import com.youlai.system.enums.CaptchaTypeEnum; +import com.youlai.system.common.enums.CaptchaTypeEnum; import com.youlai.system.model.dto.CaptchaResult; import com.youlai.system.model.dto.LoginResult; import com.youlai.system.plugin.captcha.CaptchaProperties; import com.youlai.system.service.AuthService; -import com.youlai.system.util.JwtUtils; +import com.youlai.system.security.util.JwtUtils; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java index 7b53f3b6..0b703a08 100644 --- a/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysDeptServiceImpl.java @@ -6,7 +6,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SystemConstants; -import com.youlai.system.enums.StatusEnum; +import com.youlai.system.common.enums.StatusEnum; import com.youlai.system.converter.DeptConverter; import com.youlai.system.mapper.SysDeptMapper; import com.youlai.system.model.entity.SysDept; diff --git a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java index 426649aa..af6cb85f 100644 --- a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java @@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SystemConstants; -import com.youlai.system.enums.MenuTypeEnum; -import com.youlai.system.enums.StatusEnum; +import com.youlai.system.common.enums.MenuTypeEnum; +import com.youlai.system.common.enums.StatusEnum; import com.youlai.system.common.model.Option; import com.youlai.system.converter.MenuConverter; import com.youlai.system.mapper.SysMenuMapper; diff --git a/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java index 269853b9..46123c4a 100644 --- a/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysRoleServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SystemConstants; import com.youlai.system.common.model.Option; import com.youlai.system.converter.RoleConverter; -import com.youlai.system.core.security.service.PermissionService; +import com.youlai.system.security.service.PermissionService; import com.youlai.system.mapper.SysRoleMapper; import com.youlai.system.model.entity.SysRole; import com.youlai.system.model.entity.SysRoleMenu; @@ -20,7 +20,7 @@ import com.youlai.system.model.vo.RolePageVO; import com.youlai.system.service.SysRoleMenuService; import com.youlai.system.service.SysRoleService; import com.youlai.system.service.SysUserRoleService; -import com.youlai.system.util.SecurityUtils; +import com.youlai.system.security.util.SecurityUtils; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java index dab0d63f..f75490f1 100644 --- a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java @@ -9,9 +9,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SystemConstants; -import com.youlai.system.util.DateUtils; +import com.youlai.system.common.util.DateUtils; import com.youlai.system.converter.UserConverter; -import com.youlai.system.util.SecurityUtils; +import com.youlai.system.security.util.SecurityUtils; import com.youlai.system.mapper.SysUserMapper; import com.youlai.system.model.dto.UserAuthInfo; import com.youlai.system.model.bo.UserBO; diff --git a/src/main/resources/mapper/SysMenuMapper.xml b/src/main/resources/mapper/SysMenuMapper.xml index 667a24f9..83be7bae 100644 --- a/src/main/resources/mapper/SysMenuMapper.xml +++ b/src/main/resources/mapper/SysMenuMapper.xml @@ -44,7 +44,7 @@ LEFT JOIN sys_role_menu t2 ON t1.id = t2.menu_id LEFT JOIN sys_role t3 ON t2.role_id = t3.id WHERE - t1.type != '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}' + t1.type != '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}' ORDER BY t1.sort asc @@ -57,7 +57,7 @@ INNER JOIN sys_role_menu t2 ON t1.id = t2.menu_id INNER JOIN sys_role t3 ON t3.id = t2.role_id WHERE - t1.type = '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}' + t1.type = '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}' AND t1.perm IS NOT NULL diff --git a/src/main/resources/mapper/SysRoleMenuMapper.xml b/src/main/resources/mapper/SysRoleMenuMapper.xml index 4f3487b2..bcee8836 100644 --- a/src/main/resources/mapper/SysRoleMenuMapper.xml +++ b/src/main/resources/mapper/SysRoleMenuMapper.xml @@ -33,7 +33,7 @@ INNER JOIN sys_role t2 ON t1.role_id = t2.id AND t2.deleted = 0 INNER JOIN sys_menu t3 ON t1.menu_id = t3.id WHERE - type = '${@com.youlai.system.enums.MenuTypeEnum@BUTTON.getValue()}' + type = '${@com.youlai.system.common.enums.MenuTypeEnum@BUTTON.getValue()}' AND t2.`code` = #{roleCode}