From 694a95d267ceb756c8f78f7a0de83f5e601a1927 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Thu, 15 Aug 2024 11:57:49 +0800 Subject: [PATCH] =?UTF-8?q?hotfix-=E5=A4=84=E7=90=86=E5=BC=95=E6=93=8E?= =?UTF-8?q?=E5=86=85=E9=83=A8=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=8C=85=E8=A3=85?= =?UTF-8?q?=E6=88=90=E8=87=AA=E5=AE=9A=E4=B9=89Exception=E6=8A=9B=E5=87=BA?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/code/BpmnInstanceRespCode.java | 1 + .../core/engine/cmd/AbstractCommand.java | 19 +++++++++++++++++++ .../engine/cmd/CustomApproveTaskAsyncCmd.java | 2 +- .../cmd/CustomRejectionTaskAsyncCmd.java | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnInstanceRespCode.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnInstanceRespCode.java index 471cd0e27..281569769 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnInstanceRespCode.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnInstanceRespCode.java @@ -26,6 +26,7 @@ public enum BpmnInstanceRespCode implements IModuleRespCode { PROCESS_INSTANCE_CANT_START("011", "流程实例不能启动"), TASK_CANT_COMMENT_INSTANCE_NOT_EXISTS("012", "流程实例【{}】不存在, 不能评论"), RUNNING_INSTANCE_ONLY_FORECAST("013", "仅运行中的实例可以推测"), + ENGINE_EXEC_EXCEPTION("014", "引擎内部异常"), ; private final String code; private final String message; diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/AbstractCommand.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/AbstractCommand.java index 491c72cb8..3406671d5 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/AbstractCommand.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/AbstractCommand.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.core.engine.cmd; +import cn.axzo.workflow.core.common.exception.WorkflowEngineException; import org.flowable.common.engine.impl.interceptor.Command; +import org.flowable.common.engine.impl.interceptor.CommandContext; + +import static cn.axzo.workflow.core.common.code.BpmnInstanceRespCode.ENGINE_EXEC_EXCEPTION; /** * TODO @@ -12,4 +16,19 @@ import org.flowable.common.engine.impl.interceptor.Command; public abstract class AbstractCommand implements Command { public abstract String paramToJsonString(); + + @Override + public T execute(CommandContext commandContext) { + try { + return executeInternal(commandContext); + } catch (WorkflowEngineException e) { + throw e; + } catch (Exception e) { + throw new WorkflowEngineException(ENGINE_EXEC_EXCEPTION); + } + } + + public T executeInternal(CommandContext commandContext) { + return null; + } } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskAsyncCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskAsyncCmd.java index 50a9591b5..f7bccb3ab 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskAsyncCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskAsyncCmd.java @@ -43,7 +43,7 @@ public class CustomApproveTaskAsyncCmd extends AbstractCommand implement } @Override - public String execute(CommandContext commandContext) { + public String executeInternal(CommandContext commandContext) { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); HistoricTaskInstanceQuery taskQuery = diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomRejectionTaskAsyncCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomRejectionTaskAsyncCmd.java index 9b0f03fef..090886159 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomRejectionTaskAsyncCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomRejectionTaskAsyncCmd.java @@ -38,7 +38,7 @@ public class CustomRejectionTaskAsyncCmd extends AbstractCommand impleme } @Override - public String execute(CommandContext commandContext) { + public String executeInternal(CommandContext commandContext) { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); HistoricTaskInstanceQuery taskQuery =