From 04885cac86bd514316aa0db7d0244c0ec3366f20 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Wed, 16 Jul 2025 10:46:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=BB=84=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/service/group/impl/GroupServiceImpl.java | 8 ++++++++ .../process/service/pipeline/PipelineService.java | 1 + .../service/pipeline/impl/PipelineServiceImpl.java | 12 ++++++++++++ .../src/main/resources/mapper/PipGroupDao.xml | 8 +++++++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/group/impl/GroupServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/group/impl/GroupServiceImpl.java index 5c51d31b..a353d5e4 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/group/impl/GroupServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/group/impl/GroupServiceImpl.java @@ -8,7 +8,10 @@ import cd.casic.ci.process.process.converter.GroupConverter; import cd.casic.ci.process.process.dao.pipeline.PipGroupDao; import cd.casic.ci.process.process.dataObject.pipgroup.PipGroup; import cd.casic.ci.process.process.service.group.GroupService; +import cd.casic.ci.process.process.service.pipeline.PipelineService; import cd.casic.ci.process.util.WebFrameworkUtils; +import cd.casic.framework.commons.exception.ServiceException; +import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -20,6 +23,8 @@ public class GroupServiceImpl extends ServiceImpl impleme private GroupConverter converter; @Resource private PipGroupDao groupDao; + @Resource + private PipelineService pipelineService; @Override public void addGroup(GroupAddReq req) { PipGroup pipGroup = converter.reqToDto(req); @@ -40,6 +45,9 @@ public class GroupServiceImpl extends ServiceImpl impleme @Override public void deleteGroup(String id) { + if (pipelineService.getGroupCount(id) != 0) { + throw new ServiceException(GlobalErrorCodeConstants.PIPELINE_ERROR.getCode(),"分组下辖流水线不为空不允许删除"); + } removeById(id); } } 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 d2bffdc8..ba9389e5 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 @@ -37,4 +37,5 @@ public interface PipelineService extends IService { PipelineFindResp findPipelineById(@Valid PipelineQueryReq pipelineQueryReq); TreeRunContextResp getPipelineRunState(String pipelineId); + Long getGroupCount(String groupId); } 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 cb9196a8..d402e610 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 @@ -34,6 +34,7 @@ import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.pojo.PageResult; import cd.casic.framework.security.dal.user.AdminUserDO; import cd.casic.framework.tenant.core.service.AdminUserServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -555,6 +556,17 @@ public class PipelineServiceImpl extends ServiceImpl i return new TreeRunContextResp(); } + + @Override + public Long getGroupCount(String groupId) { + if (StringUtils.isEmpty(groupId)) { + return -1L; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PipPipeline::getGroupId,groupId); + return pipelineDao.selectCount(wrapper); + } + private String between(LocalDateTime startTime,LocalDateTime endTime){ if (startTime==null||endTime==null) { return ""; diff --git a/modules/module-ci-process-biz/src/main/resources/mapper/PipGroupDao.xml b/modules/module-ci-process-biz/src/main/resources/mapper/PipGroupDao.xml index b6736256..9f20d083 100644 --- a/modules/module-ci-process-biz/src/main/resources/mapper/PipGroupDao.xml +++ b/modules/module-ci-process-biz/src/main/resources/mapper/PipGroupDao.xml @@ -21,6 +21,12 @@ LEFT JOIN (SELECT group_id,COUNT(*) count FROM pip_pipeline GROUP BY group_id) pl ON ((pg.id = pl.group_id ) OR (ISNULL(pl.group_id) AND ISNULL(pl.group_id))) - WHERE pg.`name` LIKE #{groupName} AND ((pg.creator = #{userId} AND pg.type = 'PERSON') OR (pg.type = 'PROJECT')) + + + AND pg.`group_name` LIKE CONCAT('%',#{groupName},'%') + + AND ((pg.creator = #{userId} AND pg.type = 'PERSON') OR (pg.type = 'PROJECT')) + + \ No newline at end of file