From 2d20dc7e097c0bd513907f031858dab201e3aeef Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Tue, 20 May 2025 15:59:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BC=A0=E5=8F=82=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E8=81=94=E8=B0=83bug=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8Cconverter=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dispatcher/impl/ParallelDispatcher.java | 2 +- .../engine/runContext/BaseRunContext.java | 1 - .../process/service/stage/StageService.java | 2 +- .../service/stage/impl/StageServiceImpl.java | 28 ++++++++++++++++++- .../system/convert/dict/DictDataConvert.java | 2 +- .../system/convert/dict/DictTypeConvert.java | 2 +- .../server/controller/StageController.java | 17 +++++++---- .../server/controller/TasksController.java | 13 ++++----- 8 files changed, 47 insertions(+), 20 deletions(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/ParallelDispatcher.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/ParallelDispatcher.java index 7b814041..ea479d2f 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/ParallelDispatcher.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/dispatcher/impl/ParallelDispatcher.java @@ -61,7 +61,7 @@ public class ParallelDispatcher implements BaseDispatcher{ latch.await(); // TODO 检查是否全部执行成功 ,目前没有逻辑就是忽略错误 } - // 入库 + // TODO 入库 } @Override public void run() { diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java index 9b6f3969..9fb39b80 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/runContext/BaseRunContext.java @@ -143,7 +143,6 @@ public abstract class BaseRunContext { } /** * 查找子类是否存在开始运行的,如果有则父状态变成running - * TODO 逻辑可能有点问题 * */ public void checkChildRunning() throws ServiceException{ Boolean runningFlag = false; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/StageService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/StageService.java index 50dc38bc..d33cb1b9 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/StageService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/StageService.java @@ -81,5 +81,5 @@ public interface StageService extends IService { void copyStage(@NotEmpty String stageId); - + void deleteFirstStage(String stageId); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java index 1c6d9be9..a4a48426 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java @@ -336,7 +336,7 @@ public class StageServiceImpl extends ServiceImpl impleme List secondStageList = findSecondStage(stageId); if (!CollectionUtils.isEmpty(secondStageList)) { List stageIdList = secondStageList.stream().map(PipStage::getId).toList(); - List taskList = taskService.listByIds(stageIdList); + List taskList = taskService.getTaskByStageIdList(stageIdList); Map> stageIdMap = taskList.stream().collect(Collectors.groupingBy(PipTask::getStageId)); for (PipStage secondStage : secondStageList) { secondStage.setCreator(String.valueOf(loginUserId)); @@ -362,6 +362,32 @@ public class StageServiceImpl extends ServiceImpl impleme } + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteFirstStage(String stageId) { + List secondStageAndTask = findSecondStageAndTask(stageId); + for (PipStage stage : secondStageAndTask) { + List taskValues = stage.getTaskValues(); + if (!CollectionUtils.isEmpty(taskValues)) { + List taskIdList = taskValues.stream().map(PipTask::getId).toList(); + taskService.removeBatchByIds(taskIdList); + } + } + List secondStageIdList = secondStageAndTask.stream().map(PipStage::getId).toList(); + removeBatchByIds(secondStageIdList); + PipStage byId = getById(stageId); + List allMainStage = findAllMainStage(byId.getPipelineId()); + List updateList = new ArrayList<>(allMainStage.size()); + for (PipStage stage : allMainStage) { + if (byId.getStageSort() findSecondStageAndTask(String stagesId){ List otherStage = findSecondStage(stagesId); List list = new ArrayList<>(); diff --git a/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictDataConvert.java b/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictDataConvert.java index ada0f2d4..83918554 100644 --- a/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictDataConvert.java +++ b/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictDataConvert.java @@ -9,7 +9,7 @@ import org.mapstruct.factory.Mappers; import java.util.List; -//@Mapper +@Mapper(componentModel = "spring") public interface DictDataConvert { DictDataConvert INSTANCE = Mappers.getMapper(DictDataConvert.class); diff --git a/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictTypeConvert.java b/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictTypeConvert.java index 5ebbc54f..db3eaf71 100644 --- a/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictTypeConvert.java +++ b/modules/module-system-biz/src/main/java/cd/casic/module/system/convert/dict/DictTypeConvert.java @@ -9,7 +9,7 @@ import org.mapstruct.factory.Mappers; import java.util.List; -//@Mapper +@Mapper(componentModel = "spring") public interface DictTypeConvert { DictTypeConvert INSTANCE = Mappers.getMapper(DictTypeConvert.class); diff --git a/ops-server/src/main/java/cd/casic/server/controller/StageController.java b/ops-server/src/main/java/cd/casic/server/controller/StageController.java index 7f8f90ab..11ffd6c8 100644 --- a/ops-server/src/main/java/cd/casic/server/controller/StageController.java +++ b/ops-server/src/main/java/cd/casic/server/controller/StageController.java @@ -49,8 +49,8 @@ public class StageController { * @pi.param: name=pipelineId;dataType=string;value=pipelineId; */ @PermitAll - @RequestMapping(path="/finAllStage",method = RequestMethod.POST) - public CommonResult> finAllPipelineTaskOrTask(@NotNull String pipelineId){ + @RequestMapping(path="/findAllStage/{pipelineId}",method = RequestMethod.POST) + public CommonResult> findAllPipelineTaskOrTask(@NotNull @PathVariable String pipelineId){ List stageRespList = stageService.findAllStagesTask(pipelineId); return CommonResult.success(stageRespList); } @@ -75,19 +75,24 @@ public class StageController { * @pi.request-type: formdata * @pi.param: name=taskId;dataType=string;value=taskId; */ - @PostMapping(path="/deleteTasksOrStage") - public CommonResult deleteTasksOrStage(@NotNull String taskId){ + @PostMapping(path="/deleteTasksOrStage/{taskId}") + public CommonResult deleteTasksOrStage(@NotNull@PathVariable String taskId){ stageService.deleteStagesOrTask(taskId); return CommonResult.success(); } /** * 复制stage节点 * */ - @PostMapping(path="/copyStage") - public CommonResult copyStage(@NotEmpty String stageId){ + @PostMapping(path="/copyStage/{stageId}") + public CommonResult copyStage(@NotEmpty@PathVariable String stageId){ stageService.copyStage(stageId); return CommonResult.success(); } + @PostMapping("/deleteFirstStage") + public CommonResult deleteFirstStage(@PathVariable String stageId){ + stageService.deleteFirstStage(stageId); + return CommonResult.success(); + } } diff --git a/ops-server/src/main/java/cd/casic/server/controller/TasksController.java b/ops-server/src/main/java/cd/casic/server/controller/TasksController.java index fa41ab28..dc647587 100644 --- a/ops-server/src/main/java/cd/casic/server/controller/TasksController.java +++ b/ops-server/src/main/java/cd/casic/server/controller/TasksController.java @@ -8,10 +8,7 @@ import com.alibaba.fastjson.JSON; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -27,15 +24,15 @@ public class TasksController { * @pi.request-type: formdata * @pi.param: name=taskId;dataType=string;value=taskId; */ - @PostMapping(path="/findOneTasksOrTask") - public CommonResult findOneTasksOrTask(@NotNull String taskId){ + @PostMapping(path="/findOneTasksOrTask/{taskId}") + public CommonResult findOneTasksOrTask(@NotNull @PathVariable String taskId){ return CommonResult.success(taskService.getRespById(taskId)); } /** * 复制task节点 * */ - @PostMapping(path="/copyTask") - public CommonResult copyTask(@NotEmpty String taskId){ + @PostMapping(path="/copyTask/{taskId}") + public CommonResult copyTask(@NotEmpty @PathVariable String taskId){ taskService.copyTask(taskId); return CommonResult.success(); }