diff --git a/pom.xml b/pom.xml index c4d3a468..5621ccf7 100644 --- a/pom.xml +++ b/pom.xml @@ -254,17 +254,6 @@ org.redisson redisson-spring-boot-starter ${redisson.version} - - - org.redisson - redisson-spring-data-30 - - - - - org.redisson - redisson-spring-data-27 - ${redisson.version} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java index 5b8c2323..7290a9db 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java @@ -1,7 +1,5 @@ package org.dromara.system.api.model; -import com.fasterxml.jackson.annotation.JsonIgnore; -import org.dromara.common.core.constant.CacheConstants; import lombok.Data; import lombok.NoArgsConstructor; @@ -122,7 +120,7 @@ public class LoginUser implements Serializable { if (userId == null) { throw new IllegalArgumentException("用户ID不能为空"); } - return userType + CacheConstants.LOGINID_JOIN_CODE + userId; + return userType + ":" + userId; } } diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index b73ddc7e..be8c0924 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -12,18 +12,17 @@ ruoyi-common-core - ruoyi-common-core核心模块 + ruoyi-common-core 核心模块 - - + org.springframework spring-context-support - + org.springframework spring-web @@ -50,7 +49,7 @@ spring-boot-starter-aop - + org.apache.commons commons-lang3 @@ -67,30 +66,30 @@ swagger-annotations - - org.lionsoul - ip2region + cn.hutool + hutool-core - org.projectlombok - lombok + cn.hutool + hutool-http cn.hutool - hutool-core + hutool-extra cn.hutool - hutool-http + hutool-json + provided - cn.hutool - hutool-extra + org.projectlombok + lombok @@ -99,11 +98,23 @@ spring-boot-configuration-processor + + org.springframework.boot + spring-boot-properties-migrator + runtime + + io.github.linpeilie mapstruct-plus-spring-boot-starter + + + org.lionsoul + ip2region + + diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java index d017c44d..e82a778a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java @@ -9,7 +9,6 @@ import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.AsyncConfigurer; -import org.springframework.scheduling.annotation.AsyncConfigurerSupport; import org.springframework.scheduling.annotation.EnableAsync; import java.util.Arrays; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java index 689975fb..45c5bd13 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java @@ -2,7 +2,6 @@ package org.dromara.common.core.config; import jakarta.validation.Validator; import org.hibernate.validator.HibernateValidator; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; @@ -18,14 +17,11 @@ import java.util.Properties; @AutoConfiguration public class ValidatorConfig { - @Autowired - private MessageSource messageSource; - /** * 配置校验框架 快速返回模式 */ @Bean - public Validator validator() { + public Validator validator(MessageSource messageSource) { try (LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean()) { // 国际化 factoryBean.setValidationMessageSource(messageSource); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheConstants.java index f5c954a0..67bc8e4c 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheConstants.java @@ -1,7 +1,7 @@ package org.dromara.common.core.constant; /** - * 缓存常量信息 + * 缓存的key 常量 * * @author Lion Li */ @@ -12,16 +12,6 @@ public interface CacheConstants { */ String ONLINE_TOKEN_KEY = "online_tokens:"; - /** - * loginid构造拼接字符串 - */ - String LOGINID_JOIN_CODE = ":"; - - /** - * 验证码 redis key - */ - String CAPTCHA_CODE_KEY = "captcha_codes:"; - /** * 参数管理 cache key */ @@ -32,8 +22,4 @@ public interface CacheConstants { */ String SYS_DICT_KEY = "sys_dict:"; - /** - * 登录账户密码错误次数 redis key - */ - String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java index 14af0314..38593a33 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java @@ -12,11 +12,6 @@ public interface GlobalConstants { */ String GLOBAL_REDIS_KEY = "global:"; - /** - * 登录用户 redis key - */ - String LOGIN_TOKEN_KEY = GLOBAL_REDIS_KEY + "Authorization:login:token:"; - /** * 验证码 redis key */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/UserConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/UserConstants.java index 25c332e2..c78adc2a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/UserConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/UserConstants.java @@ -6,6 +6,7 @@ package org.dromara.common.core.constant; * @author ruoyi */ public interface UserConstants { + /** * 平台内系统用户的唯一标志 */ @@ -115,18 +116,17 @@ public interface UserConstants { * 用户名长度限制 */ int USERNAME_MIN_LENGTH = 2; - int USERNAME_MAX_LENGTH = 20; /** * 密码长度限制 */ int PASSWORD_MIN_LENGTH = 5; - int PASSWORD_MAX_LENGTH = 20; /** - * 管理员ID + * 超级管理员ID */ Long SUPER_ADMIN_ID = 1L; + } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserStatus.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserStatus.java index 9577d6d4..be7e44d2 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserStatus.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserStatus.java @@ -11,7 +11,18 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum UserStatus { - OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); + /** + * 正常 + */ + OK("0", "正常"), + /** + * 停用 + */ + DISABLE("1", "停用"), + /** + * 删除 + */ + DELETED("2", "删除"); private final String code; private final String info; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/DemoModeException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/DemoModeException.java index 9904bc68..9916ddf2 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/DemoModeException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/DemoModeException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class DemoModeException extends RuntimeException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/ServiceException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/ServiceException.java index 8bb89e6c..712e6e7e 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/ServiceException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/ServiceException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public final class ServiceException extends RuntimeException { + @Serial private static final long serialVersionUID = 1L; @@ -64,4 +65,3 @@ public final class ServiceException extends RuntimeException { return this; } } - diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/UtilException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/UtilException.java index 06fd45a3..a9bf2c60 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/UtilException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/UtilException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class UtilException extends RuntimeException { + @Serial private static final long serialVersionUID = 8247610319171014183L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileException.java index afd69ec4..d374fc01 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileException.java @@ -10,6 +10,7 @@ import java.io.Serial; * @author ruoyi */ public class FileException extends BaseException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileNameLengthLimitExceededException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileNameLengthLimitExceededException.java index e3a5e627..af98124f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileNameLengthLimitExceededException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileNameLengthLimitExceededException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class FileNameLengthLimitExceededException extends FileException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileSizeLimitExceededException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileSizeLimitExceededException.java index ebb35c26..1eb8d40d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileSizeLimitExceededException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileSizeLimitExceededException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class FileSizeLimitExceededException extends FileException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaExpireException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaExpireException.java index e9a3d88c..f4b8cac1 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaExpireException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaExpireException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class CaptchaExpireException extends UserException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserException.java index 0812fa6a..024fed61 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserException.java @@ -7,9 +7,10 @@ import java.io.Serial; /** * 用户信息异常类 * - * @author Lion Li + * @author ruoyi */ public class UserException extends BaseException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserPasswordNotMatchException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserPasswordNotMatchException.java index cb8fb67b..289cca75 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserPasswordNotMatchException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserPasswordNotMatchException.java @@ -8,6 +8,7 @@ import java.io.Serial; * @author ruoyi */ public class UserPasswordNotMatchException extends UserException { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java index 974b9c3b..72178a7b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java @@ -121,6 +121,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { return new Date(time); } + /** + * 计算相差天数 + */ + public static int differentDaysByMillisecond(Date date1, Date date2) { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); + } + /** * 计算两个时间差 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/SpringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/SpringUtils.java index 039602bb..0af4d51d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/SpringUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/SpringUtils.java @@ -14,9 +14,6 @@ public final class SpringUtils extends SpringUtil { /** * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true - * - * @param name - * @return boolean */ public static boolean containsBean(String name) { return getBeanFactory().containsBean(name); @@ -25,16 +22,12 @@ public final class SpringUtils extends SpringUtil { /** * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) - * - * @param name - * @return boolean */ public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { return getBeanFactory().isSingleton(name); } /** - * @param name * @return Class 注册对象的类型 */ public static Class getType(String name) throws NoSuchBeanDefinitionException { @@ -43,8 +36,6 @@ public final class SpringUtils extends SpringUtil { /** * 如果给定的bean名字在bean定义中有别名,则返回这些别名 - * - * @param name */ public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { return getBeanFactory().getAliases(name); @@ -52,15 +43,13 @@ public final class SpringUtils extends SpringUtil { /** * 获取aop代理对象 - * - * @param invoker - * @return */ @SuppressWarnings("unchecked") public static T getAopProxy(T invoker) { return (T) AopContext.currentProxy(); } + /** * 获取spring上下文 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java index f1885ab6..d9dcb401 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java @@ -2,7 +2,6 @@ package org.dromara.common.core.utils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.StrUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; @@ -31,6 +30,7 @@ public class StreamUtils { if (CollUtil.isEmpty(collection)) { return CollUtil.newArrayList(); } + // 注意此处不要使用 .toList() 新语法 因为返回的是不可变List 会导致序列化问题 return collection.stream().filter(function).collect(Collectors.toList()); } @@ -55,7 +55,7 @@ public class StreamUtils { */ public static String join(Collection collection, Function function, CharSequence delimiter) { if (CollUtil.isEmpty(collection)) { - return StrUtil.EMPTY; + return StringUtils.EMPTY; } return collection.stream().map(function).filter(Objects::nonNull).collect(Collectors.joining(delimiter)); } @@ -71,6 +71,7 @@ public class StreamUtils { if (CollUtil.isEmpty(collection)) { return CollUtil.newArrayList(); } + // 注意此处不要使用 .toList() 新语法 因为返回的是不可变List 会导致序列化问题 return collection.stream().sorted(comparing).collect(Collectors.toList()); } @@ -189,6 +190,7 @@ public class StreamUtils { .stream() .map(function) .filter(Objects::nonNull) + // 注意此处不要使用 .toList() 新语法 因为返回的是不可变List 会导致序列化问题 .collect(Collectors.toList()); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUtils.java index 186b46da..573b2073 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUtils.java @@ -1,11 +1,10 @@ package org.dromara.common.core.utils.file; import cn.hutool.core.io.FileUtil; +import jakarta.servlet.http.HttpServletResponse; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import jakarta.servlet.http.HttpServletResponse; -import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -22,22 +21,12 @@ public class FileUtils extends FileUtil { * * @param response 响应对象 * @param realFileName 真实文件名 - * @return */ - public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException { + public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) { String percentEncodedFileName = percentEncode(realFileName); - - StringBuilder contentDispositionValue = new StringBuilder(); - contentDispositionValue.append("attachment; filename=") - .append(percentEncodedFileName) - .append(";") - .append("filename*=") - .append("utf-8''") - .append(percentEncodedFileName); - - response.addHeader("Access-Control-Allow-Origin", "*"); + String contentDispositionValue = "attachment; filename=%s;filename*=utf-8''%s".formatted(percentEncodedFileName, percentEncodedFileName); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition,download-filename"); - response.setHeader("Content-disposition", contentDispositionValue.toString()); + response.setHeader("Content-disposition", contentDispositionValue); response.setHeader("download-filename", percentEncodedFileName); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/RegionUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/RegionUtils.java index 7d0ef1be..6e2a44e0 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/RegionUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/RegionUtils.java @@ -63,4 +63,5 @@ public class RegionUtils { return "未知"; } } + } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java index e321227b..eed495f4 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java @@ -10,7 +10,7 @@ import java.lang.annotation.Target; /** * 自定义xss校验注解 * - * @author ruoyi + * @author Lion Li */ @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER}) @@ -22,4 +22,5 @@ public @interface Xss { Class[] groups() default {}; Class[] payload() default {}; + } diff --git a/ruoyi-common/ruoyi-common-doc/pom.xml b/ruoyi-common/ruoyi-common-doc/pom.xml index 81bca06f..26a35fc8 100644 --- a/ruoyi-common/ruoyi-common-doc/pom.xml +++ b/ruoyi-common/ruoyi-common-doc/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -12,12 +12,11 @@ ruoyi-common-doc - ruoyi-common-swagger系统接口 + ruoyi-common-doc 系统接口 - + - org.dromara ruoyi-common-core @@ -39,4 +38,5 @@ + diff --git a/ruoyi-common/ruoyi-common-encrypt/pom.xml b/ruoyi-common/ruoyi-common-encrypt/pom.xml index ac8616be..7f580637 100644 --- a/ruoyi-common/ruoyi-common-encrypt/pom.xml +++ b/ruoyi-common/ruoyi-common-encrypt/pom.xml @@ -22,6 +22,11 @@ ruoyi-common-core + + org.mybatis.spring.boot + mybatis-spring-boot-starter + + org.bouncycastle bcprov-jdk15to18 diff --git a/ruoyi-common/ruoyi-common-excel/pom.xml b/ruoyi-common/ruoyi-common-excel/pom.xml index fb7910b4..dd4a5eeb 100644 --- a/ruoyi-common/ruoyi-common-excel/pom.xml +++ b/ruoyi-common/ruoyi-common-excel/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -15,8 +15,7 @@ ruoyi-common-excel - - + org.dromara ruoyi-common-json @@ -26,6 +25,6 @@ com.alibaba easyexcel - + diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/CellMerge.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/CellMerge.java index 35d10a52..bbdaaa14 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/CellMerge.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/CellMerge.java @@ -1,6 +1,5 @@ package org.dromara.common.excel.annotation; - import org.dromara.common.excel.core.CellMergeStrategy; import java.lang.annotation.*; diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java index 0db0abd6..61eeabfd 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java @@ -9,10 +9,10 @@ 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 org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.core.service.DictService; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.utils.ExcelUtil; import lombok.extern.slf4j.Slf4j; diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/CellMergeStrategy.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/CellMergeStrategy.java index ff59034e..08f4dda2 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/CellMergeStrategy.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/CellMergeStrategy.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.write.merge.AbstractMergeStrategy; -import org.dromara.common.core.utils.reflect.ReflectUtils; import lombok.AllArgsConstructor; import lombok.Data; import lombok.SneakyThrows; @@ -12,6 +11,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellRangeAddress; +import org.dromara.common.core.utils.reflect.ReflectUtils; import org.dromara.common.excel.annotation.CellMerge; import java.lang.reflect.Field; diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelListener.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelListener.java index 61eafa28..b6fa0b43 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelListener.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelListener.java @@ -7,12 +7,12 @@ import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.exception.ExcelDataConvertException; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.ValidatorUtils; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.dromara.common.json.utils.JsonUtils; - import jakarta.validation.ConstraintViolation; import jakarta.validation.ConstraintViolationException; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; + import java.util.Map; import java.util.Set; @@ -42,7 +42,7 @@ public class DefaultExcelListener extends AnalysisEventListener implements private ExcelResult excelResult; public DefaultExcelListener(boolean isValidate) { - this.excelResult = new DefautExcelResult<>(); + this.excelResult = new DefaultExcelResult<>(); this.isValidate = isValidate; } diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefautExcelResult.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelResult.java similarity index 85% rename from ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefautExcelResult.java rename to ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelResult.java index d61e2923..7373e122 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefautExcelResult.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelResult.java @@ -12,7 +12,7 @@ import java.util.List; * @author Yjoioooo * @author Lion Li */ -public class DefautExcelResult implements ExcelResult { +public class DefaultExcelResult implements ExcelResult { /** * 数据对象list @@ -26,17 +26,17 @@ public class DefautExcelResult implements ExcelResult { @Setter private List errorList; - public DefautExcelResult() { + public DefaultExcelResult() { this.list = new ArrayList<>(); this.errorList = new ArrayList<>(); } - public DefautExcelResult(List list, List errorList) { + public DefaultExcelResult(List list, List errorList) { this.list = list; this.errorList = errorList; } - public DefautExcelResult(ExcelResult excelResult) { + public DefaultExcelResult(ExcelResult excelResult) { this.list = excelResult.getList(); this.errorList = excelResult.getErrorList(); } diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java index a5941c62..3605cf25 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java @@ -17,15 +17,14 @@ import org.dromara.common.excel.core.CellMergeStrategy; import org.dromara.common.excel.core.DefaultExcelListener; import org.dromara.common.excel.core.ExcelListener; import org.dromara.common.excel.core.ExcelResult; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import jakarta.servlet.ServletOutputStream; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.io.UnsupportedEncodingException; import java.util.Collection; import java.util.List; import java.util.Map; @@ -254,7 +253,7 @@ public class ExcelUtil { /** * 重置响应体 */ - private static void resetResponse(String sheetName, HttpServletResponse response) throws UnsupportedEncodingException { + private static void resetResponse(String sheetName, HttpServletResponse response) { String filename = encodingFilename(sheetName); FileUtils.setAttachmentResponseHeader(response, filename); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); diff --git a/ruoyi-common/ruoyi-common-idempotent/pom.xml b/ruoyi-common/ruoyi-common-idempotent/pom.xml index f1df9ab6..64418b42 100644 --- a/ruoyi-common/ruoyi-common-idempotent/pom.xml +++ b/ruoyi-common/ruoyi-common-idempotent/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -15,8 +15,7 @@ ruoyi-common-idempotent 幂等功能 - - + org.dromara ruoyi-common-json @@ -28,14 +27,15 @@ - cn.dev33 - sa-token-core + cn.hutool + hutool-crypto - cn.hutool - hutool-crypto + cn.dev33 + sa-token-core + diff --git a/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/aspectj/RepeatSubmitAspect.java b/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/aspectj/RepeatSubmitAspect.java index 04bf61a8..fa5b76a1 100644 --- a/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/aspectj/RepeatSubmitAspect.java +++ b/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/aspectj/RepeatSubmitAspect.java @@ -3,11 +3,6 @@ package org.dromara.common.idempotent.aspectj; import cn.dev33.satoken.SaManager; import cn.hutool.core.util.ObjectUtil; import cn.hutool.crypto.SecureUtil; -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.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.ServiceException; @@ -17,11 +12,16 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +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.validation.BindingResult; import org.springframework.web.multipart.MultipartFile; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.time.Duration; import java.util.Collection; import java.util.Map; @@ -39,8 +39,10 @@ public class RepeatSubmitAspect { @Before("@annotation(repeatSubmit)") public void doBefore(JoinPoint point, RepeatSubmit repeatSubmit) throws Throwable { // 如果注解不为0 则使用注解数值 - long interval = repeatSubmit.timeUnit().toMillis(repeatSubmit.interval()); - + long interval = 0; + if (repeatSubmit.interval() > 0) { + interval = repeatSubmit.timeUnit().toMillis(repeatSubmit.interval()); + } if (interval < 1000) { throw new ServiceException("重复提交间隔时间不能小于'1'秒"); } diff --git a/ruoyi-common/ruoyi-common-log/pom.xml b/ruoyi-common/ruoyi-common-log/pom.xml index 06cf06d6..cbda66f8 100644 --- a/ruoyi-common/ruoyi-common-log/pom.xml +++ b/ruoyi-common/ruoyi-common-log/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -12,7 +12,7 @@ ruoyi-common-log - ruoyi-common-log日志记录 + ruoyi-common-log 日志记录 @@ -27,6 +27,11 @@ ruoyi-common-json + + com.alibaba + transmittable-thread-local + + org.apache.dubbo dubbo-spring-boot-starter @@ -34,4 +39,5 @@ + diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/annotation/Log.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/annotation/Log.java index 815f7ab8..2dced97d 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/annotation/Log.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/annotation/Log.java @@ -39,6 +39,7 @@ public @interface Log { */ boolean isSaveResponseData() default true; + /** * 排除指定的请求参数 */ diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java index 3afe173d..dc3b9d03 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java @@ -3,27 +3,29 @@ package org.dromara.common.log.aspect; import cn.hutool.core.lang.Dict; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.ttl.TransmittableThreadLocal; import org.dromara.common.core.utils.ServletUtils; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.core.utils.ip.AddressUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessStatus; import org.dromara.common.log.event.OperLogEvent; import org.dromara.common.satoken.utils.LoginHelper; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.time.StopWatch; 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.boot.autoconfigure.AutoConfiguration; import org.springframework.http.HttpMethod; import org.springframework.validation.BindingResult; import org.springframework.web.multipart.MultipartFile; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.util.Collection; import java.util.Map; @@ -42,6 +44,22 @@ public class LogAspect { */ public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" }; + + /** + * 计算操作消耗时间 + */ + private static final ThreadLocal TIME_THREADLOCAL = new TransmittableThreadLocal<>(); + + /** + * 处理请求前执行 + */ + @Before(value = "@annotation(controllerLog)") + public void boBefore(JoinPoint joinPoint, Log controllerLog) { + StopWatch stopWatch = new StopWatch(); + TIME_THREADLOCAL.set(stopWatch); + stopWatch.start(); + } + /** * 处理完请求后执行 * @@ -65,6 +83,7 @@ public class LogAspect { protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) { try { + // *========数据库日志=========*// OperLogEvent operLog = new OperLogEvent(); operLog.setTenantId(LoginHelper.getTenantId()); @@ -72,7 +91,6 @@ public class LogAspect { // 请求的地址 String ip = ServletUtils.getClientIP(); operLog.setOperIp(ip); - operLog.setOperLocation(AddressUtils.getRealAddressByIP(ip)); operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); operLog.setOperName(LoginHelper.getUsername()); @@ -88,12 +106,18 @@ public class LogAspect { operLog.setRequestMethod(ServletUtils.getRequest().getMethod()); // 处理设置注解上的参数 getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); + // 设置消耗时间 + StopWatch stopWatch = TIME_THREADLOCAL.get(); + stopWatch.stop(); + operLog.setCostTime(stopWatch.getTime()); // 发布事件保存数据库 SpringUtils.context().publishEvent(operLog); } catch (Exception exp) { // 记录本地异常日志 log.error("异常信息:{}", exp.getMessage()); exp.printStackTrace(); + } finally { + TIME_THREADLOCAL.remove(); } } @@ -132,7 +156,7 @@ public class LogAspect { Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); String requestMethod = operLog.getRequestMethod(); if (MapUtil.isEmpty(paramsMap) - && HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) { + && HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) { String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); operLog.setOperParam(StringUtils.substring(params, 0, 2000)); } else { diff --git a/ruoyi-common/ruoyi-common-mail/pom.xml b/ruoyi-common/ruoyi-common-mail/pom.xml index e9844e11..c0e1b2e4 100644 --- a/ruoyi-common/ruoyi-common-mail/pom.xml +++ b/ruoyi-common/ruoyi-common-mail/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -15,8 +15,7 @@ ruoyi-common-mail 邮件模块 - - + org.dromara ruoyi-common-core @@ -30,6 +29,6 @@ org.eclipse.angus jakarta.mail - + diff --git a/ruoyi-common/ruoyi-common-mybatis/pom.xml b/ruoyi-common/ruoyi-common-mybatis/pom.xml index 54803a30..413216ce 100644 --- a/ruoyi-common/ruoyi-common-mybatis/pom.xml +++ b/ruoyi-common/ruoyi-common-mybatis/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -15,7 +15,7 @@ ruoyi-common-mybatis 数据库服务 - + org.dromara ruoyi-common-satoken @@ -67,4 +67,5 @@ + diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java index fe74d507..1f36f040 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java @@ -9,9 +9,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ReflectionKit; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.Db; +import org.dromara.common.core.utils.MapstructUtils; import org.apache.ibatis.logging.Log; import org.apache.ibatis.logging.LogFactory; -import org.dromara.common.core.utils.MapstructUtils; import java.io.Serializable; import java.util.Collection; diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/TableDataInfo.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/TableDataInfo.java index 1a1a9c6b..a4b67997 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/TableDataInfo.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/TableDataInfo.java @@ -18,6 +18,7 @@ import java.util.List; @Data @NoArgsConstructor public class TableDataInfo implements Serializable { + @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java index 4bc4acbc..18d536ee 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java @@ -3,14 +3,15 @@ package org.dromara.common.mybatis.enums; import org.dromara.common.core.utils.StringUtils; import lombok.AllArgsConstructor; import lombok.Getter; +import org.dromara.common.mybatis.helper.DataPermissionHelper; /** * 数据权限类型 *

* 语法支持 spel 模板表达式 *

- * 内置数据 user 当前用户 内容参考 SysUser - * 如需扩展数据 可使用 {@link org.dromara.common.mybatis.helper.DataPermissionHelper} 操作 + * 内置数据 user 当前用户 内容参考 LoginUser + * 如需扩展数据 可使用 {@link DataPermissionHelper} 操作 * 内置服务 sdss 系统数据权限服务 内容参考 SysDataScopeService * 如需扩展更多自定义服务 可以参考 sdss 自行编写 * diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java index bf7f1c1b..2d81e772 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java @@ -77,8 +77,8 @@ public class PlusDataPermissionHandler { currentUser = LoginHelper.getLoginUser(); DataPermissionHelper.setVariable("user", currentUser); } - // 如果是超级管理员,则不过滤数据 - if (ObjectUtil.isNull(currentUser) || LoginHelper.isSuperAdmin(currentUser.getUserId())) { + // 如果是超级管理员或租户管理员,则不过滤数据 + if (LoginHelper.isSuperAdmin() || LoginHelper.isTenantAdmin()) { return where; } String dataFilterSql = buildDataFilter(dataColumns, isSelect); diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java index d27200fc..4a293835 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java @@ -14,6 +14,7 @@ import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * 数据库助手 diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java index f0ba94ec..0beae4da 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java @@ -42,8 +42,8 @@ public class DataPermissionHelper { saStorage.set(DATA_PERMISSION_KEY, new HashMap<>()); attribute = saStorage.get(DATA_PERMISSION_KEY); } - if (attribute instanceof Map) { - return (Map) attribute; + if (attribute instanceof Map map) { + return map; } throw new NullPointerException("data permission context type exception"); } diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java index e49c95b9..b7a6ae78 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java @@ -66,8 +66,8 @@ public class PlusDataPermissionInterceptor extends JsqlParserSupport implements @Override protected void processSelect(Select select, int index, String sql, Object obj) { SelectBody selectBody = select.getSelectBody(); - if (selectBody instanceof PlainSelect) { - this.setWhere((PlainSelect) selectBody, (String) obj); + if (selectBody instanceof PlainSelect plainSelect) { + this.setWhere(plainSelect, (String) obj); } else if (selectBody instanceof SetOperationList setOperationList) { List selectBodyList = setOperationList.getSelects(); selectBodyList.forEach(s -> this.setWhere((PlainSelect) s, (String) obj)); diff --git a/ruoyi-common/ruoyi-common-oss/pom.xml b/ruoyi-common/ruoyi-common-oss/pom.xml index e3428e70..8e7affff 100644 --- a/ruoyi-common/ruoyi-common-oss/pom.xml +++ b/ruoyi-common/ruoyi-common-oss/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -15,8 +15,7 @@ ruoyi-common-oss oss服务 - - + org.dromara ruoyi-common-json @@ -31,6 +30,6 @@ com.amazonaws aws-java-sdk-s3 - + diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java index 62ca6b14..53e05c92 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java @@ -63,7 +63,7 @@ public class OssClient { .withClientConfiguration(clientConfig) .withCredentials(credentialsProvider) .disableChunkedEncoding(); - if (!StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE)){ + if (!StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE)) { // minio 使用https限制使用域名访问 需要此配置 站点填域名 build.enablePathStyleAccess(); } @@ -171,7 +171,7 @@ public class OssClient { String endpoint = properties.getEndpoint(); String header = OssConstant.IS_HTTPS.equals(properties.getIsHttps()) ? "https://" : "http://"; // 云服务商直接返回 - if (StringUtils.containsAny(endpoint, OssConstant.CLOUD_SERVICE)){ + if (StringUtils.containsAny(endpoint, OssConstant.CLOUD_SERVICE)) { if (StringUtils.isNotBlank(domain)) { return header + domain; } @@ -231,16 +231,14 @@ public class OssClient { return AccessPolicyType.getByType(properties.getAccessPolicy()); } - private static String getPolicy(String bucketName, PolicyType policyType) { StringBuilder builder = new StringBuilder(); builder.append("{\n\"Statement\": [\n{\n\"Action\": [\n"); - switch (policyType) { - case WRITE -> builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucketMultipartUploads\"\n"); - case READ_WRITE -> - builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucket\",\n\"s3:ListBucketMultipartUploads\"\n"); - default -> builder.append("\"s3:GetBucketLocation\"\n"); - } + builder.append(switch (policyType) { + case WRITE -> "\"s3:GetBucketLocation\",\n\"s3:ListBucketMultipartUploads\"\n"; + case READ_WRITE -> "\"s3:GetBucketLocation\",\n\"s3:ListBucket\",\n\"s3:ListBucketMultipartUploads\"\n"; + default -> "\"s3:GetBucketLocation\"\n"; + }); builder.append("],\n\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::"); builder.append(bucketName); builder.append("\"\n},\n"); @@ -250,13 +248,11 @@ public class OssClient { builder.append("\"\n},\n"); } builder.append("{\n\"Action\": "); - switch (policyType) { - case WRITE -> - builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"); - case READ_WRITE -> - builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:GetObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"); - default -> builder.append("\"s3:GetObject\",\n"); - } + builder.append(switch (policyType) { + case WRITE -> "[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"; + case READ_WRITE -> "[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:GetObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"; + default -> "\"s3:GetObject\",\n"; + }); builder.append("\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::"); builder.append(bucketName); builder.append("/*\"\n}\n],\n\"Version\": \"2012-10-17\"\n}\n"); diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java index 8621f93a..cb37206e 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java @@ -16,7 +16,7 @@ public class OssProperties { private String tenantId; /** - * 域名 + * 访问站点 */ private String endpoint; @@ -60,5 +60,4 @@ public class OssProperties { */ private String accessPolicy; - } diff --git a/ruoyi-common/ruoyi-common-redis/pom.xml b/ruoyi-common/ruoyi-common-redis/pom.xml index 7490b381..5e5c277f 100644 --- a/ruoyi-common/ruoyi-common-redis/pom.xml +++ b/ruoyi-common/ruoyi-common-redis/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -12,14 +12,14 @@ ruoyi-common-redis - ruoyi-common-redis缓存服务 + ruoyi-common-redis 缓存服务 - + - org.springframework.boot - spring-boot-starter-aop + org.dromara + ruoyi-common-core @@ -28,21 +28,10 @@ redisson-spring-boot-starter - - org.redisson - redisson-spring-data-27 - - com.baomidou lock4j-redisson-spring-boot-starter - - - - org.dromara - ruoyi-common-core - - + diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index ed1f066d..ccc03684 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -1,8 +1,8 @@ package org.dromara.common.redis.utils; -import org.dromara.common.core.utils.SpringUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import org.dromara.common.core.utils.SpringUtils; import org.redisson.api.*; import java.time.Duration; @@ -474,5 +474,4 @@ public class RedisUtils { RKeys rKeys = CLIENT.getKeys(); return rKeys.countExists(key) > 0; } - } diff --git a/ruoyi-common/ruoyi-common-satoken/pom.xml b/ruoyi-common/ruoyi-common-satoken/pom.xml index 03b02f45..93d46eb8 100644 --- a/ruoyi-common/ruoyi-common-satoken/pom.xml +++ b/ruoyi-common/ruoyi-common-satoken/pom.xml @@ -1,6 +1,7 @@ - + org.dromara ruoyi-common @@ -16,7 +17,6 @@ - cn.dev33 sa-token-core diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java index 87398cfc..8d2aac96 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java @@ -29,11 +29,11 @@ public class PlusSaTokenDao implements SaTokenDao { */ @Override public void set(String key, String value, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { + if (timeout == 0 || timeout <= NOT_VALUE_EXPIRE) { return; } // 判断是否为永不过期 - if (timeout == SaTokenDao.NEVER_EXPIRE) { + if (timeout == NEVER_EXPIRE) { RedisUtils.setCacheObject(key, value); } else { RedisUtils.setCacheObject(key, value, Duration.ofSeconds(timeout)); @@ -47,7 +47,7 @@ public class PlusSaTokenDao implements SaTokenDao { public void update(String key, String value) { long expire = getTimeout(key); // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { + if (expire == NOT_VALUE_EXPIRE) { return; } this.set(key, value, expire); @@ -76,9 +76,9 @@ public class PlusSaTokenDao implements SaTokenDao { @Override public void updateTimeout(String key, long timeout) { // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { + if (timeout == NEVER_EXPIRE) { long expire = getTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { + if (expire == NEVER_EXPIRE) { // 如果其已经被设置为永久,则不作任何处理 } else { // 如果尚未被设置为永久,那么再次set一次 @@ -103,11 +103,11 @@ public class PlusSaTokenDao implements SaTokenDao { */ @Override public void setObject(String key, Object object, long timeout) { - if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) { + if (timeout == 0 || timeout <= NOT_VALUE_EXPIRE) { return; } // 判断是否为永不过期 - if (timeout == SaTokenDao.NEVER_EXPIRE) { + if (timeout == NEVER_EXPIRE) { RedisUtils.setCacheObject(key, object); } else { RedisUtils.setCacheObject(key, object, Duration.ofSeconds(timeout)); @@ -121,7 +121,7 @@ public class PlusSaTokenDao implements SaTokenDao { public void updateObject(String key, Object object) { long expire = getObjectTimeout(key); // -2 = 无此键 - if (expire == SaTokenDao.NOT_VALUE_EXPIRE) { + if (expire == NOT_VALUE_EXPIRE) { return; } this.setObject(key, object, expire); @@ -150,9 +150,9 @@ public class PlusSaTokenDao implements SaTokenDao { @Override public void updateObjectTimeout(String key, long timeout) { // 判断是否想要设置为永久 - if (timeout == SaTokenDao.NEVER_EXPIRE) { + if (timeout == NEVER_EXPIRE) { long expire = getObjectTimeout(key); - if (expire == SaTokenDao.NEVER_EXPIRE) { + if (expire == NEVER_EXPIRE) { // 如果其已经被设置为永久,则不作任何处理 } else { // 如果尚未被设置为永久,那么再次set一次 diff --git a/ruoyi-common/ruoyi-common-security/pom.xml b/ruoyi-common/ruoyi-common-security/pom.xml index 69bea4b1..ee499f12 100644 --- a/ruoyi-common/ruoyi-common-security/pom.xml +++ b/ruoyi-common/ruoyi-common-security/pom.xml @@ -1,6 +1,7 @@ - + org.dromara ruoyi-common @@ -11,11 +12,10 @@ ruoyi-common-security - ruoyi-common-security安全模块 + ruoyi-common-security 安全模块 - org.dromara ruoyi-common-satoken diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/handler/GlobalExceptionHandler.java index 3a676d9a..cfbd307b 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/handler/GlobalExceptionHandler.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/handler/GlobalExceptionHandler.java @@ -1,27 +1,30 @@ package org.dromara.common.security.handler; -import cn.dev33.satoken.exception.SameTokenInvalidException; import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; import cn.dev33.satoken.exception.NotRoleException; +import cn.dev33.satoken.exception.SameTokenInvalidException; import cn.hutool.core.util.ObjectUtil; -import org.dromara.common.core.constant.HttpStatus; +import cn.hutool.http.HttpStatus; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; +import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.DemoModeException; import org.dromara.common.core.exception.ServiceException; -import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.utils.StreamUtils; +import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; -import jakarta.servlet.http.HttpServletRequest; - /** * 全局异常处理器 * - * @author ruoyi + * @author Lion Li */ @Slf4j @RestControllerAdvice @@ -34,7 +37,7 @@ public class GlobalExceptionHandler { public R handleNotPermissionException(NotPermissionException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',权限码校验失败'{}'", requestURI, e.getMessage()); - return R.fail(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权"); + return R.fail(HttpStatus.HTTP_FORBIDDEN, "没有访问权限,请联系管理员授权"); } /** @@ -44,7 +47,7 @@ public class GlobalExceptionHandler { public R handleNotRoleException(NotRoleException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',角色权限校验失败'{}'", requestURI, e.getMessage()); - return R.fail(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权"); + return R.fail(HttpStatus.HTTP_FORBIDDEN, "没有访问权限,请联系管理员授权"); } /** @@ -54,7 +57,7 @@ public class GlobalExceptionHandler { public R handleNotLoginException(NotLoginException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); - return R.fail(HttpStatus.UNAUTHORIZED, "认证失败,无法访问系统资源"); + return R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源"); } /** @@ -64,7 +67,7 @@ public class GlobalExceptionHandler { public R handleSameTokenInvalidException(SameTokenInvalidException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',内网认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); - return R.fail(HttpStatus.UNAUTHORIZED, "认证失败,无法访问系统资源"); + return R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源"); } /** @@ -72,7 +75,7 @@ public class GlobalExceptionHandler { */ @ExceptionHandler(HttpRequestMethodNotSupportedException.class) public R handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, - HttpServletRequest request) { + HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod()); return R.fail(e.getMessage()); @@ -114,7 +117,17 @@ public class GlobalExceptionHandler { @ExceptionHandler(BindException.class) public R handleBindException(BindException e) { log.error(e.getMessage(), e); - String message = e.getAllErrors().get(0).getDefaultMessage(); + String message = StreamUtils.join(e.getAllErrors(), DefaultMessageSourceResolvable::getDefaultMessage, ", "); + return R.fail(message); + } + + /** + * 自定义验证异常 + */ + @ExceptionHandler(ConstraintViolationException.class) + public R constraintViolationException(ConstraintViolationException e) { + log.error(e.getMessage(), e); + String message = StreamUtils.join(e.getConstraintViolations(), ConstraintViolation::getMessage, ", "); return R.fail(message); } diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java similarity index 99% rename from ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java rename to ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java index 44864417..f2c708a9 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java @@ -36,7 +36,7 @@ import java.util.List; @EnableConfigurationProperties(TenantProperties.class) @AutoConfiguration(after = {RedisConfiguration.class}) @ConditionalOnProperty(value = "tenant.enable", havingValue = "true") -public class TenantConfig { +public class TenantConfiguration { @ConditionalOnBean(MybatisPlusConfiguration.class) @AutoConfiguration(after = {MybatisPlusConfiguration.class}) diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java index ed42f823..b8da28ef 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java @@ -1,6 +1,5 @@ package org.dromara.common.tenant.core; - import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.core.dao.PlusSaTokenDao; diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java index ddd5410d..ee2bc97c 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java @@ -1,6 +1,5 @@ package org.dromara.common.tenant.exception; - import org.dromara.common.core.exception.base.BaseException; import java.io.Serial; diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java index efd60757..70770f27 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java @@ -2,14 +2,14 @@ package org.dromara.common.tenant.handle; import cn.hutool.core.collection.ListUtil; import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; -import lombok.AllArgsConstructor; -import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.NullValue; -import net.sf.jsqlparser.expression.StringValue; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.properties.TenantProperties; +import lombok.AllArgsConstructor; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.NullValue; +import net.sf.jsqlparser.expression.StringValue; import java.util.List; diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java index 2297fbaf..c9c2f952 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java @@ -1,6 +1,5 @@ package org.dromara.common.tenant.handle; - import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.redis.handler.KeyPrefixHandler; diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java index 3b434b2e..d230afc1 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java +++ b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java @@ -1,6 +1,5 @@ package org.dromara.common.tenant.manager; - import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.redis.manager.PlusSpringCacheManager; diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index f837191e..c34f2c58 100644 --- a/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1 @@ -org.dromara.common.tenant.config.TenantConfig +org.dromara.common.tenant.config.TenantConfiguration diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/TranslationType.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/TranslationType.java index 5e4eb356..43bfab08 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/TranslationType.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/TranslationType.java @@ -1,9 +1,11 @@ package org.dromara.common.translation.annotation; +import org.dromara.common.translation.core.TranslationInterface; + import java.lang.annotation.*; /** - * 翻译类型注解 (标注到{@link org.dromara.common.translation.core.TranslationInterface} 的实现类) + * 翻译类型注解 (标注到{@link TranslationInterface} 的实现类) * * @author Lion Li */ diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java index 88f1f6ff..5dcd0c19 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java @@ -5,11 +5,11 @@ import org.dromara.common.translation.annotation.TranslationType; import org.dromara.common.translation.core.TranslationInterface; import org.dromara.common.translation.core.handler.TranslationBeanSerializerModifier; import org.dromara.common.translation.core.handler.TranslationHandler; +import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; -import jakarta.annotation.PostConstruct; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java index 4500a239..e4d6dd3b 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java @@ -1,7 +1,9 @@ package org.dromara.common.translation.core; +import org.dromara.common.translation.annotation.TranslationType; + /** - * 翻译接口 (实现类需标注 {@link org.dromara.common.translation.annotation.TranslationType} 注解标明翻译类型) + * 翻译接口 (实现类需标注 {@link TranslationType} 注解标明翻译类型) * * @author Lion Li */ @@ -10,7 +12,8 @@ public interface TranslationInterface { /** * 翻译 * - * @param key 需要被翻译的键(不为空) + * @param key 需要被翻译的键(不为空) + * @param other 其他参数 * @return 返回键对应的值 */ T translation(Object key, String other); diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationBeanSerializerModifier.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationBeanSerializerModifier.java index 6cd5a96a..727672f2 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationBeanSerializerModifier.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationBeanSerializerModifier.java @@ -19,8 +19,8 @@ public class TranslationBeanSerializerModifier extends BeanSerializerModifier { List beanProperties) { for (BeanPropertyWriter writer : beanProperties) { // 如果序列化器为 TranslationHandler 的话 将 Null 值也交给他处理 - if (writer.getSerializer() instanceof TranslationHandler) { - writer.assignNullSerializer(writer.getSerializer()); + if (writer.getSerializer() instanceof TranslationHandler serializer) { + writer.assignNullSerializer(serializer); } } return beanProperties; diff --git a/ruoyi-common/ruoyi-common-web/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml index 614b2aa9..6bb30063 100644 --- a/ruoyi-common/ruoyi-common-web/pom.xml +++ b/ruoyi-common/ruoyi-common-web/pom.xml @@ -1,6 +1,6 @@ - org.dromara @@ -69,6 +69,6 @@ 2.7.6 provided - + diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java index 4cb7aed0..2808fa84 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java @@ -1,14 +1,12 @@ package org.dromara.common.web.core; import org.dromara.common.core.domain.R; -import lombok.extern.slf4j.Slf4j; /** * web层通用数据处理 * * @author Lion Li */ -@Slf4j public class BaseController { /** diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java index 00776cc6..84d8178f 100644 --- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java +++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java @@ -92,6 +92,8 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler { /** * 是否支持分片消息 + * + * @return */ @Override public boolean supportsPartialMessages() {