From f1f6e04a679d2d8118e2a77341ed720da2133701 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, 19 Feb 2025 15:09:33 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E7=9B=91=E5=90=AC=E5=99=A8=E6=B6=88=E8=B4=B9?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=8A=A8=E6=80=81=E5=88=87=E6=8D=A2=E7=A7=9F?= =?UTF-8?q?=E6=88=B7(mq=E6=8A=95=E9=80=92=E7=A7=9F=E6=88=B7=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TestLeaveServiceImpl.java | 61 +++++++++++-------- 1 file changed, 34 insertions(+), 27 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 5e6521cf..858f7c2c 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 @@ -15,6 +15,7 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.workflow.api.event.ProcessCreateTaskEvent; import org.dromara.workflow.api.event.ProcessDeleteEvent; import org.dromara.workflow.api.event.ProcessEvent; @@ -131,23 +132,25 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @EventListener(condition = "#processEvent.flowCode.startsWith('leave')") public void processHandler(ProcessEvent processEvent) { - log.info("当前任务执行了{}", processEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessId())); - testLeave.setStatus(processEvent.getStatus()); - // 用于例如审批附件 审批意见等 存储到业务表内 自行根据业务实现存储流程 - Map params = processEvent.getParams(); - if (MapUtil.isNotEmpty(params)) { - // 历史任务扩展(通常为附件) - String hisTaskExt = Convert.toStr(params.get("hisTaskExt")); - // 办理人 - String handler = Convert.toStr(params.get("handler")); - // 办理意见 - String message = Convert.toStr(params.get("message")); - } - if (processEvent.isSubmit()) { - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - } - baseMapper.updateById(testLeave); + TenantHelper.dynamic(processEvent.getTenantId(), () -> { + log.info("当前任务执行了{}", processEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessId())); + testLeave.setStatus(processEvent.getStatus()); + // 用于例如审批附件 审批意见等 存储到业务表内 自行根据业务实现存储流程 + Map params = processEvent.getParams(); + if (MapUtil.isNotEmpty(params)) { + // 历史任务扩展(通常为附件) + String hisTaskExt = Convert.toStr(params.get("hisTaskExt")); + // 办理人 + String handler = Convert.toStr(params.get("handler")); + // 办理意见 + String message = Convert.toStr(params.get("message")); + } + if (processEvent.isSubmit()) { + testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); + } + baseMapper.updateById(testLeave); + }); } /** @@ -162,10 +165,12 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @EventListener(condition = "#processCreateTaskEvent.flowCode.startsWith('leave')") public void processCreateTaskHandler(ProcessCreateTaskEvent processCreateTaskEvent) { - log.info("当前任务创建了{}", processCreateTaskEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processCreateTaskEvent.getBusinessId())); - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - baseMapper.updateById(testLeave); + TenantHelper.dynamic(processCreateTaskEvent.getTenantId(), () -> { + log.info("当前任务创建了{}", processCreateTaskEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processCreateTaskEvent.getBusinessId())); + testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); + baseMapper.updateById(testLeave); + }); } /** @@ -177,12 +182,14 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @EventListener(condition = "#processDeleteEvent.flowCode.startsWith('leave')") public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) { - log.info("监听删除流程事件,当前任务执行了{}", processDeleteEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processDeleteEvent.getBusinessId())); - if (ObjectUtil.isNull(testLeave)) { - return; - } - baseMapper.deleteById(testLeave.getId()); + TenantHelper.dynamic(processDeleteEvent.getTenantId(), () -> { + log.info("监听删除流程事件,当前任务执行了{}", processDeleteEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processDeleteEvent.getBusinessId())); + if (ObjectUtil.isNull(testLeave)) { + return; + } + baseMapper.deleteById(testLeave.getId()); + }); } }