目标删除增加逻辑判断
This commit is contained in:
parent
2e7a183b8a
commit
c5649a7acd
@ -38,4 +38,5 @@ public interface PipelineService extends IService<PipPipeline> {
|
|||||||
|
|
||||||
TreeRunContextResp getPipelineRunState(String pipelineId);
|
TreeRunContextResp getPipelineRunState(String pipelineId);
|
||||||
Long getGroupCount(String groupId);
|
Long getGroupCount(String groupId);
|
||||||
|
Boolean targetVersionInUse(List<String> targetVersionId);
|
||||||
}
|
}
|
||||||
|
@ -540,6 +540,16 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
|
|||||||
return pipelineDao.selectCount(wrapper);
|
return pipelineDao.selectCount(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean targetVersionInUse(List<String> targetVersionId) {
|
||||||
|
if (CollectionUtils.isEmpty(targetVersionId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<PipPipeline> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(PipPipeline::getTargetVersionId,targetVersionId);
|
||||||
|
return pipelineDao.exists(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
private String between(LocalDateTime startTime,LocalDateTime endTime){
|
private String between(LocalDateTime startTime,LocalDateTime endTime){
|
||||||
if (startTime==null||endTime==null) {
|
if (startTime==null||endTime==null) {
|
||||||
return "";
|
return "";
|
||||||
|
@ -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.base.BaseIdReq;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetManager;
|
import cd.casic.ci.process.process.dataObject.target.TargetManager;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
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.process.service.target.TargetManagerService;
|
||||||
import cd.casic.ci.process.properties.TargetFileUploadProperties;
|
import cd.casic.ci.process.properties.TargetFileUploadProperties;
|
||||||
import cd.casic.ci.process.util.SftpUploadUtil;
|
import cd.casic.ci.process.util.SftpUploadUtil;
|
||||||
@ -63,8 +64,8 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
|
|||||||
private AdminUserServiceImpl adminUserService;
|
private AdminUserServiceImpl adminUserService;
|
||||||
@Resource
|
@Resource
|
||||||
private TargetFileUploadProperties fileUploadProperties;
|
private TargetFileUploadProperties fileUploadProperties;
|
||||||
|
@Resource
|
||||||
|
private PipelineService pipelineService;
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void createTarget(TargetManagerCreateReq req) {
|
public void createTarget(TargetManagerCreateReq req) {
|
||||||
@ -121,6 +122,9 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
|
|||||||
//删除对应的version版本
|
//删除对应的version版本
|
||||||
List<TargetVersionResp> versionList = targetVersionService.selectListByManagerId(targetManager.getId());
|
List<TargetVersionResp> versionList = targetVersionService.selectListByManagerId(targetManager.getId());
|
||||||
List<String> versionIdList = versionList.stream().map(TargetVersionResp::getId).toList();
|
List<String> versionIdList = versionList.stream().map(TargetVersionResp::getId).toList();
|
||||||
|
if (pipelineService.targetVersionInUse(versionIdList)) {
|
||||||
|
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"当前目标正在被流水线使用无法删除");
|
||||||
|
}
|
||||||
targetVersionDao.deleteByIds(versionIdList);
|
targetVersionDao.deleteByIds(versionIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user