diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/process/BpmnProcessInstanceCancelDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/process/BpmnProcessInstanceCancelDTO.java index a029f081d..3397db759 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/process/BpmnProcessInstanceCancelDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/process/BpmnProcessInstanceCancelDTO.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.Valid; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** @@ -21,7 +22,8 @@ public class BpmnProcessInstanceCancelDTO { /** * 流程实例的编号 */ - @ApiModelProperty(value = "流程实例编号", example = "11", notes = "与 businessKey 必须二选一") + @ApiModelProperty(value = "流程实例编号", example = "11") + @NotBlank(message = "流程实例编号不能为空") private String processInstanceId; /** diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/converter/json/ServiceTaskJsonConverter.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/converter/json/ServiceTaskJsonConverter.java index 98ccb2200..7c76c5214 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/converter/json/ServiceTaskJsonConverter.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/converter/json/ServiceTaskJsonConverter.java @@ -23,7 +23,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.ELEMENT_ATTRIBUTE_V import static org.flowable.bpmn.model.ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION; /** - * 服务任务节点 + * 服务任务节点, 目前这个类型主要用来做抄送功能 * * @author wangli * @since 2023/10/17 15:47 @@ -38,8 +38,7 @@ public class ServiceTaskJsonConverter extends AbstractBpmnJsonConverter, Serializab Map variables = new HashMap<>(); variables.put(INTERNAL_END_TENANT_ID, tenantId); - variables.put(INTERNAL_END_USER_ID, "system"); - variables.put(INTERNAL_END_USER_NAME, "系统"); + variables.put(INTERNAL_END_USER_ID, initiator.buildAssigneeId()); + variables.put(INTERNAL_END_USER_NAME, initiator.getAssignerName()); variables.put(INTERNAL_DELETE_PROCESS_FLAG, INTERNAL_PROCESS_TYPE_CANCEL); RuntimeService runtimeService = processEngineConfiguration.getRuntimeService(); runtimeService.setVariables(instance.getId(), variables); diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/listener/EngineNoticeEventListener.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/listener/EngineNoticeEventListener.java index 0fe67c65f..7bd449006 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/listener/EngineNoticeEventListener.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/listener/EngineNoticeEventListener.java @@ -16,6 +16,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import static cn.axzo.workflow.core.engine.event.MessagePushEventType.CARBON_COPY; import static cn.axzo.workflow.core.engine.event.MessagePushEventType.NOTICE; import static cn.axzo.workflow.core.engine.event.MessagePushEventType.PENDING_COMPLETE; import static cn.axzo.workflow.core.engine.event.MessagePushEventType.PENDING_PUSH; @@ -39,6 +40,7 @@ public class EngineNoticeEventListener extends AbstractFlowableEventListener { .add(NOTICE) .add(PENDING_PUSH) .add(PENDING_COMPLETE) + .add(CARBON_COPY) .add(SMS) .build(); @@ -70,6 +72,12 @@ public class EngineNoticeEventListener extends AbstractFlowableEventListener { stopWatch.stop(); log.info("PUSH-PENDING-COMPLETE StopWatch : running time = " + stopWatch.getTotalTimeSeconds() + " 's"); break; + case CARBON_COPY: + stopWatch.start("CARBON-COPY Event Execution Time"); + getOrderedListeners().forEach(i -> i.onCarbonCopy(event)); + stopWatch.stop(); + log.info("CARBON-COPY StopWatch : running time = " + stopWatch.getTotalTimeSeconds() + " 's"); + break; case SMS: stopWatch.start("SMS Event Execution Time"); getOrderedListeners().forEach(i -> i.onSms(event));