From 74af811a3b856277ac125b15b5e66cbc5fae37d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Wed, 18 Sep 2024 18:07:28 +0800 Subject: [PATCH 01/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=89=E6=9C=89=E9=97=AE=E9=A2=98=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95(=E4=BD=BF=E7=94=A8RedisUtils)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/common/redis/utils/CacheUtils.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java index 42a88d678..865ffa502 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java @@ -1,19 +1,15 @@ package org.dromara.common.redis.utils; -import org.dromara.common.core.utils.SpringUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.redisson.api.RMap; +import org.dromara.common.core.utils.SpringUtils; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; -import java.util.Set; - /** - * 缓存操作工具类 {@link } + * 缓存操作工具类 * * @author Michelle.Chung - * @date 2022/8/13 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) @SuppressWarnings(value = {"unchecked"}) @@ -21,16 +17,6 @@ public class CacheUtils { private static final CacheManager CACHE_MANAGER = SpringUtils.getBean(CacheManager.class); - /** - * 获取缓存组内所有的KEY - * - * @param cacheNames 缓存组名称 - */ - public static Set keys(String cacheNames) { - RMap rmap = (RMap) CACHE_MANAGER.getCache(cacheNames).getNativeCache(); - return rmap.keySet(); - } - /** * 获取缓存值 * From 272ca613ee64154882111851a06f3e182fedba8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 13:45:57 +0800 Subject: [PATCH 02/28] =?UTF-8?q?update=20mybatis-plus=203.5.7=20=3D>=203.?= =?UTF-8?q?5.8=20=E4=BB=A3=E7=A0=81=E9=80=82=E9=85=8D=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/core/mapper/BaseMapperPlus.java | 26 +++++-------------- .../handler/PlusDataPermissionHandler.java | 4 +-- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 2cd2a813c..608c0cf56 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ 4.0.2 2.3 1.39.0 - 3.5.7 + 3.5.8 3.9.1 5.8.31 3.2.3 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 956be9fb9..a8a1e8667 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 @@ -18,9 +18,7 @@ import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.function.Function; -import java.util.stream.Collectors; /** * 自定义 Mapper 接口, 实现 自定义扩展 @@ -69,9 +67,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 插入操作是否成功的布尔值 */ default boolean insertBatch(Collection entityList) { - Db.saveBatch(entityList); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.saveBatch(entityList); } /** @@ -81,9 +77,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 更新操作是否成功的布尔值 */ default boolean updateBatchById(Collection entityList) { - Db.updateBatchById(entityList); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.updateBatchById(entityList); } /** @@ -93,9 +87,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 插入或更新操作是否成功的布尔值 */ default boolean insertOrUpdateBatch(Collection entityList) { - Db.saveOrUpdateBatch(entityList); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.saveOrUpdateBatch(entityList); } /** @@ -106,9 +98,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 插入操作是否成功的布尔值 */ default boolean insertBatch(Collection entityList, int batchSize) { - Db.saveBatch(entityList, batchSize); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.saveBatch(entityList, batchSize); } /** @@ -119,9 +109,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 更新操作是否成功的布尔值 */ default boolean updateBatchById(Collection entityList, int batchSize) { - Db.updateBatchById(entityList, batchSize); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.updateBatchById(entityList, batchSize); } /** @@ -132,9 +120,7 @@ public interface BaseMapperPlus extends BaseMapper { * @return 插入或更新操作是否成功的布尔值 */ default boolean insertOrUpdateBatch(Collection entityList, int batchSize) { - Db.saveOrUpdateBatch(entityList, batchSize); - // 临时解决 新版本 mp 插入状态判断错误问题 - return true; + return Db.saveOrUpdateBatch(entityList, batchSize); } /** 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 5ac74c321..ab7e0f6e4 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 @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.Parenthesis; import net.sf.jsqlparser.expression.operators.conditional.AndExpression; +import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import org.apache.ibatis.io.Resources; import org.dromara.common.core.domain.dto.RoleDTO; @@ -106,7 +106,7 @@ public class PlusDataPermissionHandler { try { Expression expression = CCJSqlParserUtil.parseExpression(dataFilterSql); // 数据权限使用单独的括号 防止与其他条件冲突 - Parenthesis parenthesis = new Parenthesis(expression); + ParenthesedExpressionList parenthesis = new ParenthesedExpressionList<>(expression); if (ObjectUtil.isNotNull(where)) { return new AndExpression(where, parenthesis); } else { From d86652dee1d6a29af7e3ce2f6dd448aec3174321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 13:55:46 +0800 Subject: [PATCH 03/28] update easyexcel 4.0.2 => 4.0.3 update redisson 3.34.1 => 3.36.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 608c0cf56..18f5ba399 100644 --- a/pom.xml +++ b/pom.xml @@ -21,14 +21,14 @@ 3.5.16 2.6.0 0.15.0 - 4.0.2 + 4.0.3 2.3 1.39.0 3.5.8 3.9.1 5.8.31 3.2.3 - 3.34.1 + 3.36.0 2.2.7 4.3.1 1.1.2 From 501be029c6b64c2b1ccdb04bfab59c273fb37a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 17:40:42 +0800 Subject: [PATCH 04/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20sse=20?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8D=95=E7=8B=AC=E5=A4=84=E7=90=86=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/exception/SseException.java | 62 +++++++++++++++++++ .../security/config/SecurityConfig.java | 15 ++++- .../web/handler/GlobalExceptionHandler.java | 25 +++++--- 3 files changed, 90 insertions(+), 12 deletions(-) create mode 100644 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/SseException.java diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/SseException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/SseException.java new file mode 100644 index 000000000..a76e16d9c --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/SseException.java @@ -0,0 +1,62 @@ +package org.dromara.common.core.exception; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serial; + +/** + * sse 特制异常 + * + * @author LionLi + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +public final class SseException extends RuntimeException { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 错误码 + */ + private Integer code; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + */ + private String detailMessage; + + public SseException(String message) { + this.message = message; + } + + public SseException(String message, Integer code) { + this.message = message; + this.code = code; + } + + @Override + public String getMessage() { + return message; + } + + public SseException setMessage(String message) { + this.message = message; + return this; + } + + public SseException setDetailMessage(String detailMessage) { + this.detailMessage = detailMessage; + return this; + } +} diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java index 5fd49d133..a4e921f23 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java @@ -7,9 +7,11 @@ import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaResult; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.SseException; import org.dromara.common.core.utils.ServletUtils; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; @@ -50,11 +52,20 @@ public class SecurityConfig implements WebMvcConfigurer { .match(allUrlHandler.getUrls()) // 对未排除的路径进行检查 .check(() -> { + HttpServletRequest request = ServletUtils.getRequest(); // 检查是否登录 是否有token - StpUtil.checkLogin(); + try { + StpUtil.checkLogin(); + } catch (NotLoginException e) { + if (request.getRequestURI().contains("sse")) { + throw new SseException(e.getMessage(), e.getCode()); + } else { + throw e; + } + } // 检查 header 与 param 里的 clientid 与 token 里的是否一致 - String headerCid = ServletUtils.getRequest().getHeader(LoginHelper.CLIENT_KEY); + String headerCid = request.getHeader(LoginHelper.CLIENT_KEY); String paramCid = ServletUtils.getParameter(LoginHelper.CLIENT_KEY); String clientId = StpUtil.getExtra(LoginHelper.CLIENT_KEY).toString(); if (!StringUtils.equalsAny(clientId, headerCid, paramCid)) { diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java index bd801baed..56c9e9f0a 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java @@ -9,9 +9,9 @@ import jakarta.validation.ConstraintViolationException; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.exception.SseException; import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; @@ -55,20 +55,25 @@ public class GlobalExceptionHandler { return ObjectUtil.isNotNull(code) ? R.fail(code, e.getMessage()) : R.fail(e.getMessage()); } + /** + * 认证失败 + */ + @ResponseStatus(org.springframework.http.HttpStatus.UNAUTHORIZED) + @ExceptionHandler(SseException.class) + public String handleNotLoginException(SseException e, HttpServletRequest request) { + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); + return e.getMessage(); + } + /** * servlet异常 */ @ExceptionHandler(ServletException.class) public R handleServletException(ServletException e, HttpServletRequest request) { - if (StringUtils.contains(e.getMessage(), "NotLoginException")) { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); - return R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源"); - } else { - String requestURI = request.getRequestURI(); - log.error("请求地址'{}',发生未知异常.", requestURI, e); - return R.fail(e.getMessage()); - } + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',发生未知异常.", requestURI, e); + return R.fail(e.getMessage()); } /** From 2add7291ab70fa0607a18b0c77e81997ba1865a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 17:53:41 +0800 Subject: [PATCH 05/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20sse=20?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8D=95=E7=8B=AC=E5=A4=84=E7=90=86=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/web/handler/GlobalExceptionHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java index 56c9e9f0a..42c6087ad 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java @@ -12,6 +12,7 @@ import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.SseException; import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.utils.StreamUtils; +import org.dromara.common.json.utils.JsonUtils; import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; @@ -63,7 +64,7 @@ public class GlobalExceptionHandler { public String handleNotLoginException(SseException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); - return e.getMessage(); + return JsonUtils.toJsonString(R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源")); } /** From 88ee252fce5e1709df2b0c135723d5965a249090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 18:09:03 +0800 Subject: [PATCH 06/28] update springboot 3.2.9 => 3.2.10 --- pom.xml | 19 +------------------ ruoyi-common/ruoyi-common-web/pom.xml | 13 ------------- 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/pom.xml b/pom.xml index 18f5ba399..084758c05 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 5.2.2 - 3.2.9 + 3.2.10 UTF-8 UTF-8 17 @@ -39,7 +39,6 @@ 1.16.6 2.7.0 - 2.3.15.Final 2.25.15 @@ -311,22 +310,6 @@ ${ip2region.version} - - io.undertow - undertow-core - ${undertow.version} - - - io.undertow - undertow-servlet - ${undertow.version} - - - io.undertow - undertow-websockets-jsr - ${undertow.version} - - commons-io commons-io diff --git a/ruoyi-common/ruoyi-common-web/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml index 5e366bc3b..b250fa9d0 100644 --- a/ruoyi-common/ruoyi-common-web/pom.xml +++ b/ruoyi-common/ruoyi-common-web/pom.xml @@ -43,19 +43,6 @@ spring-boot-starter-undertow - - io.undertow - undertow-core - - - io.undertow - undertow-servlet - - - io.undertow - undertow-websockets-jsr - - org.springframework.boot spring-boot-starter-actuator From 6b05ddb576d21884c89214f3910f6f8405779105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 19 Sep 2024 23:13:00 +0800 Subject: [PATCH 07/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20redis?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=20=E5=A6=82=E6=9E=9C=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=BF=BD=E7=95=A5=E7=A7=9F=E6=88=B7id=E5=88=99=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/common/redis/utils/RedisUtils.java | 4 ++-- .../common/tenant/handle/TenantKeyPrefixHandler.java | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) 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 67be2fb76..6fa3b7485 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 @@ -517,7 +517,7 @@ public class RedisUtils { } /** - * 获得缓存的基本对象列表 + * 获得缓存的基本对象列表(全局匹配忽略租户 自行拼接租户id) * * @param pattern 字符串前缀 * @return 对象列表 @@ -528,7 +528,7 @@ public class RedisUtils { } /** - * 删除缓存的基本对象列表 + * 删除缓存的基本对象列表(全局匹配忽略租户 自行拼接租户id) * * @param pattern 字符串前缀 */ 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 947539863..65f523395 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 @@ -35,7 +35,8 @@ public class TenantKeyPrefixHandler extends KeyPrefixHandler { } String tenantId = TenantHelper.getTenantId(); if (StringUtils.isBlank(tenantId)) { - log.error("无法获取有效的租户id -> Null"); + log.debug("无法获取有效的租户id -> Null"); + return super.map(name); } if (StringUtils.startsWith(name, tenantId + "")) { // 如果存在则直接返回 @@ -61,7 +62,8 @@ public class TenantKeyPrefixHandler extends KeyPrefixHandler { } String tenantId = TenantHelper.getTenantId(); if (StringUtils.isBlank(tenantId)) { - log.error("无法获取有效的租户id -> Null"); + log.debug("无法获取有效的租户id -> Null"); + return super.unmap(name); } if (StringUtils.startsWith(unmap, tenantId + "")) { // 如果存在则删除 From 64289c16f308d664107da850cf2d4c36c3927f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 20 Sep 2024 15:43:56 +0800 Subject: [PATCH 08/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E9=80=82?= =?UTF-8?q?=E9=85=8Dmp=E6=96=B0=E7=89=88=E6=9C=AC=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=90=8D=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/mybatis/core/mapper/BaseMapperPlus.java | 8 ++++---- .../main/java/org/dromara/demo/mapper/TestDemoMapper.java | 2 +- .../dromara/demo/service/impl/TestDemoServiceImpl.java | 2 +- .../dromara/system/service/impl/SysOssServiceImpl.java | 2 +- .../workflow/service/impl/WfFormManageServiceImpl.java | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) 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 a8a1e8667..24557edb6 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 @@ -155,8 +155,8 @@ public interface BaseMapperPlus extends BaseMapper { * @param idList 主键ID集合 * @return 查询到的VO对象列表 */ - default List selectVoBatchIds(Collection idList) { - return selectVoBatchIds(idList, this.currentVoClass()); + default List selectVoByIds(Collection idList) { + return selectVoByIds(idList, this.currentVoClass()); } /** @@ -167,8 +167,8 @@ public interface BaseMapperPlus extends BaseMapper { * @param VO类的类型 * @return 查询到的VO对象列表,经过转换为指定的VO类后返回 */ - default List selectVoBatchIds(Collection idList, Class voClass) { - List list = this.selectBatchIds(idList); + default List selectVoByIds(Collection idList, Class voClass) { + List list = this.selectByIds(idList); if (CollUtil.isEmpty(list)) { return CollUtil.newArrayList(); } diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java index 6aeeb5062..57efdc7da 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java @@ -48,7 +48,7 @@ public interface TestDemoMapper extends BaseMapperPlus { @DataColumn(key = "deptName", value = "dept_id"), @DataColumn(key = "userName", value = "user_id") }, joinStr = "AND") - List selectBatchIds(@Param(Constants.COLL) Collection idList); + List selectByIds(@Param(Constants.COLL) Collection idList); @Override @DataPermission({ diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java index 3cfde3a2d..ced141ef6 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java @@ -101,7 +101,7 @@ public class TestDemoServiceImpl implements ITestDemoService { public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if (isValid) { // 做一些业务上的校验,判断是否需要校验 - List list = baseMapper.selectBatchIds(ids); + List list = baseMapper.selectByIds(ids); if (list.size() != ids.size()) { throw new ServiceException("您没有删除权限!"); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java index ba7c179c0..f58f06166 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java @@ -244,7 +244,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService { if (isValid) { // 做一些业务上的校验,判断是否需要校验 } - List list = baseMapper.selectBatchIds(ids); + List list = baseMapper.selectByIds(ids); for (SysOss sysOss : list) { OssClient storage = OssFactory.instance(sysOss.getService()); storage.delete(sysOss.getUrl()); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java index da2e777d0..55e491178 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java @@ -41,7 +41,7 @@ public class WfFormManageServiceImpl implements IWfFormManageService { @Override public List queryByIds(List ids) { - return baseMapper.selectVoBatchIds(ids); + return baseMapper.selectVoByIds(ids); } /** From e3a25f24257770daa767ad7a8c74c8756997777a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 24 Sep 2024 18:17:49 +0800 Subject: [PATCH 09/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E5=99=A8=20postgres=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E4=B8=BB=E9=94=AE=E7=B1=BB=E5=9E=8B=E6=98=A0?= =?UTF-8?q?=E5=B0=84=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/dromara/generator/constant/GenConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java index c345f2206..8986d3821 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java @@ -61,7 +61,7 @@ public interface GenConstants { /** * 数据库数字类型 */ - String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "number", "integer", + String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "int2", "int4", "int8", "number", "integer", "bit", "bigint", "float", "double", "decimal", "numeric", "real", "double precision", "smallserial", "serial", "bigserial", "money", "smallmoney"}; From 46141dc1144928a595e3270a1ec6cf3b9703cc02 Mon Sep 17 00:00:00 2001 From: Zyyi <37397058+LionZzzi@users.noreply.github.com> Date: Wed, 25 Sep 2024 10:00:33 +0800 Subject: [PATCH 10/28] =?UTF-8?q?fix(postgres=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=84=9A=E6=9C=AC):=20=E5=8F=98=E6=9B=B4=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9B=AE=E5=BD=95=E7=9A=84=E4=B8=BB=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=B8=BA=E7=A7=9F=E6=88=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/sql/postgres/postgres_ry_vue_5.X.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/sql/postgres/postgres_ry_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql index 995d7382c..fabea6048 100644 --- a/script/sql/postgres/postgres_ry_vue_5.X.sql +++ b/script/sql/postgres/postgres_ry_vue_5.X.sql @@ -427,7 +427,7 @@ comment on column sys_menu.remark is '备注'; -- ---------------------------- -- 一级菜单 insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '1', '0', 'M', '0', '0', '', 'system', 103, 1, now(), null, null, '系统管理目录'); -insert into sys_menu values('6', '系统管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 103, 1, now(), null, null, '租户管理目录'); +insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 103, 1, now(), null, null, '租户管理目录'); insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, now(), null, null, '系统监控目录'); insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', '1', '0', 'M', '0', '0', '', 'tool', 103, 1, now(), null, null, '系统工具目录'); insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Vue-Plus', null, '', '0', '0', 'M', '0', '0', '', 'guide', 103, 1, now(), null, null, 'RuoYi-Vue-Plus官网地址'); From e96118c57448a29addd8294969866a8abcf5efdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Sun, 29 Sep 2024 17:41:16 +0800 Subject: [PATCH 11/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E9=83=A8?= =?UTF-8?q?=E5=88=86web=E5=BC=82=E5=B8=B8=E8=A2=ABCryptoFilter=E6=88=AA?= =?UTF-8?q?=E8=83=A1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/common/encrypt/filter/CryptoFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java index 98351321d..79d58daf1 100644 --- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java +++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java @@ -99,7 +99,7 @@ public class CryptoFilter implements Filter { } } } catch (Exception e) { - throw new RuntimeException(e); + return null; } return null; } From 88dd4165cbf5eb7fe671e236d96f970c0f1b6e94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Sun, 29 Sep 2024 17:41:36 +0800 Subject: [PATCH 12/28] update sms4j 3.3.2 => 3.3.3 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 084758c05..32bfcb05c 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ 2.25.15 0.29.13 - 3.3.2 + 3.3.3 1.2.83 From 7e6d0a5c64d57f611bd909114ac4abbdf34bf836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 30 Sep 2024 17:56:04 +0800 Subject: [PATCH 13/28] update anyline 20240808 => 20240930 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 32bfcb05c..dbfbf03fe 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ 3.2.10 UTF-8 UTF-8 - 17 + 21 3.5.16 2.6.0 0.15.0 @@ -48,7 +48,7 @@ 1.2.83 - 8.7.2-20240808 + 8.7.2-20240930 7.0.1 From eb4479e940e5dbcb598b57d9be5397c4abf8f5b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 1 Oct 2024 10:52:07 +0800 Subject: [PATCH 14/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=AD=97=E5=85=B8=E5=AD=98=E5=82=A8=E6=98=AF=E6=9C=AA?= =?UTF-8?q?=E5=BF=BD=E7=95=A5=E7=A7=9F=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/SysTenantServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java index 7d6ca5b3e..2f860620b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java @@ -444,12 +444,14 @@ public class SysTenantServiceImpl implements ISysTenantService { } } } - if (CollUtil.isNotEmpty(saveTypeList)) { - dictTypeMapper.insertBatch(saveTypeList); - } - if (CollUtil.isNotEmpty(saveDataList)) { - dictDataMapper.insertBatch(saveDataList); - } + TenantHelper.ignore(() -> { + if (CollUtil.isNotEmpty(saveTypeList)) { + dictTypeMapper.insertBatch(saveTypeList); + } + if (CollUtil.isNotEmpty(saveDataList)) { + dictDataMapper.insertBatch(saveDataList); + } + }); for (String tenantId : set) { TenantHelper.dynamic(tenantId, () -> CacheUtils.clear(CacheNames.SYS_DICT)); } From e3d40b75cb9cd3ec92203b59e88d6088eb44c476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 8 Oct 2024 14:43:49 +0800 Subject: [PATCH 15/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=94=A8=E6=88=B7=E4=B8=8D=E5=90=8Ctoken?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E4=B8=8D=E5=90=8C=E6=9C=8D=E5=8A=A1=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=8F=91=E9=80=81=E4=B8=8D=E5=88=B0=E9=97=AE=E9=A2=98?= =?UTF-8?q?(=E6=94=B9=E4=B8=BA=E5=85=A8=E5=B1=80=E5=8F=91=E9=80=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/sse/core/SseEmitterManager.java | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java index 1d37a27de..0bfe0ca76 100644 --- a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java +++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java @@ -1,14 +1,11 @@ package org.dromara.common.sse.core; -import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.sse.dto.SseMessageDto; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; @@ -124,25 +121,13 @@ public class SseEmitterManager { * @param sseMessageDto 要发布的SSE消息对象 */ public void publishMessage(SseMessageDto sseMessageDto) { - List unsentUserIds = new ArrayList<>(); - // 当前服务内用户,直接发送消息 - for (Long userId : sseMessageDto.getUserIds()) { - if (USER_TOKEN_EMITTERS.containsKey(userId)) { - sendMessage(userId, sseMessageDto.getMessage()); - continue; - } - unsentUserIds.add(userId); - } - // 不在当前服务内用户,发布订阅消息 - if (CollUtil.isNotEmpty(unsentUserIds)) { - SseMessageDto broadcastMessage = new SseMessageDto(); - broadcastMessage.setMessage(sseMessageDto.getMessage()); - broadcastMessage.setUserIds(unsentUserIds); - RedisUtils.publish(SSE_TOPIC, broadcastMessage, consumer -> { - log.info("SSE发送主题订阅消息topic:{} session keys:{} message:{}", - SSE_TOPIC, unsentUserIds, sseMessageDto.getMessage()); - }); - } + SseMessageDto broadcastMessage = new SseMessageDto(); + broadcastMessage.setMessage(sseMessageDto.getMessage()); + broadcastMessage.setUserIds(sseMessageDto.getUserIds()); + RedisUtils.publish(SSE_TOPIC, broadcastMessage, consumer -> { + log.info("SSE发送主题订阅消息topic:{} session keys:{} message:{}", + SSE_TOPIC, sseMessageDto.getUserIds(), sseMessageDto.getMessage()); + }); } /** From d60774a7b8c0be331e30f7c26de5c0b3767581f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 8 Oct 2024 16:10:27 +0800 Subject: [PATCH 16/28] =?UTF-8?q?reset=20=E5=9B=9E=E6=BB=9A=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dbfbf03fe..970b89e3a 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ 3.2.10 UTF-8 UTF-8 - 21 + 17 3.5.16 2.6.0 0.15.0 From e0a00cfe987618cf4fbdb1d8a67cdedd43e7f25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 8 Oct 2024 16:30:04 +0800 Subject: [PATCH 17/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=20@Override=20=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/common/redis/manager/CaffeineCacheDecorator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java index 793e21f5c..6e83df13a 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java @@ -44,6 +44,7 @@ public class CaffeineCacheDecorator implements Cache { } @SuppressWarnings("unchecked") + @Override public T get(Object key, Class type) { Object o = CAFFEINE.get(getUniqueKey(key), k -> cache.get(key, type)); return (T) o; @@ -55,6 +56,7 @@ public class CaffeineCacheDecorator implements Cache { cache.put(key, value); } + @Override public ValueWrapper putIfAbsent(Object key, Object value) { CAFFEINE.invalidate(getUniqueKey(key)); return cache.putIfAbsent(key, value); @@ -65,6 +67,7 @@ public class CaffeineCacheDecorator implements Cache { evictIfPresent(key); } + @Override public boolean evictIfPresent(Object key) { boolean b = cache.evictIfPresent(key); if (b) { @@ -78,6 +81,7 @@ public class CaffeineCacheDecorator implements Cache { cache.clear(); } + @Override public boolean invalidate() { return cache.invalidate(); } From 556cf87f0ef2ddb65e92b4a446c624740ed04ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Sat, 12 Oct 2024 16:23:17 +0800 Subject: [PATCH 18/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=20pg=20=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/generator/constant/GenConstants.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java index 8986d3821..b9888fb63 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java @@ -56,13 +56,13 @@ public interface GenConstants { * 数据库时间类型 */ String[] COLUMNTYPE_TIME = {"datetime", "time", "date", "timestamp", "year", "interval", - "smalldatetime", "datetime2", "datetimeoffset"}; + "smalldatetime", "datetime2", "datetimeoffset", "timestamptz"}; /** * 数据库数字类型 */ String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "int2", "int4", "int8", "number", "integer", - "bit", "bigint", "float", "double", "decimal", "numeric", "real", "double precision", + "bit", "bigint", "float", "float4", "float8", "double", "decimal", "numeric", "real", "double precision", "smallserial", "serial", "bigserial", "money", "smallmoney"}; /** From c563afed59b0313ce5509f94e8b1f0243e96f8df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 14 Oct 2024 00:37:57 +0800 Subject: [PATCH 19/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20EncryptorManag?= =?UTF-8?q?er=20=E7=BC=93=E5=AD=98=E5=A4=B1=E6=95=88=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E5=86=85=E5=AD=98=E8=86=A8=E8=83=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/encrypt/core/EncryptorManager.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java index a6d3cf9ce..2d795e074 100644 --- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java +++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java @@ -17,7 +17,10 @@ import org.springframework.core.type.classreading.CachingMetadataReaderFactory; import org.springframework.util.ClassUtils; import java.lang.reflect.Field; -import java.util.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @@ -34,7 +37,7 @@ public class EncryptorManager { /** * 缓存加密器 */ - Map encryptorMap = new ConcurrentHashMap<>(); + Map encryptorMap = new ConcurrentHashMap<>(); /** * 类加密字段缓存 @@ -67,11 +70,12 @@ public class EncryptorManager { * @param encryptContext 加密执行者需要的相关配置参数 */ public IEncryptor registAndGetEncryptor(EncryptContext encryptContext) { - if (encryptorMap.containsKey(encryptContext)) { - return encryptorMap.get(encryptContext); + int key = encryptContext.hashCode(); + if (encryptorMap.containsKey(key)) { + return encryptorMap.get(key); } IEncryptor encryptor = ReflectUtil.newInstance(encryptContext.getAlgorithm().getClazz(), encryptContext); - encryptorMap.put(encryptContext, encryptor); + encryptorMap.put(key, encryptor); return encryptor; } @@ -81,7 +85,7 @@ public class EncryptorManager { * @param encryptContext 加密执行者需要的相关配置参数 */ public void removeEncryptor(EncryptContext encryptContext) { - this.encryptorMap.remove(encryptContext); + this.encryptorMap.remove(encryptContext.hashCode()); } /** From 57e142e160dfa363c72d94bfcf4f7d6544804170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 15 Oct 2024 17:35:41 +0800 Subject: [PATCH 20/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=89=B9?= =?UTF-8?q?=E6=80=A7=E6=83=85=E5=86=B5=E4=B8=8B=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E5=99=A8?= =?UTF-8?q?=E6=8A=A5null=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/web/handler/GlobalExceptionHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java index 42c6087ad..321c22615 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java @@ -176,7 +176,7 @@ public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public R handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { log.error(e.getMessage()); - String message = e.getBindingResult().getFieldError().getDefaultMessage(); + String message = StreamUtils.join(e.getBindingResult().getAllErrors(), DefaultMessageSourceResolvable::getDefaultMessage, ", "); return R.fail(message); } From dc5c92ee2d2bf4b4e938a2c0f09541d9caa019fe Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 16 Oct 2024 10:33:11 +0800 Subject: [PATCH 21/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BA=91=E5=8E=82=E5=95=86=E8=A6=81=E6=B1=82=E6=98=8E?= =?UTF-8?q?=E7=A1=AE=E9=85=8D=E7=BD=AE=E8=AE=BF=E9=97=AE=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=EF=BC=88=E8=B7=AF=E5=BE=84=E6=A0=B7=E5=BC=8F=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dromara/common/oss/core/OssClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 bde26ae1c..12e49f359 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 @@ -83,8 +83,8 @@ public class OssClient { StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create( AwsBasicCredentials.create(properties.getAccessKey(), properties.getSecretKey())); - //MinIO 使用 HTTPS 限制使用域名访问,站点填域名。需要启用路径样式访问 - boolean isStyle = !StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE); + //使用对象存储服务时要求明确配置访问样式(路径样式或虚拟托管样式)。需要启用路径样式访问 + boolean isStyle = true; //创建AWS基于 CRT 的 S3 客户端 this.client = S3AsyncClient.crtBuilder() From 517277132e89b36da2fe73c850cea0680eb918b7 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 16 Oct 2024 10:36:43 +0800 Subject: [PATCH 22/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=E8=85=BE?= =?UTF-8?q?=E8=AE=AF=E4=BA=91oss=E4=B8=8D=E6=94=AF=E6=8C=81=E9=AB=98?= =?UTF-8?q?=E5=8D=B1=E6=9D=83=E9=99=90=E8=AE=BE=E7=BD=AEACL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dromara/common/oss/core/OssClient.java | 2 -- 1 file changed, 2 deletions(-) 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 12e49f359..62493f36e 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 @@ -178,7 +178,6 @@ public class OssClient { .key(key) .contentMD5(StringUtils.isNotEmpty(md5Digest) ? md5Digest : null) .contentType(contentType) - .acl(getAccessPolicy().getObjectCannedACL()) .build()) .addTransferListener(LoggingTransferListener.create()) .source(filePath).build()); @@ -224,7 +223,6 @@ public class OssClient { y -> y.bucket(properties.getBucketName()) .key(key) .contentType(contentType) - .acl(getAccessPolicy().getObjectCannedACL()) .build()) .build()); From 01025c40243747a5e0538a140dd9ead5d1e7671e Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 16 Oct 2024 10:39:58 +0800 Subject: [PATCH 23/28] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0AWS=20SDK?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 970b89e3a..4b9860aaa 100644 --- a/pom.xml +++ b/pom.xml @@ -41,8 +41,8 @@ 2.7.0 - 2.25.15 - 0.29.13 + 2.28.22 + 0.31.3 3.3.3 From 81006c758a3cc433dd2558c275b16c3f356dc659 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 16 Oct 2024 10:47:26 +0800 Subject: [PATCH 24/28] =?UTF-8?q?docs=20=E8=87=AA=E8=A1=8C=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E4=BA=91=E5=AD=98=E5=82=A8=E8=AE=BF=E9=97=AE=E6=8E=A7?= =?UTF-8?q?=E5=88=B6ACl=E7=AD=96=E7=95=A5=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/dromara/common/oss/core/OssClient.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 62493f36e..aff5490f0 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 @@ -178,6 +178,9 @@ public class OssClient { .key(key) .contentMD5(StringUtils.isNotEmpty(md5Digest) ? md5Digest : null) .contentType(contentType) + // 用于设置对象的访问控制列表(ACL)。不同云厂商对ACL的支持和实现方式有所不同, + // 因此根据具体的云服务提供商,你可能需要进行不同的配置(自行开启,阿里云有acl权限配置,腾讯云没有acl权限配置) + //.acl(getAccessPolicy().getObjectCannedACL()) .build()) .addTransferListener(LoggingTransferListener.create()) .source(filePath).build()); @@ -223,6 +226,9 @@ public class OssClient { y -> y.bucket(properties.getBucketName()) .key(key) .contentType(contentType) + // 用于设置对象的访问控制列表(ACL)。不同云厂商对ACL的支持和实现方式有所不同, + // 因此根据具体的云服务提供商,你可能需要进行不同的配置(自行开启,阿里云有acl权限配置,腾讯云没有acl权限配置) + //.acl(getAccessPolicy().getObjectCannedACL()) .build()) .build()); From 6727f3e6a41aad84235a705b224ed025e7570d7e Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 16 Oct 2024 15:28:38 +0800 Subject: [PATCH 25/28] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8Doss=E4=B8=8A?= =?UTF-8?q?=E4=BC=A010=E7=A7=92=E8=B6=85=E6=97=B6=EF=BC=8C=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=BB=98=E8=AE=A4=E6=97=B6=E9=97=B4=E4=B8=80=E5=88=86?= =?UTF-8?q?=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/common/oss/core/OssClient.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 aff5490f0..900536b56 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 @@ -15,12 +15,12 @@ import org.dromara.common.oss.properties.OssProperties; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.ResponseInputStream; -import software.amazon.awssdk.core.async.AsyncRequestBody; import software.amazon.awssdk.core.async.AsyncResponseTransformer; import software.amazon.awssdk.core.async.BlockingInputStreamAsyncRequestBody; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3Configuration; +import software.amazon.awssdk.services.s3.crt.S3CrtHttpConfiguration; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.services.s3.model.NoSuchBucketException; import software.amazon.awssdk.services.s3.model.S3Exception; @@ -95,6 +95,9 @@ public class OssClient { .minimumPartSizeInBytes(10 * 1025 * 1024L) .checksumValidationEnabled(false) .forcePathStyle(isStyle) + .httpConfiguration(S3CrtHttpConfiguration.builder() + .connectionTimeout(Duration.ofSeconds(60)) // 设置连接超时 + .build()) .build(); //AWS基于 CRT 的 S3 AsyncClient 实例用作 S3 传输管理器的底层客户端 @@ -217,7 +220,10 @@ public class OssClient { } try { // 创建异步请求体(length如果为空会报错) - BlockingInputStreamAsyncRequestBody body = AsyncRequestBody.forBlockingInputStream(length); + BlockingInputStreamAsyncRequestBody body = BlockingInputStreamAsyncRequestBody.builder() + .contentLength(length) + .subscribeTimeout(Duration.ofSeconds(30)) + .build(); // 使用 transferManager 进行上传 Upload upload = transferManager.upload( From 7171ed150861c30dd1daf6a6a8cba34d68d40868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 17 Oct 2024 17:24:54 +0800 Subject: [PATCH 26/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20snailjob?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AFip=E9=85=8D=E7=BD=AE=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application-dev.yml | 2 ++ ruoyi-admin/src/main/resources/application-prod.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index f12202050..4410ab59f 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -25,6 +25,8 @@ snail-job: namespace: ${spring.profiles.active} # 随主应用端口飘逸 port: 2${server.port} + # 客户端ip指定 + host: --- # 数据源配置 spring: diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 192eb7ed6..d26111828 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -28,6 +28,8 @@ snail-job: namespace: ${spring.profiles.active} # 随主应用端口飘逸 port: 2${server.port} + # 客户端ip指定 + host: --- # 数据源配置 spring: From 51cfbef8876fa0945923836fbddc2d5a29a32f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 17 Oct 2024 17:34:33 +0800 Subject: [PATCH 27/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95DELETE=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dromara/common/log/aspect/LogAspect.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 cdbd00f09..4c6c1a4d6 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 @@ -159,8 +159,7 @@ public class LogAspect { private void setRequestValue(JoinPoint joinPoint, OperLogEvent operLog, String[] excludeParamNames) throws Exception { Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); String requestMethod = operLog.getRequestMethod(); - if (MapUtil.isEmpty(paramsMap) - && HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) { + if (MapUtil.isEmpty(paramsMap) && StringUtils.equalsAny(requestMethod, HttpMethod.PUT.name(), HttpMethod.POST.name(), HttpMethod.DELETE.name())) { String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); operLog.setOperParam(StringUtils.substring(params, 0, 2000)); } else { From abfa995a320ba69faf35fb84535e913cef4a13b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 17 Oct 2024 18:12:26 +0800 Subject: [PATCH 28/28] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8=E5=85=BC=E5=AE=B9=E6=89=80=E6=9C=89demo?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TestLeaveServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index a62ce5f4c..f81c85f7c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -142,11 +142,16 @@ public class TestLeaveServiceImpl implements ITestLeaveService { * * @param processTaskEvent 参数 */ - @EventListener(condition = "#processTaskEvent.key=='leave1' && #processTaskEvent.taskDefinitionKey=='Activity_14633hx'") + @EventListener(condition = "#processTaskEvent.key.startsWith('leave')") public void processTaskHandler(ProcessTaskEvent processTaskEvent) { - log.info("当前任务执行了{}", processTaskEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey())); - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - baseMapper.updateById(testLeave); + // 所有demo案例的申请人节点id + String[] ids = {"Activity_14633hx", "Activity_19b1i4j", "Activity_0uscrk3", + "Activity_0uscrk3", "Activity_0x6b71j", "Activity_0zy3g6j", "Activity_06a55t0"}; + if (StringUtils.equalsAny(processTaskEvent.getTaskDefinitionKey(), ids)) { + log.info("当前任务执行了{}", processTaskEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey())); + testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); + baseMapper.updateById(testLeave); + } } }