diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java index 98e4209ba..81a172c82 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java @@ -12,6 +12,7 @@ import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.job.service.JobService; import org.flowable.job.service.impl.persistence.entity.JobEntity; +import org.flowable.task.api.TaskQuery; import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,10 +48,12 @@ public class CustomActivityTriggerAsyncCmd extends AbstractCommand imple public String execute(CommandContext commandContext) { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); - TaskEntity task = (TaskEntity) processEngineConfiguration.getTaskService().createTaskQuery() - .executionId(dto.getTriggerId()) - .taskDefinitionKey(StringUtils.isBlank(dto.getActivityId()) ? null : dto.getActivityId()) - .singleResult(); + TaskQuery taskQuery = processEngineConfiguration.getTaskService().createTaskQuery() + .executionId(dto.getTriggerId()); + if (StringUtils.isNotBlank(dto.getActivityId())) { + taskQuery.taskDefinitionKey(dto.getActivityId()); + } + TaskEntity task = (TaskEntity) taskQuery.singleResult(); if (Objects.isNull(task)) { throw new WorkflowEngineException(ACTIVITY_TRIGGER_NOT_EXISTS, dto.getTriggerId()); } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessActivityController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessActivityController.java index f95ed8e24..bdc654c12 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessActivityController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessActivityController.java @@ -1,12 +1,12 @@ package cn.axzo.workflow.server.controller.web.bpmn; import cn.axzo.workflow.client.feign.bpmn.ProcessActivityApi; +import cn.axzo.workflow.common.exception.WorkflowEngineException; import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; -import cn.axzo.workflow.common.exception.WorkflowEngineException; import cn.axzo.workflow.core.service.BpmnProcessActivityService; import cn.axzo.workflow.server.common.annotation.ErrorReporter; import cn.axzo.workflow.server.common.annotation.RepeatSubmit; @@ -24,10 +24,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.List; +import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_SERVER_NAME; import static cn.axzo.workflow.common.code.BpmnTaskRespCode.ACTIVITY_BIZ_SET_ASSIGNEE_HAS_REPEAT; import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.removeDuplicateByPersonId; import static cn.azxo.framework.common.model.CommonResponse.success; @@ -44,7 +46,8 @@ import static cn.azxo.framework.common.model.CommonResponse.success; @ErrorReporter @Validated public class BpmnProcessActivityController extends BasicPopulateAvatarController implements ProcessActivityApi { - + @Resource + private HttpServletRequest request; @Resource private BpmnProcessActivityService bpmnProcessActivityService; @@ -61,7 +64,9 @@ public class BpmnProcessActivityController extends BasicPopulateAvatarController @RepeatSubmit @Deprecated public CommonResponse trigger(@NotBlank(message = "触发 ID 不能为空") @RequestParam String triggerId) { - log.info("业务节点唤醒 trigger2 ===>>>参数:{}", triggerId); + String header = request.getHeader(HEADER_SERVER_NAME); + String remoteAddr = request.getRemoteAddr(); + log.info("业务节点唤醒 trigger2 ===>>>参数:{}, 请求来自微服务:{}, ip: {}", triggerId, header, remoteAddr); return trigger(new BpmnActivityTriggerDTO(triggerId, true, null)); } @@ -76,7 +81,9 @@ public class BpmnProcessActivityController extends BasicPopulateAvatarController @Override @RepeatSubmit public CommonResponse trigger(@Validated @RequestBody BpmnActivityTriggerDTO dto) { - log.info("业务节点唤醒 trigger ===>>>参数:{}", JSON.toJSONString(dto)); + String header = request.getHeader(HEADER_SERVER_NAME); + String remoteAddr = request.getRemoteAddr(); + log.info("业务节点唤醒 trigger ===>>>参数:{}, 请求来自微服务: {}, ip: {}", JSON.toJSONString(dto), header, remoteAddr); bpmnProcessActivityService.trigger(dto); return success(true); }