From 09393e46364a25a6054c7d16c56bb8a7b2d53223 Mon Sep 17 00:00:00 2001 From: Odboy Date: Mon, 15 Dec 2025 23:13:11 +0800 Subject: [PATCH] =?UTF-8?q?refactor(task):=20=E9=87=8D=E6=9E=84=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A8=A1=E5=9D=97=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cutejava-springboot3/cutejava-starter/pom.xml | 2 +- cutejava-springboot3/pom.xml | 1 - .../cutejava-module-task-v1}/pom.xml | 4 +- .../task/constant/TaskChangeTypeEnum.java | 0 .../cn/odboy/task/constant/TaskJobKeys.java | 0 .../odboy/task/constant/TaskStatusEnum.java | 3 +- .../task/controller/TaskTestsController.java | 0 .../java/cn/odboy/task/core/TaskJobBean.java | 5 +- .../java/cn/odboy/task/core/TaskManage.java | 0 .../cn/odboy/task/core/TaskStepExecutor.java | 0 .../task/core/impl/TaskStepNodeBuildJava.java | 0 .../core/impl/TaskStepNodeDeployJava.java | 0 .../task/core/impl/TaskStepNodeInit.java | 0 .../core/impl/TaskStepNodeMergeBranch.java | 0 .../dal/dataobject/TaskInstanceDetailTb.java | 0 .../dal/dataobject/TaskInstanceInfoTb.java | 0 .../dataobject/TaskInstanceStepDetailTb.java | 0 .../dal/dataobject/TaskTemplateInfoTb.java | 0 .../task/dal/model/TaskInstanceInfoVo.java | 0 .../task/dal/model/TaskInstanceNodeVo.java | 0 .../task/dal/model/TaskTemplateInfoVo.java | 0 .../TaskTemplateNodeOperateButtonVo.java | 0 .../task/dal/model/TaskTemplateNodeVo.java | 0 .../dal/mysql/TaskInstanceDetailMapper.java | 0 .../dal/mysql/TaskInstanceInfoMapper.java | 0 .../mysql/TaskInstanceStepDetailMapper.java | 0 .../dal/mysql/TaskTemplateInfoMapper.java | 0 .../service/TaskInstanceDetailService.java | 0 .../task/service/TaskInstanceInfoService.java | 0 .../TaskInstanceStepDetailService.java | 0 .../task/service/TaskTemplateInfoService.java | 0 .../impl/TaskInstanceDetailServiceImpl.java | 0 .../impl/TaskInstanceInfoServiceImpl.java | 0 .../TaskInstanceStepDetailServiceImpl.java | 0 .../impl/TaskTemplateInfoServiceImpl.java | 0 .../mapper/TaskInstanceDetailMapper.xml | 0 .../mapper/TaskInstanceInfoMapper.xml | 0 .../mapper/TaskTemplateInfoMapper.xml | 0 .../pom.xml | 4 +- .../task/constant/TaskChangeTypeEnum.java | 0 .../cn/odboy/task/constant/TaskJobKeys.java | 0 .../odboy/task/constant/TaskStatusEnum.java | 3 +- .../task/controller/TaskTestsController.java | 2 +- .../java/cn/odboy/task/core/TaskJobBean.java | 126 +++++++++++------- .../java/cn/odboy/task/core/TaskManage.java | 55 +++++--- .../cn/odboy/task/core/TaskStepExecutor.java | 0 .../task/core/impl/TaskStepNodeBuildJava.java | 0 .../core/impl/TaskStepNodeDeployJava.java | 0 .../task/core/impl/TaskStepNodeInit.java | 0 .../core/impl/TaskStepNodeMergeBranch.java | 0 .../dal/dataobject/TaskInstanceDetailTb.java | 25 ++-- .../dal/dataobject/TaskInstanceInfoTb.java | 35 ++--- .../dataobject/TaskInstanceStepDetailTb.java | 15 ++- .../dal/dataobject/TaskTemplateInfoTb.java | 21 +-- .../task/dal/model/TaskInstanceInfoVo.java | 0 .../task/dal/model/TaskInstanceNodeVo.java | 0 .../task/dal/model/TaskTemplateInfoVo.java | 0 .../TaskTemplateNodeOperateButtonVo.java | 0 .../task/dal/model/TaskTemplateNodeVo.java | 0 .../dal/mysql/TaskInstanceDetailMapper.java | 0 .../dal/mysql/TaskInstanceInfoMapper.java | 0 .../mysql/TaskInstanceStepDetailMapper.java | 0 .../dal/mysql/TaskTemplateInfoMapper.java | 0 .../service/TaskInstanceDetailService.java | 2 + .../task/service/TaskInstanceInfoService.java | 0 .../TaskInstanceStepDetailService.java | 0 .../task/service/TaskTemplateInfoService.java | 0 .../impl/TaskInstanceDetailServiceImpl.java | 32 +++-- .../impl/TaskInstanceInfoServiceImpl.java | 0 .../TaskInstanceStepDetailServiceImpl.java | 0 .../impl/TaskTemplateInfoServiceImpl.java | 0 .../mapper/TaskInstanceDetailMapper.xml | 0 .../mapper/TaskInstanceInfoMapper.xml | 0 .../mapper/TaskTemplateInfoMapper.xml | 0 cutejava/cutejava-starter/pom.xml | 2 +- cutejava/pom.xml | 3 +- 76 files changed, 205 insertions(+), 135 deletions(-) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/pom.xml (85%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/constant/TaskJobKeys.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java (89%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/controller/TaskTestsController.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/TaskJobBean.java (98%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/TaskManage.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/TaskStepExecutor.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/resources/mapper/TaskInstanceDetailMapper.xml (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/resources/mapper/TaskInstanceInfoMapper.xml (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v1}/src/main/resources/mapper/TaskTemplateInfoMapper.xml (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/pom.xml (84%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/constant/TaskJobKeys.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java (89%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/controller/TaskTestsController.java (98%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/TaskJobBean.java (62%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/TaskManage.java (86%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/TaskStepExecutor.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java (100%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java (78%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java (76%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java (81%) rename {cutejava-springboot3/cutejava-module-task => cutejava/cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java (79%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java (95%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java (80%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/resources/mapper/TaskInstanceDetailMapper.xml (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/resources/mapper/TaskInstanceInfoMapper.xml (100%) rename cutejava/{cutejava-module-task => cutejava-module-task-v2}/src/main/resources/mapper/TaskTemplateInfoMapper.xml (100%) diff --git a/cutejava-springboot3/cutejava-starter/pom.xml b/cutejava-springboot3/cutejava-starter/pom.xml index e7cb1f49..8a6cbae8 100644 --- a/cutejava-springboot3/cutejava-starter/pom.xml +++ b/cutejava-springboot3/cutejava-starter/pom.xml @@ -14,7 +14,7 @@ cn.odboy - cutejava-module-task + cutejava-module-system 1.4.1 diff --git a/cutejava-springboot3/pom.xml b/cutejava-springboot3/pom.xml index b2579ff9..e00731bf 100644 --- a/cutejava-springboot3/pom.xml +++ b/cutejava-springboot3/pom.xml @@ -11,7 +11,6 @@ cutejava-framework cutejava-module-system - cutejava-module-task cutejava-starter diff --git a/cutejava-springboot3/cutejava-module-task/pom.xml b/cutejava/cutejava-module-task-v1/pom.xml similarity index 85% rename from cutejava-springboot3/cutejava-module-task/pom.xml rename to cutejava/cutejava-module-task-v1/pom.xml index af6da9dd..1ff3eccd 100644 --- a/cutejava-springboot3/cutejava-module-task/pom.xml +++ b/cutejava/cutejava-module-task-v1/pom.xml @@ -8,8 +8,8 @@ 4.0.0 - cutejava-module-task - 任务模块 + cutejava-module-task-v1 + 任务模块:强制停止任务线程 diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskJobKeys.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskJobKeys.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskJobKeys.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskJobKeys.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java similarity index 89% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java index b7edc6e1..32f66b4e 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java +++ b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java @@ -27,7 +27,8 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum TaskStatusEnum { - Running("running", "运行中"), Success("success", "执行成功"), Fail("fail", "执行失败"); + Pending("pending", "未开始"), Running("running", "运行中"), Success("success", "执行成功"), + Fail("fail", "执行失败"); private final String code; private final String name; diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/controller/TaskTestsController.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/controller/TaskTestsController.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/controller/TaskTestsController.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/controller/TaskTestsController.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskJobBean.java similarity index 98% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskJobBean.java index e11542ce..853f6b27 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java +++ b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskJobBean.java @@ -21,6 +21,7 @@ import cn.odboy.framework.context.KitSpringBeanHolder; import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.ServerException; import cn.odboy.task.constant.TaskJobKeys; +import cn.odboy.task.constant.TaskStatusEnum; import cn.odboy.task.dal.dataobject.TaskInstanceDetailTb; import cn.odboy.task.dal.dataobject.TaskInstanceInfoTb; import cn.odboy.task.dal.model.TaskTemplateNodeVo; @@ -153,8 +154,8 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { taskInstanceDetail.setFinishTime(null); taskInstanceDetail.setBizCode(taskTemplateNodeVo.getCode()); taskInstanceDetail.setBizName(taskTemplateNodeVo.getName()); - taskInstanceDetail.setExecuteInfo("未开始"); - taskInstanceDetail.setExecuteStatus("pending"); + taskInstanceDetail.setExecuteInfo(TaskStatusEnum.Pending.getName()); + taskInstanceDetail.setExecuteStatus(TaskStatusEnum.Pending.getCode()); return taskInstanceDetail; } diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskManage.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskManage.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskManage.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskManage.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskStepExecutor.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/TaskStepExecutor.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java b/cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java rename to cutejava/cutejava-module-task-v1/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskInstanceDetailMapper.xml b/cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskInstanceDetailMapper.xml similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskInstanceDetailMapper.xml rename to cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskInstanceDetailMapper.xml diff --git a/cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskInstanceInfoMapper.xml b/cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskInstanceInfoMapper.xml similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskInstanceInfoMapper.xml rename to cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskInstanceInfoMapper.xml diff --git a/cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskTemplateInfoMapper.xml b/cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskTemplateInfoMapper.xml similarity index 100% rename from cutejava-springboot3/cutejava-module-task/src/main/resources/mapper/TaskTemplateInfoMapper.xml rename to cutejava/cutejava-module-task-v1/src/main/resources/mapper/TaskTemplateInfoMapper.xml diff --git a/cutejava/cutejava-module-task/pom.xml b/cutejava/cutejava-module-task-v2/pom.xml similarity index 84% rename from cutejava/cutejava-module-task/pom.xml rename to cutejava/cutejava-module-task-v2/pom.xml index af6da9dd..4e6df824 100644 --- a/cutejava/cutejava-module-task/pom.xml +++ b/cutejava/cutejava-module-task-v2/pom.xml @@ -8,8 +8,8 @@ 4.0.0 - cutejava-module-task - 任务模块 + cutejava-module-task-v2 + 任务模块V2:根据任务标记停止轮询检查 diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskChangeTypeEnum.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskJobKeys.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskJobKeys.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskJobKeys.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskJobKeys.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java similarity index 89% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java index b7edc6e1..32f66b4e 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/constant/TaskStatusEnum.java @@ -27,7 +27,8 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum TaskStatusEnum { - Running("running", "运行中"), Success("success", "执行成功"), Fail("fail", "执行失败"); + Pending("pending", "未开始"), Running("running", "运行中"), Success("success", "执行成功"), + Fail("fail", "执行失败"); private final String code; private final String name; diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/controller/TaskTestsController.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/controller/TaskTestsController.java similarity index 98% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/controller/TaskTestsController.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/controller/TaskTestsController.java index f4af5a38..080d0e1b 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/controller/TaskTestsController.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/controller/TaskTestsController.java @@ -52,7 +52,7 @@ public class TaskTestsController { TaskInstanceInfoTb instanceInfo = taskManage.createJob("cutejava", TaskChangeTypeEnum.AppContainerDeploy, "java", "daily", "cutejava", "功能测试", null); log.info("任务创建成功,实例为:{}", JSON.toJSONString(instanceInfo)); - Thread.startVirtualThread(() -> { + ThreadUtil.execAsync(() -> { ThreadUtil.safeSleep(5000); taskManage.stopJob(instanceInfo.getId()); }); diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskJobBean.java similarity index 62% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskJobBean.java index 35249446..be791866 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskJobBean.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskJobBean.java @@ -16,11 +16,13 @@ package cn.odboy.task.core; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; import cn.odboy.framework.context.KitSpringBeanHolder; import cn.odboy.framework.exception.BadRequestException; import cn.odboy.framework.exception.ServerException; import cn.odboy.task.constant.TaskJobKeys; +import cn.odboy.task.constant.TaskStatusEnum; import cn.odboy.task.dal.dataobject.TaskInstanceDetailTb; import cn.odboy.task.dal.dataobject.TaskInstanceInfoTb; import cn.odboy.task.dal.model.TaskTemplateNodeVo; @@ -28,22 +30,18 @@ import cn.odboy.task.service.TaskInstanceDetailService; import cn.odboy.task.service.TaskInstanceInfoService; import cn.odboy.task.service.TaskInstanceStepDetailService; import com.alibaba.fastjson2.JSON; -import lombok.extern.slf4j.Slf4j; -import org.quartz.InterruptableJob; -import org.quartz.JobDataMap; -import org.quartz.JobExecutionContext; -import org.springframework.scheduling.quartz.QuartzJobBean; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.quartz.JobDataMap; +import org.quartz.JobExecutionContext; +import org.springframework.scheduling.quartz.QuartzJobBean; @Slf4j -public class TaskJobBean extends QuartzJobBean implements InterruptableJob { - private Thread workThread = null; - +public class TaskJobBean extends QuartzJobBean { private String getBeanAlias(String code) { if (StrUtil.isBlank(code)) { throw new ServerException("参数code必填"); @@ -55,10 +53,10 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { @Override public void executeInternal(JobExecutionContext context) { - this.workThread = Thread.currentThread(); // ========================== 获取代理类 ========================== TaskInstanceInfoService taskInstanceInfoService = KitSpringBeanHolder.getBean(TaskInstanceInfoService.class); - TaskInstanceDetailService taskInstanceDetailService = KitSpringBeanHolder.getBean(TaskInstanceDetailService.class); + TaskInstanceDetailService taskInstanceDetailService = + KitSpringBeanHolder.getBean(TaskInstanceDetailService.class); // ========================== 获取参数 ========================== JobDataMap dataMap = context.getMergedJobDataMap(); long id = dataMap.getLong(TaskJobKeys.ID); @@ -71,7 +69,8 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { if (StrUtil.isBlank(retryNodeCode)) { executeNormalTask(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeVos); } else { - executeRetryTask(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeVos, retryNodeCode); + executeRetryTask(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeVos, + retryNodeCode); } } @@ -84,15 +83,19 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { * @param dataMap 数据映射 * @param taskTemplateNodeVos 模板节点列表 */ - private void executeNormalTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id, - JobDataMap dataMap, List taskTemplateNodeVos) { + private void executeNormalTask(TaskInstanceInfoService taskInstanceInfoService, + TaskInstanceDetailService taskInstanceDetailService, long id, JobDataMap dataMap, + List taskTemplateNodeVos) { // ========================== 初始化执行明细 ========================== List taskInstanceDetails = - taskTemplateNodeVos.stream().map(taskTemplateNodeVo -> buildTaskInstanceDetail(id, taskTemplateNodeVo)).toList(); + taskTemplateNodeVos.stream().map(taskTemplateNodeVo -> buildTaskInstanceDetail(id, taskTemplateNodeVo)) + .collect(Collectors.toList()); taskInstanceDetailService.saveBatch(taskInstanceDetails); - Map codeIdMap = taskInstanceDetails.stream().collect(Collectors.toMap(TaskInstanceDetailTb::getBizCode, TaskInstanceDetailTb::getId)); + Map codeIdMap = taskInstanceDetails.stream() + .collect(Collectors.toMap(TaskInstanceDetailTb::getBizCode, TaskInstanceDetailTb::getId)); // ========================== 顺序执行 ========================== - executeTaskSteps(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeVos, codeIdMap); + executeTaskSteps(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeVos, + codeIdMap); } /** @@ -105,8 +108,9 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { * @param taskTemplateNodeVos 模板节点列表 * @param retryNodeCode 重试节点编码 */ - private void executeRetryTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id, - JobDataMap dataMap, List taskTemplateNodeVos, String retryNodeCode) { + private void executeRetryTask(TaskInstanceInfoService taskInstanceInfoService, + TaskInstanceDetailService taskInstanceDetailService, long id, JobDataMap dataMap, + List taskTemplateNodeVos, String retryNodeCode) { boolean isFound = false; // ========================== 初始化执行明细 ========================== List taskInstanceDetails = new ArrayList<>(); @@ -126,18 +130,24 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { isFound = true; } } - TaskInstanceStepDetailService taskInstanceStepDetailService = KitSpringBeanHolder.getBean(TaskInstanceStepDetailService.class); - List bizCodeList = taskInstanceDetails.stream().map(TaskInstanceDetailTb::getBizCode).distinct().toList(); - List taskInstanceDetailTbs = taskInstanceDetailService.queryByInstanceIdAndBizCodeList(id, bizCodeList); - List taskInstanceDetailIds = taskInstanceDetailTbs.stream().map(TaskInstanceDetailTb::getId).toList(); + TaskInstanceStepDetailService taskInstanceStepDetailService = + KitSpringBeanHolder.getBean(TaskInstanceStepDetailService.class); + List bizCodeList = + taskInstanceDetails.stream().map(TaskInstanceDetailTb::getBizCode).distinct().collect(Collectors.toList()); + List taskInstanceDetailTbs = + taskInstanceDetailService.queryByInstanceIdAndBizCodeList(id, bizCodeList); + List taskInstanceDetailIds = + taskInstanceDetailTbs.stream().map(TaskInstanceDetailTb::getId).collect(Collectors.toList()); // 根据ID删除明细 taskInstanceDetailService.removeByIds(taskInstanceDetailIds); // 根据明细删除步骤 taskInstanceStepDetailService.removeByInstanceDetailIds(taskInstanceDetailIds); taskInstanceDetailService.saveBatch(taskInstanceDetails); - Map codeIdMap = taskInstanceDetails.stream().collect(Collectors.toMap(TaskInstanceDetailTb::getBizCode, TaskInstanceDetailTb::getId)); + Map codeIdMap = taskInstanceDetails.stream() + .collect(Collectors.toMap(TaskInstanceDetailTb::getBizCode, TaskInstanceDetailTb::getId)); // ========================== 顺序执行 ========================== - executeTaskSteps(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeRetryList, codeIdMap); + executeTaskSteps(taskInstanceInfoService, taskInstanceDetailService, id, dataMap, taskTemplateNodeRetryList, + codeIdMap); } /** @@ -153,8 +163,8 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { taskInstanceDetail.setFinishTime(null); taskInstanceDetail.setBizCode(taskTemplateNodeVo.getCode()); taskInstanceDetail.setBizName(taskTemplateNodeVo.getName()); - taskInstanceDetail.setExecuteInfo("未开始"); - taskInstanceDetail.setExecuteStatus("pending"); + taskInstanceDetail.setExecuteInfo(TaskStatusEnum.Pending.getName()); + taskInstanceDetail.setExecuteStatus(TaskStatusEnum.Pending.getCode()); return taskInstanceDetail; } @@ -168,33 +178,57 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob { * @param taskTemplateNodes 需要执行的任务节点列表 * @param codeIdMap 节点编码与明细ID映射 */ - private void executeTaskSteps(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, Long id, - JobDataMap dataMap, List taskTemplateNodes, Map codeIdMap) { + private void executeTaskSteps(TaskInstanceInfoService taskInstanceInfoService, + TaskInstanceDetailService taskInstanceDetailService, Long id, JobDataMap dataMap, + List taskTemplateNodes, Map codeIdMap) { try { + boolean isTerminate = false; for (TaskTemplateNodeVo taskTemplateNodeVo : taskTemplateNodes) { String code = taskTemplateNodeVo.getCode(); - try { - TaskStepExecutor executor = KitSpringBeanHolder.getBean("taskStep" + getBeanAlias(code)); - taskInstanceDetailService.fastStart(id, code, dataMap); - executor.execute(codeIdMap.getOrDefault(code, null), dataMap, taskTemplateNodeVo); - taskInstanceDetailService.fastSuccessWithInfo(id, code, null); - } catch (Exception e) { - log.error("任务节点执行失败", e); - taskInstanceDetailService.fastFailWithInfo(id, code, e.getMessage()); - throw new ServerException(e); + while (true) { + TaskInstanceDetailTb currentTaskInstanceNode = + taskInstanceDetailService.getOneByInstanceIdAndCode(id, code); + if (TaskStatusEnum.Fail.getCode().equals(currentTaskInstanceNode.getExecuteStatus())) { + log.info("任务节点执行失败, instanceId={}, bizCode={}", id, code); + isTerminate = true; + break; + } else if (TaskStatusEnum.Success.getCode().equals(currentTaskInstanceNode.getExecuteStatus())) { + log.info("任务节点执行成功, instanceId={}, bizCode={}", id, code); + break; + } else if (TaskStatusEnum.Pending.getCode().equals(currentTaskInstanceNode.getExecuteStatus())) { + log.info("任务节点由待执行变更为执行中, instanceId={}, bizCode={}", id, code); + try { + TaskStepExecutor executor = KitSpringBeanHolder.getBean("taskStep" + getBeanAlias(code)); + taskInstanceDetailService.fastStart(id, code, dataMap); + executor.execute(codeIdMap.getOrDefault(code, null), dataMap, taskTemplateNodeVo); + taskInstanceDetailService.fastSuccessWithInfo(id, code, null); + } catch (Exception e) { + log.error("任务节点执行失败", e); + taskInstanceDetailService.fastFailWithInfo(id, code, e.getMessage()); + throw new ServerException(e); + } + break; + } else if (TaskStatusEnum.Running.getCode().equals(currentTaskInstanceNode.getExecuteStatus())) { + ThreadUtil.safeSleep(5000); + } else { + // 处理未知状态 + log.warn("任务节点处于未知状态, instanceId={}, bizCode={}, status={}", id, code, + currentTaskInstanceNode.getExecuteStatus()); + ThreadUtil.safeSleep(5000); + } + } + if (isTerminate) { + break; } } - taskInstanceInfoService.fastSuccessWithData(id, dataMap); + if (isTerminate) { + taskInstanceInfoService.fastFailWithMessageData(id, "任务执行失败", dataMap); + } else { + taskInstanceInfoService.fastSuccessWithData(id, dataMap); + } } catch (Exception e) { log.error("任务执行失败", e); taskInstanceInfoService.fastFailWithMessageData(id, e.getMessage(), dataMap); } } - - @Override - public void interrupt() { - if (workThread != null) { - workThread.stop(); - } - } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskManage.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskManage.java similarity index 86% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskManage.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskManage.java index e04ddcff..7d3a136a 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskManage.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskManage.java @@ -33,15 +33,23 @@ import cn.odboy.task.service.TaskInstanceInfoService; import cn.odboy.task.service.TaskTemplateInfoService; import cn.odboy.util.KitDateUtil; import com.alibaba.fastjson2.JSON; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.quartz.*; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - import java.util.ArrayList; import java.util.Date; import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.JobBuilder; +import org.quartz.JobDataMap; +import org.quartz.JobDetail; +import org.quartz.JobKey; +import org.quartz.ObjectAlreadyExistsException; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.quartz.Trigger; +import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; @Slf4j @Component @@ -64,8 +72,8 @@ public class TaskManage { * @param dataMap 任务参数 */ @Transactional(rollbackFor = Exception.class) - public TaskInstanceInfoTb createJob(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source, String reason, - JobDataMap dataMap) { + public TaskInstanceInfoTb createJob(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, + String envAlias, String source, String reason, JobDataMap dataMap) { if (StrUtil.isBlank(contextName)) { throw new BadRequestException("参数contextName必填"); } @@ -85,7 +93,8 @@ public class TaskManage { dataMap = new JobDataMap(); } // ========================== 获取任务编排模板 ========================== - TaskTemplateInfoVo taskInstanceInfoVo = taskTemplateInfoService.getTemplateInfoByECL(envAlias, contextName, language, changeTypeEnum.getCode()); + TaskTemplateInfoVo taskInstanceInfoVo = + taskTemplateInfoService.getTemplateInfoByECL(envAlias, contextName, language, changeTypeEnum.getCode()); if (taskInstanceInfoVo == null) { throw new BadRequestException("没有查询到任务编排模板"); } @@ -103,7 +112,8 @@ public class TaskManage { // ========================== 创建任务 ========================== TaskManage taskManage = KitSpringBeanHolder.getBean(TaskManage.class); TaskInstanceInfoTb newInstance = - taskManage.saveTaskInstanceInfoTb(contextName, changeTypeEnum, language, envAlias, source, reason, dataMap, templateInfo); + taskManage.saveTaskInstanceInfoTb(contextName, changeTypeEnum, language, envAlias, source, reason, dataMap, + templateInfo); dataMap.put(TaskJobKeys.ID, newInstance.getId()); // 应用名、资源类型 dataMap.put(TaskJobKeys.CONTEXT_NAME, contextName); @@ -117,8 +127,8 @@ public class TaskManage { } @Transactional(rollbackFor = Exception.class) - public TaskInstanceInfoTb saveTaskInstanceInfoTb(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source, - String reason, JobDataMap dataMap, String templateInfo) { + public TaskInstanceInfoTb saveTaskInstanceInfoTb(String contextName, TaskChangeTypeEnum changeTypeEnum, + String language, String envAlias, String source, String reason, JobDataMap dataMap, String templateInfo) { TaskInstanceInfoTb newInstance = new TaskInstanceInfoTb(); newInstance.setContextName(contextName); newInstance.setLanguage(language); @@ -170,9 +180,9 @@ public class TaskManage { scheduler.pauseTrigger(triggerKey); // 移除触发器 scheduler.unscheduleJob(triggerKey); - // 删除并中断任务 + // 删除任务 scheduler.deleteJob(jobKey); - scheduler.interrupt(jobKey); + // scheduler.interrupt(jobKey); } catch (SchedulerException e) { log.error("任务停止失败", e); throw new RuntimeException(e); @@ -195,7 +205,7 @@ public class TaskManage { if (dataMap == null) { dataMap = new JobDataMap(); } - taskInstanceInfoTb.setStatus(TaskStatusEnum.Running.getCode()); + taskInstanceInfoTb.setStatus(TaskStatusEnum.Pending.getCode()); taskInstanceInfoTb.setFinishTime(null); taskInstanceInfoService.updateById(taskInstanceInfoTb); // ========================== 执行任务 ========================== @@ -209,10 +219,12 @@ public class TaskManage { public TaskInstanceInfoVo getLastInfo(String contextName, String language, String envAlias, String changeType) { TaskInstanceInfoVo record = new TaskInstanceInfoVo(); - TaskInstanceInfoTb historyInstance = taskInstanceInfoService.getLastHistoryInstance(contextName, language, envAlias, changeType); + TaskInstanceInfoTb historyInstance = + taskInstanceInfoService.getLastHistoryInstance(contextName, language, envAlias, changeType); if (historyInstance == null) { // 仅返回模板 - TaskTemplateInfoVo templateInfo = taskTemplateInfoService.getTemplateInfoByECL(envAlias, contextName, language, changeType); + TaskTemplateInfoVo templateInfo = + taskTemplateInfoService.getTemplateInfoByECL(envAlias, contextName, language, changeType); if (templateInfo == null) { throw new BadRequestException("没有查询到任务编排模板"); } @@ -223,7 +235,8 @@ public class TaskManage { record = BeanUtil.copyProperties(historyInstance, TaskInstanceInfoVo.class); record.setHistory(buildNodeList(record)); - TaskInstanceInfoTb runningInstance = taskInstanceInfoService.getLastRunningInstance(contextName, language, envAlias, changeType); + TaskInstanceInfoTb runningInstance = + taskInstanceInfoService.getLastRunningInstance(contextName, language, envAlias, changeType); if (runningInstance != null) { TaskInstanceInfoVo taskInstanceInfoVo = BeanUtil.copyProperties(runningInstance, TaskInstanceInfoVo.class); record.setCurrent(buildNodeList(taskInstanceInfoVo)); @@ -243,9 +256,11 @@ public class TaskManage { instanceNodeVo.setStartTime(taskInstanceDetail.getStartTime()); instanceNodeVo.setFinishTime(taskInstanceDetail.getFinishTime()); if (taskInstanceDetail.getFinishTime() == null) { - instanceNodeVo.setDurationDesc(KitDateUtil.formatSecondsDuration(taskInstanceDetail.getStartTime(), new Date())); + instanceNodeVo.setDurationDesc( + KitDateUtil.formatSecondsDuration(taskInstanceDetail.getStartTime(), new Date())); } else { - instanceNodeVo.setDurationDesc(KitDateUtil.formatSecondsDuration(taskInstanceDetail.getStartTime(), taskInstanceDetail.getFinishTime())); + instanceNodeVo.setDurationDesc(KitDateUtil.formatSecondsDuration(taskInstanceDetail.getStartTime(), + taskInstanceDetail.getFinishTime())); } instanceNodeVo.setRunningDesc(taskInstanceDetail.getExecuteInfo()); instanceNodeVo.setStatus(taskInstanceDetail.getExecuteStatus()); diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskStepExecutor.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/TaskStepExecutor.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/TaskStepExecutor.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeBuildJava.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeDeployJava.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeInit.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/core/impl/TaskStepNodeMergeBranch.java diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java similarity index 78% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java index e91f55b6..6bad1066 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceDetailTb.java @@ -20,7 +20,8 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -39,16 +40,16 @@ import java.util.Date; @Setter @ToString @TableName("task_instance_detail") -@Schema(name = "TaskInstanceDetailTb对象", description = "任务实例明细") +@ApiModel(value = "TaskInstanceDetailTb对象", description = "任务实例明细") public class TaskInstanceDetailTb extends KitObject { @TableField(fill = FieldFill.INSERT) - @Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) + @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) private Date createTime; /** * id */ - @Schema(name = "id") + @ApiModelProperty("id") @TableId(value = "id", type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) @JSONField(format = "string") @@ -58,20 +59,20 @@ public class TaskInstanceDetailTb extends KitObject { * 任务实例id */ @TableField("instance_id") - @Schema(name = "任务实例id") + @ApiModelProperty("任务实例id") private Long instanceId; /** * 开始时间 */ - @Schema(name = "开始时间") + @ApiModelProperty("开始时间") @TableField("start_time") private Date startTime; /** * 结束时间 */ - @Schema(name = "结束时间") + @ApiModelProperty("结束时间") @TableField("finish_time") private Date finishTime; @@ -79,27 +80,27 @@ public class TaskInstanceDetailTb extends KitObject { * 业务编码 */ @TableField("biz_code") - @Schema(name = "业务编码") + @ApiModelProperty("业务编码") private String bizCode; /** * 业务名称(步骤) */ @TableField("biz_name") - @Schema(name = "业务名称(步骤)") + @ApiModelProperty("业务名称(步骤)") private String bizName; /** * 执行参数 */ - @Schema(name = "执行参数") + @ApiModelProperty("执行参数") @TableField("execute_params") private String executeParams; /** * 执行信息 */ - @Schema(name = "执行信息") + @ApiModelProperty("执行信息") @TableField("execute_info") private String executeInfo; @@ -107,6 +108,6 @@ public class TaskInstanceDetailTb extends KitObject { * 执行状态(running进行中 success成功 fail失败) */ @TableField("execute_status") - @Schema(name = "执行状态(running进行中 success成功 fail失败)") + @ApiModelProperty("执行状态(running进行中 success成功 fail失败)") private String executeStatus; } diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java similarity index 76% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java index d2446b52..70a3a63d 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceInfoTb.java @@ -20,7 +20,8 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -40,25 +41,25 @@ import java.util.Date; @Setter @ToString @TableName("task_instance_info") -@Schema(name = "TaskInstanceInfoTb对象", description = "任务实例") +@ApiModel(value = "TaskInstanceInfoTb对象", description = "任务实例") public class TaskInstanceInfoTb extends KitObject { @CreatedBy @TableField(fill = FieldFill.INSERT) - @Schema(name = "创建人", hidden = true) + @ApiModelProperty(value = "创建人", hidden = true) private String createBy; @TableField(fill = FieldFill.INSERT) - @Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) + @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(name = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true) + @ApiModelProperty(value = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true) private Date updateTime; /** * id, @JsonSerialize和@JSONField,用于处理大数精度丢失问题 */ - @Schema(name = "id") + @ApiModelProperty("id") @TableId(value = "id", type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) @JSONField(format = "string") @@ -67,21 +68,21 @@ public class TaskInstanceInfoTb extends KitObject { /** * 名称 */ - @Schema(name = "名称") + @ApiModelProperty("名称") @TableField("context_name") private String contextName; /** * 语言 */ - @Schema(name = "语言") + @ApiModelProperty("语言") @TableField("`language`") private String language; /** * 变更类型 */ - @Schema(name = "变更类型") + @ApiModelProperty("变更类型") @TableField("change_type") private String changeType; @@ -89,27 +90,27 @@ public class TaskInstanceInfoTb extends KitObject { * 环境别名 */ @TableField("env_alias") - @Schema(name = "环境别名") + @ApiModelProperty("环境别名") private String envAlias; /** * 状态(running进行中 success成功 fail失败) */ @TableField("`status`") - @Schema(name = "状态(running进行中 success成功 fail失败)") + @ApiModelProperty("状态(running进行中 success成功 fail失败)") private String status; /** * 完成时间 */ - @Schema(name = "完成时间") + @ApiModelProperty("完成时间") @TableField("finish_time") private Date finishTime; /** * 来源 */ - @Schema(name = "来源") + @ApiModelProperty("来源") @TableField("`source`") private String source; @@ -117,27 +118,27 @@ public class TaskInstanceInfoTb extends KitObject { * 变更原因 */ @TableField("reason") - @Schema(name = "变更原因") + @ApiModelProperty("变更原因") private String reason; /** * 任务模板 */ @TableField("template") - @Schema(name = "template") + @ApiModelProperty("template") private String template; /** * QuartzJob参数 */ @TableField("job_data") - @Schema(name = "QuartzJob参数") + @ApiModelProperty("QuartzJob参数") private String jobData; /** * 异常信息 */ @TableField("error_message") - @Schema(name = "异常信息") + @ApiModelProperty("异常信息") private String errorMessage; } diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java similarity index 81% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java index ce5e893a..79541349 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskInstanceStepDetailTb.java @@ -20,7 +20,8 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -39,16 +40,16 @@ import java.util.Date; @Setter @ToString @TableName("task_instance_step_detail") -@Schema(name = "TaskInstanceStepDetailTb对象") +@ApiModel(value = "TaskInstanceStepDetailTb对象", description = "") public class TaskInstanceStepDetailTb extends KitObject { @TableField(fill = FieldFill.INSERT) - @Schema(name = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) + @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) private Date createTime; /** * id */ - @Schema(name = "id") + @ApiModelProperty("id") @TableId(value = "id", type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) @JSONField(format = "string") @@ -58,20 +59,20 @@ public class TaskInstanceStepDetailTb extends KitObject { * task_instance_detail表id */ @TableField("instance_detail_id") - @Schema(name = "task_instance_detail表id") + @ApiModelProperty("task_instance_detail表id") private Long instanceDetailId; /** * 步骤描述 */ @TableField("step_desc") - @Schema(name = "步骤描述") + @ApiModelProperty("步骤描述") private String stepDesc; /** * 状态(success成功 fail失败) */ @TableField("step_status") - @Schema(name = "状态(success成功 fail失败)") + @ApiModelProperty("状态(success成功 fail失败)") private String stepStatus; } diff --git a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java similarity index 79% rename from cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java index 5412c0dd..d7b4ca85 100644 --- a/cutejava-springboot3/cutejava-module-task/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/dataobject/TaskTemplateInfoTb.java @@ -20,7 +20,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -37,13 +38,13 @@ import lombok.ToString; @Setter @ToString @TableName("task_template_info") -@Schema(name = "TaskTemplateInfoTb对象", description = "任务模板") +@ApiModel(value = "TaskTemplateInfoTb对象", description = "任务模板") public class TaskTemplateInfoTb extends KitBaseUserTimeTb { /** * id */ - @Schema(name = "id") + @ApiModelProperty("id") @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -51,13 +52,13 @@ public class TaskTemplateInfoTb extends KitBaseUserTimeTb { * 数据有效性 */ @TableField("available") - @Schema(name = "数据有效性") + @ApiModelProperty("数据有效性") private Boolean available; /** * 变更类型 */ - @Schema(name = "变更类型") + @ApiModelProperty("变更类型") @TableField("change_type") private String changeType; @@ -65,13 +66,13 @@ public class TaskTemplateInfoTb extends KitBaseUserTimeTb { * 流水线名称 */ @TableField("`name`") - @Schema(name = "流水线名称") + @ApiModelProperty("流水线名称") private String name; /** * 流水线描述 */ - @Schema(name = "流水线描述") + @ApiModelProperty("流水线描述") @TableField("`description`") private String description; @@ -79,20 +80,20 @@ public class TaskTemplateInfoTb extends KitBaseUserTimeTb { * 流水线模板内容 */ @TableField("template") - @Schema(name = "流水线模板内容") + @ApiModelProperty("流水线模板内容") private String template; /** * 环境别名 */ @TableField("env_alias") - @Schema(name = "环境别名") + @ApiModelProperty("环境别名") private String envAlias; /** * 应用为语言,资源为类型 */ @TableField("`language`") - @Schema(name = "应用为语言,资源为类型") + @ApiModelProperty("应用为语言,资源为类型") private String language; } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskInstanceInfoVo.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskInstanceNodeVo.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateInfoVo.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeOperateButtonVo.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/model/TaskTemplateNodeVo.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceDetailMapper.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceInfoMapper.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskInstanceStepDetailMapper.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/dal/mysql/TaskTemplateInfoMapper.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java similarity index 95% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java index 5e892de6..f8c5e3a2 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceDetailService.java @@ -30,6 +30,8 @@ import java.util.List; * @since 2025-09-26 */ public interface TaskInstanceDetailService extends IService { + TaskInstanceDetailTb getOneByInstanceIdAndCode(Long id, String code); + void fastFailWithInfo(Long instanceId, String code, String message); void fastSuccess(Long instanceId, String code); diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceInfoService.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskInstanceStepDetailService.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/TaskTemplateInfoService.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java similarity index 80% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java index bd8cdb88..df41dabe 100644 --- a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java +++ b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceDetailServiceImpl.java @@ -22,11 +22,10 @@ import cn.odboy.task.dal.mysql.TaskInstanceDetailMapper; import cn.odboy.task.service.TaskInstanceDetailService; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.quartz.JobDataMap; -import org.springframework.stereotype.Service; - import java.util.Date; import java.util.List; +import org.quartz.JobDataMap; +import org.springframework.stereotype.Service; /** *

@@ -37,7 +36,14 @@ import java.util.List; * @since 2025-09-26 */ @Service -public class TaskInstanceDetailServiceImpl extends ServiceImpl implements TaskInstanceDetailService { +public class TaskInstanceDetailServiceImpl extends ServiceImpl + implements TaskInstanceDetailService { + + @Override + public TaskInstanceDetailTb getOneByInstanceIdAndCode(Long id, String code) { + return lambdaQuery().eq(TaskInstanceDetailTb::getInstanceId, id).eq(TaskInstanceDetailTb::getBizCode, code) + .one(); + } @Override public void fastFailWithInfo(Long instanceId, String code, String executeInfo) { @@ -45,7 +51,8 @@ public class TaskInstanceDetailServiceImpl extends ServiceImpl queryByInstanceId(Long instanceId) { - return lambdaQuery().eq(TaskInstanceDetailTb::getInstanceId, instanceId).orderByAsc(TaskInstanceDetailTb::getId).list(); + return lambdaQuery().eq(TaskInstanceDetailTb::getInstanceId, instanceId).orderByAsc(TaskInstanceDetailTb::getId) + .list(); } } diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceInfoServiceImpl.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskInstanceStepDetailServiceImpl.java diff --git a/cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java b/cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java similarity index 100% rename from cutejava/cutejava-module-task/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java rename to cutejava/cutejava-module-task-v2/src/main/java/cn/odboy/task/service/impl/TaskTemplateInfoServiceImpl.java diff --git a/cutejava/cutejava-module-task/src/main/resources/mapper/TaskInstanceDetailMapper.xml b/cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskInstanceDetailMapper.xml similarity index 100% rename from cutejava/cutejava-module-task/src/main/resources/mapper/TaskInstanceDetailMapper.xml rename to cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskInstanceDetailMapper.xml diff --git a/cutejava/cutejava-module-task/src/main/resources/mapper/TaskInstanceInfoMapper.xml b/cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskInstanceInfoMapper.xml similarity index 100% rename from cutejava/cutejava-module-task/src/main/resources/mapper/TaskInstanceInfoMapper.xml rename to cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskInstanceInfoMapper.xml diff --git a/cutejava/cutejava-module-task/src/main/resources/mapper/TaskTemplateInfoMapper.xml b/cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskTemplateInfoMapper.xml similarity index 100% rename from cutejava/cutejava-module-task/src/main/resources/mapper/TaskTemplateInfoMapper.xml rename to cutejava/cutejava-module-task-v2/src/main/resources/mapper/TaskTemplateInfoMapper.xml diff --git a/cutejava/cutejava-starter/pom.xml b/cutejava/cutejava-starter/pom.xml index e7cb1f49..66f75a22 100644 --- a/cutejava/cutejava-starter/pom.xml +++ b/cutejava/cutejava-starter/pom.xml @@ -14,7 +14,7 @@ cn.odboy - cutejava-module-task + cutejava-module-task-v1 1.4.1 diff --git a/cutejava/pom.xml b/cutejava/pom.xml index 6c90b70c..025daa50 100644 --- a/cutejava/pom.xml +++ b/cutejava/pom.xml @@ -11,7 +11,8 @@ cutejava-framework cutejava-module-system - cutejava-module-task + cutejava-module-task-v1 + cutejava-module-task-v2 cutejava-starter