From 50fa220471111604c18a661405241172f87d1b12 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Thu, 4 Dec 2025 14:54:01 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BB=BB=E5=8A=A1=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0Lock4j=E9=94=81=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/web/handler/GlobalExceptionHandler.java | 1 - .../java/org/dromara/workflow/domain/bo/BackProcessBo.java | 1 - .../org/dromara/workflow/service/impl/FlwTaskServiceImpl.java | 3 +++ 3 files changed, 3 insertions(+), 2 deletions(-) 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 7e615b404..d519b9d55 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 @@ -16,7 +16,6 @@ import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.json.utils.JsonUtils; import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.expression.ExpressionException; -import org.springframework.expression.spel.SpelEvaluationException; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java index 654bf0800..a67a1f78e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java @@ -1,6 +1,5 @@ package org.dromara.workflow.domain.bo; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.dromara.common.core.validate.AddGroup; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 2607dfd21..55d84dfee 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.lock.annotation.Lock4j; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; @@ -102,6 +103,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { */ @Override @Transactional(rollbackFor = Exception.class) + @Lock4j(keys = {"#startProcessBo.flowCode + #startProcessBo.businessId"}) public StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo) { String businessId = startProcessBo.getBusinessId(); if (StringUtils.isBlank(businessId)) { @@ -196,6 +198,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { */ @Override @Transactional(rollbackFor = Exception.class) + @Lock4j(keys = {"#completeTaskBo.taskId"}) public boolean completeTask(CompleteTaskBo completeTaskBo) { // 获取任务ID并查询对应的流程任务和实例信息 Long taskId = completeTaskBo.getTaskId();