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; /** * 角色业务实现类