Commit 51859afa9ac1ffb3b7b28af37c6b904ac54b3a62

Authored by YunaiV
1 parent 14d8c2bb

fix:【BPM 工作流】SIMPLE 延迟任务时,租户上下文丢失的问题

yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.number.NumberUtils; @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
7 import cn.iocoder.yudao.module.bpm.enums.definition.BpmBoundaryEventTypeEnum; 7 import cn.iocoder.yudao.module.bpm.enums.definition.BpmBoundaryEventTypeEnum;
8 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnModelConstants; 8 import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmnModelConstants;
9 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils; 9 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils;
  10 +import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
10 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService; 11 import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
11 import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService; 12 import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
12 import com.google.common.collect.ImmutableSet; 13 import com.google.common.collect.ImmutableSet;
@@ -58,17 +59,20 @@ public class BpmTaskEventListener extends AbstractFlowableEngineEventListener { @@ -58,17 +59,20 @@ public class BpmTaskEventListener extends AbstractFlowableEngineEventListener {
58 59
59 @Override 60 @Override
60 protected void taskCreated(FlowableEngineEntityEvent event) { 61 protected void taskCreated(FlowableEngineEntityEvent event) {
61 - taskService.processTaskCreated((Task) event.getEntity()); 62 + Task entity = (Task) event.getEntity();
  63 + FlowableUtils.execute(entity.getTenantId(), () -> taskService.processTaskCreated(entity));
62 } 64 }
63 65
64 @Override 66 @Override
65 protected void taskAssigned(FlowableEngineEntityEvent event) { 67 protected void taskAssigned(FlowableEngineEntityEvent event) {
66 - taskService.processTaskAssigned((Task) event.getEntity()); 68 + Task entity = (Task) event.getEntity();
  69 + FlowableUtils.execute(entity.getTenantId(), () -> taskService.processTaskAssigned(entity));
67 } 70 }
68 71
69 @Override 72 @Override
70 protected void taskCompleted(FlowableEngineEntityEvent event) { 73 protected void taskCompleted(FlowableEngineEntityEvent event) {
71 - taskService.processTaskCompleted((Task) event.getEntity()); 74 + Task entity = (Task) event.getEntity();
  75 + FlowableUtils.execute(entity.getTenantId(), () -> taskService.processTaskCompleted(entity));
72 } 76 }
73 77
74 @Override 78 @Override