diff --git a/README.md b/README.md index 20b46675..f72dbcff 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
-
+
@@ -45,6 +45,9 @@ youlai-boot
├── mysql5 # MySQL5 脚本
├── mysql8 # MySQL8 脚本
├── src # 源码目录
+ ├── base # 核心模块
+ ├── mybatisplus # Mybatis-Plus 配置和插件
+ ├── security # Spring Security 安全配置和扩展
├── common # 公共模块
├── config # 自动装配配置
├── CorsConfig # 跨域共享配置
@@ -53,9 +56,6 @@ youlai-boot
├── WebMvcConfig # WebMvc 配置
├── controller # 控制层
├── converter # MapStruct转换器
- ├── core # 核心模块
- ├── mybatisplus # Mybatis-Plus 配置和插件
- ├── security # Spring Security 安全配置和扩展
├── filter # 过滤器
├── RequestLogFilter # 请求日志过滤器
├── VerifyCodeFilter # 验证码过滤器
diff --git a/src/main/java/com/youlai/system/core/mybatisplus/annotation/DataPermission.java b/src/main/java/com/youlai/system/base/mybatisplus/annotation/DataPermission.java
similarity index 90%
rename from src/main/java/com/youlai/system/core/mybatisplus/annotation/DataPermission.java
rename to src/main/java/com/youlai/system/base/mybatisplus/annotation/DataPermission.java
index 66eff5b5..edd372a9 100644
--- a/src/main/java/com/youlai/system/core/mybatisplus/annotation/DataPermission.java
+++ b/src/main/java/com/youlai/system/base/mybatisplus/annotation/DataPermission.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.mybatisplus.annotation;
+package com.youlai.system.base.mybatisplus.annotation;
import java.lang.annotation.*;
diff --git a/src/main/java/com/youlai/system/core/mybatisplus/config/MybatisPlusConfig.java b/src/main/java/com/youlai/system/base/mybatisplus/config/MybatisPlusConfig.java
similarity index 86%
rename from src/main/java/com/youlai/system/core/mybatisplus/config/MybatisPlusConfig.java
rename to src/main/java/com/youlai/system/base/mybatisplus/config/MybatisPlusConfig.java
index 07f9ef19..018d9ef0 100644
--- a/src/main/java/com/youlai/system/core/mybatisplus/config/MybatisPlusConfig.java
+++ b/src/main/java/com/youlai/system/base/mybatisplus/config/MybatisPlusConfig.java
@@ -1,13 +1,12 @@
-package com.youlai.system.core.mybatisplus.config;
+package com.youlai.system.base.mybatisplus.config;
import com.baomidou.mybatisplus.annotation.DbType;
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.mybatisplus.handler.MyDataPermissionHandler;
-import com.youlai.system.core.mybatisplus.handler.MyMetaObjectHandler;
-import org.springframework.beans.factory.annotation.Value;
+import com.youlai.system.base.mybatisplus.handler.MyDataPermissionHandler;
+import com.youlai.system.base.mybatisplus.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/core/mybatisplus/handler/MyDataPermissionHandler.java b/src/main/java/com/youlai/system/base/mybatisplus/handler/MyDataPermissionHandler.java
similarity index 95%
rename from src/main/java/com/youlai/system/core/mybatisplus/handler/MyDataPermissionHandler.java
rename to src/main/java/com/youlai/system/base/mybatisplus/handler/MyDataPermissionHandler.java
index eb06a3b5..82a275a8 100644
--- a/src/main/java/com/youlai/system/core/mybatisplus/handler/MyDataPermissionHandler.java
+++ b/src/main/java/com/youlai/system/base/mybatisplus/handler/MyDataPermissionHandler.java
@@ -1,10 +1,9 @@
-package com.youlai.system.core.mybatisplus.handler;
+package com.youlai.system.base.mybatisplus.handler;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler;
-import com.youlai.system.core.mybatisplus.annotation.DataPermission;
+import com.youlai.system.base.mybatisplus.annotation.DataPermission;
import com.youlai.system.common.base.IBaseEnum;
import com.youlai.system.common.enums.DataScopeEnum;
import com.youlai.system.common.util.SecurityUtils;
diff --git a/src/main/java/com/youlai/system/core/mybatisplus/handler/MyMetaObjectHandler.java b/src/main/java/com/youlai/system/base/mybatisplus/handler/MyMetaObjectHandler.java
similarity index 94%
rename from src/main/java/com/youlai/system/core/mybatisplus/handler/MyMetaObjectHandler.java
rename to src/main/java/com/youlai/system/base/mybatisplus/handler/MyMetaObjectHandler.java
index 83638419..68bcfc40 100644
--- a/src/main/java/com/youlai/system/core/mybatisplus/handler/MyMetaObjectHandler.java
+++ b/src/main/java/com/youlai/system/base/mybatisplus/handler/MyMetaObjectHandler.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.mybatisplus.handler;
+package com.youlai.system.base.mybatisplus.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
diff --git a/src/main/java/com/youlai/system/core/security/config/SecurityConfig.java b/src/main/java/com/youlai/system/base/security/config/SecurityConfig.java
similarity index 93%
rename from src/main/java/com/youlai/system/core/security/config/SecurityConfig.java
rename to src/main/java/com/youlai/system/base/security/config/SecurityConfig.java
index 44260d55..f970e35c 100644
--- a/src/main/java/com/youlai/system/core/security/config/SecurityConfig.java
+++ b/src/main/java/com/youlai/system/base/security/config/SecurityConfig.java
@@ -1,11 +1,11 @@
-package com.youlai.system.core.security.config;
+package com.youlai.system.base.security.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.core.security.jwt.JwtTokenFilter;
+import com.youlai.system.base.security.exception.MyAccessDeniedHandler;
+import com.youlai.system.base.security.exception.MyAuthenticationEntryPoint;
+import com.youlai.system.base.security.jwt.JwtTokenFilter;
import com.youlai.system.filter.VerifyCodeFilter;
-import com.youlai.system.core.security.jwt.JwtTokenProvider;
+import com.youlai.system.base.security.jwt.JwtTokenProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java b/src/main/java/com/youlai/system/base/security/exception/MyAccessDeniedHandler.java
similarity index 94%
rename from src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java
rename to src/main/java/com/youlai/system/base/security/exception/MyAccessDeniedHandler.java
index c7979301..60bb2623 100644
--- a/src/main/java/com/youlai/system/core/security/exception/MyAccessDeniedHandler.java
+++ b/src/main/java/com/youlai/system/base/security/exception/MyAccessDeniedHandler.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.security.exception;
+package com.youlai.system.base.security.exception;
import com.youlai.system.common.result.ResultCode;
import com.youlai.system.common.util.ResponseUtils;
diff --git a/src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java b/src/main/java/com/youlai/system/base/security/exception/MyAuthenticationEntryPoint.java
similarity index 95%
rename from src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java
rename to src/main/java/com/youlai/system/base/security/exception/MyAuthenticationEntryPoint.java
index 2a82ab8a..a5fd840c 100644
--- a/src/main/java/com/youlai/system/core/security/exception/MyAuthenticationEntryPoint.java
+++ b/src/main/java/com/youlai/system/base/security/exception/MyAuthenticationEntryPoint.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.security.exception;
+package com.youlai.system.base.security.exception;
import com.youlai.system.common.result.ResultCode;
import com.youlai.system.common.util.ResponseUtils;
diff --git a/src/main/java/com/youlai/system/core/security/jwt/JwtTokenFilter.java b/src/main/java/com/youlai/system/base/security/jwt/JwtTokenFilter.java
similarity index 97%
rename from src/main/java/com/youlai/system/core/security/jwt/JwtTokenFilter.java
rename to src/main/java/com/youlai/system/base/security/jwt/JwtTokenFilter.java
index 5fba6042..a116f1d7 100644
--- a/src/main/java/com/youlai/system/core/security/jwt/JwtTokenFilter.java
+++ b/src/main/java/com/youlai/system/base/security/jwt/JwtTokenFilter.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.security.jwt;
+package com.youlai.system.base.security.jwt;
import com.youlai.system.common.result.ResultCode;
import com.youlai.system.common.util.ResponseUtils;
diff --git a/src/main/java/com/youlai/system/core/security/jwt/JwtTokenProvider.java b/src/main/java/com/youlai/system/base/security/jwt/JwtTokenProvider.java
similarity index 98%
rename from src/main/java/com/youlai/system/core/security/jwt/JwtTokenProvider.java
rename to src/main/java/com/youlai/system/base/security/jwt/JwtTokenProvider.java
index 2f34d6c3..26725297 100644
--- a/src/main/java/com/youlai/system/core/security/jwt/JwtTokenProvider.java
+++ b/src/main/java/com/youlai/system/base/security/jwt/JwtTokenProvider.java
@@ -1,8 +1,8 @@
-package com.youlai.system.core.security.jwt;
+package com.youlai.system.base.security.jwt;
import cn.hutool.core.convert.Convert;
import com.youlai.system.common.constant.JwtClaimConstants;
-import com.youlai.system.core.security.model.SysUserDetails;
+import com.youlai.system.base.security.model.SysUserDetails;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
diff --git a/src/main/java/com/youlai/system/core/security/model/SysUserDetails.java b/src/main/java/com/youlai/system/base/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/base/security/model/SysUserDetails.java
index 578d3a2a..124c60e2 100644
--- a/src/main/java/com/youlai/system/core/security/model/SysUserDetails.java
+++ b/src/main/java/com/youlai/system/base/security/model/SysUserDetails.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.security.model;
+package com.youlai.system.base.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/base/security/service/PermissionService.java
similarity index 98%
rename from src/main/java/com/youlai/system/core/security/service/PermissionService.java
rename to src/main/java/com/youlai/system/base/security/service/PermissionService.java
index b13b8784..ced6e3e8 100644
--- a/src/main/java/com/youlai/system/core/security/service/PermissionService.java
+++ b/src/main/java/com/youlai/system/base/security/service/PermissionService.java
@@ -1,4 +1,4 @@
-package com.youlai.system.core.security.service;
+package com.youlai.system.base.security.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
diff --git a/src/main/java/com/youlai/system/core/security/service/SysUserDetailsService.java b/src/main/java/com/youlai/system/base/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/base/security/service/SysUserDetailsService.java
index f2f8b26f..7d575451 100644
--- a/src/main/java/com/youlai/system/core/security/service/SysUserDetailsService.java
+++ b/src/main/java/com/youlai/system/base/security/service/SysUserDetailsService.java
@@ -1,6 +1,6 @@
-package com.youlai.system.core.security.service;
+package com.youlai.system.base.security.service;
-import com.youlai.system.core.security.model.SysUserDetails;
+import com.youlai.system.base.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/common/util/SecurityUtils.java b/src/main/java/com/youlai/system/common/util/SecurityUtils.java
index 48a7631f..9a64a377 100644
--- a/src/main/java/com/youlai/system/common/util/SecurityUtils.java
+++ b/src/main/java/com/youlai/system/common/util/SecurityUtils.java
@@ -4,7 +4,7 @@ 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.base.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/mapper/SysDeptMapper.java b/src/main/java/com/youlai/system/mapper/SysDeptMapper.java
index 61759bb1..73bf622d 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.mybatisplus.annotation.DataPermission;
+import com.youlai.system.base.mybatisplus.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 e3680af5..ebb59ca2 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.mybatisplus.annotation.DataPermission;
+import com.youlai.system.base.mybatisplus.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/dto/CaptchaResult.java b/src/main/java/com/youlai/system/model/dto/CaptchaResult.java
index 114c8379..4bd4d9b5 100644
--- a/src/main/java/com/youlai/system/model/dto/CaptchaResult.java
+++ b/src/main/java/com/youlai/system/model/dto/CaptchaResult.java
@@ -1,8 +1,10 @@
package com.youlai.system.model.dto;
import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* 验证码响应对象
@@ -13,6 +15,8 @@ import lombok.Data;
@Schema(description ="验证码响应对象")
@Builder
@Data
+@AllArgsConstructor
+@NoArgsConstructor
public class CaptchaResult {
@Schema(description = "验证码缓存key")
diff --git a/src/main/java/com/youlai/system/plugin/captcha/CaptchaConfig.java b/src/main/java/com/youlai/system/plugin/captcha/CaptchaGenerator.java
similarity index 80%
rename from src/main/java/com/youlai/system/plugin/captcha/CaptchaConfig.java
rename to src/main/java/com/youlai/system/plugin/captcha/CaptchaGenerator.java
index f7c89fd8..6ea870df 100644
--- a/src/main/java/com/youlai/system/plugin/captcha/CaptchaConfig.java
+++ b/src/main/java/com/youlai/system/plugin/captcha/CaptchaGenerator.java
@@ -5,6 +5,7 @@ import cn.hutool.captcha.CircleCaptcha;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.captcha.generator.MathGenerator;
import cn.hutool.captcha.generator.RandomGenerator;
+import com.youlai.system.model.dto.CaptchaResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -16,7 +17,7 @@ import org.springframework.context.annotation.Configuration;
* @since 2023/11/24
*/
@Configuration
-public class CaptchaConfig {
+public class CaptchaGenerator {
@Autowired
private CaptchaProperties captchaProperties;
@@ -27,7 +28,7 @@ public class CaptchaConfig {
* @return CodeGenerator
*/
@Bean
- public CodeGenerator captchaGenerator() {
+ public CodeGenerator codeGenerator() {
String codeType = captchaProperties.getCode().getType();
int codeLength = captchaProperties.getCode().getLength();
if ("math".equalsIgnoreCase(codeType)) {
@@ -39,13 +40,24 @@ public class CaptchaConfig {
}
}
+
+ /**
+ * 生成验证码
+ *
+ * @return CaptchaModel 验证码
+ */
+ public CaptchaModel generate() {
+ AbstractCaptcha captcha = getCaptcha();
+ captcha.createCode();
+ return new CaptchaModel(captcha.getCode(), captcha.getImageBase64Data());
+ }
+
/**
* 验证码类
*
* @return AbstractCaptcha
*/
- @Bean
- public AbstractCaptcha abstractCaptcha() {
+ public AbstractCaptcha getCaptcha() {
AbstractCaptcha captcha = null;
String type = captchaProperties.getType();
@@ -67,7 +79,7 @@ public class CaptchaConfig {
throw new IllegalArgumentException("Invalid captcha type: " + type);
}
- captcha.setGenerator(captchaGenerator());
+ captcha.setGenerator(codeGenerator());
return captcha;
}
diff --git a/src/main/java/com/youlai/system/plugin/captcha/CaptchaModel.java b/src/main/java/com/youlai/system/plugin/captcha/CaptchaModel.java
new file mode 100644
index 00000000..cdbc9e44
--- /dev/null
+++ b/src/main/java/com/youlai/system/plugin/captcha/CaptchaModel.java
@@ -0,0 +1,24 @@
+package com.youlai.system.plugin.captcha;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 验证码对象
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CaptchaModel {
+ /**
+ * 验证码编码
+ */
+ private String code;
+
+ /**
+ * 验证码图片Base64
+ */
+ private String base64;
+
+}
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 23777e92..90a08fd6 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
@@ -4,7 +4,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.core.security.jwt.JwtTokenProvider;
+import com.youlai.system.base.security.jwt.JwtTokenProvider;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/youlai/system/plugin/websocket/StompPrincipal.java b/src/main/java/com/youlai/system/plugin/websocket/StompPrincipal.java
deleted file mode 100644
index 7bccd2ba..00000000
--- a/src/main/java/com/youlai/system/plugin/websocket/StompPrincipal.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.youlai.system.plugin.websocket;
-
-/**
- * @author haoxr
- * @since 2023/11/7
- */
-public class StompPrincipal {
-
-}
diff --git a/src/main/java/com/youlai/system/plugin/websocket/WebsocketChannelInterceptor.java b/src/main/java/com/youlai/system/plugin/websocket/WebsocketChannelInterceptor.java
index d2b92653..bbfca0f2 100644
--- a/src/main/java/com/youlai/system/plugin/websocket/WebsocketChannelInterceptor.java
+++ b/src/main/java/com/youlai/system/plugin/websocket/WebsocketChannelInterceptor.java
@@ -1,7 +1,7 @@
package com.youlai.system.plugin.websocket;
import cn.hutool.core.util.StrUtil;
-import com.youlai.system.core.security.jwt.JwtTokenProvider;
+import com.youlai.system.base.security.jwt.JwtTokenProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
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 6ab6fd0a..fedac225 100644
--- a/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java
+++ b/src/main/java/com/youlai/system/service/impl/AuthServiceImpl.java
@@ -1,21 +1,19 @@
package com.youlai.system.service.impl;
import cn.hutool.captcha.AbstractCaptcha;
-import cn.hutool.captcha.CircleCaptcha;
-import cn.hutool.captcha.ICaptcha;
-import cn.hutool.captcha.generator.MathGenerator;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.youlai.system.common.constant.CacheConstants;
-import com.youlai.system.core.security.jwt.JwtTokenProvider;
+import com.youlai.system.base.security.jwt.JwtTokenProvider;
import com.youlai.system.model.dto.CaptchaResult;
import com.youlai.system.model.dto.LoginResult;
+import com.youlai.system.plugin.captcha.CaptchaGenerator;
+import com.youlai.system.plugin.captcha.CaptchaModel;
import com.youlai.system.plugin.captcha.CaptchaProperties;
import com.youlai.system.service.AuthService;
import io.jsonwebtoken.Claims;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -25,12 +23,9 @@ import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import java.awt.*;
import java.util.Date;
import java.util.concurrent.TimeUnit;
-import static java.awt.Font.SANS_SERIF;
-
/**
* 认证服务实现类
*
@@ -44,7 +39,7 @@ public class AuthServiceImpl implements AuthService {
private final AuthenticationManager authenticationManager;
private final StringRedisTemplate redisTemplate;
private final JwtTokenProvider jwtTokenProvider;
- private final AbstractCaptcha abstractCaptcha;
+ private final CaptchaGenerator captchaGenerator;
private final CaptchaProperties captchaProperties;
/**
@@ -94,17 +89,16 @@ public class AuthServiceImpl implements AuthService {
*/
@Override
public CaptchaResult getCaptcha() {
- String captchaCode = abstractCaptcha.getCode(); // 验证码
- String captchaBase64 = abstractCaptcha.getImageBase64Data(); // 验证码图片Base64
+ CaptchaModel captchaModel = captchaGenerator.generate();
// 验证码文本缓存至Redis,用于登录校验
String captchaKey = IdUtil.fastSimpleUUID();
- redisTemplate.opsForValue().set(CacheConstants.CAPTCHA_CODE_PREFIX + captchaKey, captchaCode,
+ redisTemplate.opsForValue().set(CacheConstants.CAPTCHA_CODE_PREFIX + captchaKey, captchaModel.getCode(),
captchaProperties.getExpireSeconds(), TimeUnit.SECONDS);
return CaptchaResult.builder()
.captchaKey(captchaKey)
- .captchaBase64(captchaBase64)
+ .captchaBase64(captchaModel.getBase64())
.build();
}
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 3b5306cb..7561592d 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.base.security.service.PermissionService;
import com.youlai.system.mapper.SysRoleMapper;
import com.youlai.system.model.entity.SysRole;
import com.youlai.system.model.entity.SysRoleMenu;
@@ -27,7 +27,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
-import java.util.stream.Collectors;
/**
* 角色业务实现类