From c5649a7acd974dae866080ea96946f668926e3b5 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Thu, 17 Jul 2025 14:22:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E6=A0=87=E5=88=A0=E9=99=A4=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=80=BB=E8=BE=91=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/service/pipeline/PipelineService.java | 1 + .../service/pipeline/impl/PipelineServiceImpl.java | 10 ++++++++++ .../service/target/impl/TargetManagerServiceImpl.java | 8 ++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java index ba9389e5..30c2e38d 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java @@ -38,4 +38,5 @@ public interface PipelineService extends IService { TreeRunContextResp getPipelineRunState(String pipelineId); Long getGroupCount(String groupId); + Boolean targetVersionInUse(List targetVersionId); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java index 39db4e77..8e2cfde4 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java @@ -540,6 +540,16 @@ public class PipelineServiceImpl extends ServiceImpl i return pipelineDao.selectCount(wrapper); } + @Override + public Boolean targetVersionInUse(List targetVersionId) { + if (CollectionUtils.isEmpty(targetVersionId)) { + return false; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PipPipeline::getTargetVersionId,targetVersionId); + return pipelineDao.exists(wrapper); + } + private String between(LocalDateTime startTime,LocalDateTime endTime){ if (startTime==null||endTime==null) { return ""; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java index 90788568..7b070111 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java @@ -11,6 +11,7 @@ import cd.casic.ci.process.process.dao.pipeline.TargetVersionDao; import cd.casic.ci.process.process.dataObject.base.BaseIdReq; import cd.casic.ci.process.process.dataObject.target.TargetManager; import cd.casic.ci.process.process.dataObject.target.TargetVersion; +import cd.casic.ci.process.process.service.pipeline.PipelineService; import cd.casic.ci.process.process.service.target.TargetManagerService; import cd.casic.ci.process.properties.TargetFileUploadProperties; import cd.casic.ci.process.util.SftpUploadUtil; @@ -63,8 +64,8 @@ public class TargetManagerServiceImpl extends ServiceImpl versionList = targetVersionService.selectListByManagerId(targetManager.getId()); List versionIdList = versionList.stream().map(TargetVersionResp::getId).toList(); + if (pipelineService.targetVersionInUse(versionIdList)) { + throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"当前目标正在被流水线使用无法删除"); + } targetVersionDao.deleteByIds(versionIdList); }