From f08f1828c548f49ebc1660841a27191460779d38 Mon Sep 17 00:00:00 2001 From: Odboy Date: Sun, 26 Oct 2025 10:50:00 +0800 Subject: [PATCH] =?UTF-8?q?refactor(task):=20=E7=A7=BB=E9=99=A4=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=AD=A5=E9=AA=A4=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20-=20=E5=88=A0=E9=99=A4=20TaskStepCallback=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AE=9A=E4=B9=89=20-=20=E4=BF=AE=E6=94=B9=20TaskStep?= =?UTF-8?q?Executor=20=E6=8E=A5=E5=8F=A3=20execute=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=EF=BC=8C=E7=A7=BB=E9=99=A4=20callback=20?= =?UTF-8?q?=E5=8F=82=E6=95=B0=20-=20=E6=9B=B4=E6=96=B0=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=B1=BB=EF=BC=8C=E5=8E=BB=E9=99=A4=E5=AF=B9?= =?UTF-8?q?=20callback=20=E7=9A=84=E8=B0=83=E7=94=A8=20-=20=E5=9C=A8=20Tas?= =?UTF-8?q?kJobBean=20=E4=B8=AD=E7=9B=B4=E6=8E=A5=E8=B0=83=E7=94=A8=20serv?= =?UTF-8?q?ice=20=E6=96=B9=E6=B3=95=E5=A4=84=E7=90=86=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=20-=20=E4=B8=BA=20TaskInstanceDetailService?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=20fastSuccess=20=E6=96=B9=E6=B3=95=20-=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20fastSuccessWithInfo=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=89=A7=E8=A1=8C=E4=BF=A1=E6=81=AF=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20-=20=E7=BB=9F=E4=B8=80=E4=BB=BB=E5=8A=A1=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4=E6=89=A7=E8=A1=8C=E6=B5=81=E7=A8=8B=E7=9A=84=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/odboy/task/core/TaskJobBean.java | 14 +++--------- .../cn/odboy/task/core/TaskStepCallback.java | 22 ------------------- .../cn/odboy/task/core/TaskStepExecutor.java | 5 +---- .../task/core/impl/TaskStepNodeBuildJava.java | 5 +---- .../core/impl/TaskStepNodeDeployJava.java | 5 +---- .../task/core/impl/TaskStepNodeInit.java | 11 ++++------ .../core/impl/TaskStepNodeMergeBranch.java | 5 +---- .../service/TaskInstanceDetailService.java | 2 ++ .../TaskInstanceStepDetailService.java | 2 +- .../impl/TaskInstanceDetailServiceImpl.java | 11 +++++++++- 10 files changed, 24 insertions(+), 58 deletions(-) delete mode 100644 cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepCallback.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java index 88f5b9d7..ba812633 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java @@ -168,17 +168,9 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { String code = taskTemplateNodeVo.getCode(); try { TaskStepExecutor executor = CsSpringBeanHolder.getBean("taskStep" + getBeanAlias(code)); - executor.execute(codeIdMap.getOrDefault(code, null), dataMap, taskTemplateNodeVo, new TaskStepCallback() { - @Override - public void onStart() { - taskInstanceDetailService.fastStart(id, code, dataMap); - } - - @Override - public void onFinish(String executeInfo) { - taskInstanceDetailService.fastSuccessWithInfo(id, code, executeInfo); - } - }); + taskInstanceDetailService.fastStart(id, code, dataMap); + executor.execute(codeIdMap.getOrDefault(code, null), dataMap, taskTemplateNodeVo); + taskInstanceDetailService.fastSuccessWithInfo(id, code, null); } catch (Exception e) { taskInstanceDetailService.fastFailWithInfo(id, code, e.getMessage()); throw new ServerException(e); diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepCallback.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepCallback.java deleted file mode 100644 index a8af09d3..00000000 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepCallback.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2021-2025 Odboy - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.odboy.task.core; - -public interface TaskStepCallback { - void onStart(); - - void onFinish(String executeInfo); -} diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java index a8ba6c0c..3d53c8e4 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java @@ -19,14 +19,11 @@ import cn.odboy.framework.exception.BadRequestException; import cn.odboy.task.dal.model.TaskTemplateNodeVo; import org.quartz.JobDataMap; -import javax.validation.constraints.NotNull; - public interface TaskStepExecutor { /** * @param instanceDetailId 任务实例明细id * @param jobDataMap 执行参数 * @param taskTemplateNode 任务节点信息 - * @param callback 执行成功回调 */ - void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode, @NotNull TaskStepCallback callback) throws BadRequestException; + void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException; } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java index baac1842..58df89ed 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java @@ -17,7 +17,6 @@ package cn.odboy.task.core.impl; import cn.hutool.core.thread.ThreadUtil; import cn.odboy.framework.exception.BadRequestException; -import cn.odboy.task.core.TaskStepCallback; import cn.odboy.task.core.TaskStepExecutor; import cn.odboy.task.dal.model.TaskTemplateNodeVo; import lombok.extern.slf4j.Slf4j; @@ -29,9 +28,7 @@ import org.springframework.stereotype.Component; public class TaskStepNodeBuildJava implements TaskStepExecutor { @Override - public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode, TaskStepCallback callback) throws BadRequestException { - callback.onStart(); + public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException { ThreadUtil.sleep(2000); - callback.onFinish("执行成功"); } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java index 5b16e574..fb97818b 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java @@ -17,7 +17,6 @@ package cn.odboy.task.core.impl; import cn.hutool.core.thread.ThreadUtil; import cn.odboy.framework.exception.BadRequestException; -import cn.odboy.task.core.TaskStepCallback; import cn.odboy.task.core.TaskStepExecutor; import cn.odboy.task.dal.model.TaskTemplateNodeVo; import lombok.extern.slf4j.Slf4j; @@ -29,9 +28,7 @@ import org.springframework.stereotype.Component; public class TaskStepNodeDeployJava implements TaskStepExecutor { @Override - public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode, TaskStepCallback callback) throws BadRequestException { - callback.onStart(); + public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException { ThreadUtil.sleep(5000); - callback.onFinish("执行成功"); } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java index 7a443394..ef9c0936 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java @@ -16,7 +16,6 @@ package cn.odboy.task.core.impl; import cn.odboy.framework.exception.BadRequestException; -import cn.odboy.task.core.TaskStepCallback; import cn.odboy.task.core.TaskStepExecutor; import cn.odboy.task.dal.model.TaskTemplateNodeVo; import cn.odboy.task.service.TaskInstanceStepDetailService; @@ -29,14 +28,12 @@ import org.springframework.stereotype.Component; @Component public class TaskStepNodeInit implements TaskStepExecutor { @Autowired - private TaskInstanceStepDetailService service; + private TaskInstanceStepDetailService stepDetailService; @Override - public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode, TaskStepCallback callback) throws BadRequestException { - callback.onStart(); - service.success(instanceDetailId, "开始初始化"); - service.success(instanceDetailId, "初始化完毕后,放入了一些参数"); + public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException { + stepDetailService.success(instanceDetailId, "开始初始化"); + stepDetailService.success(instanceDetailId, "初始化完毕后,放入了一些参数"); jobDataMap.put("ExcuseMe", "Hello World!"); - callback.onFinish("执行成功"); } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java index 13fe76f4..84f68aec 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java @@ -17,7 +17,6 @@ package cn.odboy.task.core.impl; import cn.hutool.core.thread.ThreadUtil; import cn.odboy.framework.exception.BadRequestException; -import cn.odboy.task.core.TaskStepCallback; import cn.odboy.task.core.TaskStepExecutor; import cn.odboy.task.dal.model.TaskTemplateNodeVo; import cn.odboy.task.service.TaskInstanceStepDetailService; @@ -33,10 +32,8 @@ public class TaskStepNodeMergeBranch implements TaskStepExecutor { private TaskInstanceStepDetailService service; @Override - public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode, TaskStepCallback callback) throws BadRequestException { - callback.onStart(); + public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException { ThreadUtil.sleep(3000); service.fail(instanceDetailId, "执行失败测试"); - callback.onFinish("执行成功"); } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java index 38712322..5e892de6 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java @@ -32,6 +32,8 @@ import java.util.List; public interface TaskInstanceDetailService extends IService { void fastFailWithInfo(Long instanceId, String code, String message); + void fastSuccess(Long instanceId, String code); + void fastSuccessWithInfo(Long instanceId, String code, String executeInfo); void fastStart(Long instanceId, String code, JobDataMap dataMap); diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java index ad88278c..105ab133 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java @@ -48,7 +48,7 @@ public interface TaskInstanceStepDetailService extends IService instanceDetailIds); } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java index 7df32720..bd8cdb88 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java +++ b/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java @@ -48,11 +48,20 @@ public class TaskInstanceDetailServiceImpl extends ServiceImpl