创建节点方法
This commit is contained in:
parent
81b7533da5
commit
1abd20136a
@ -9,6 +9,6 @@ public class TaskCreateReq {
|
||||
private String taskName;
|
||||
private String pipelineId;
|
||||
private String taskType;
|
||||
private String taskSort;
|
||||
private Integer taskSort;
|
||||
private JSONObject taskProperties;
|
||||
}
|
||||
|
@ -24,13 +24,13 @@ public class PipStage {
|
||||
private String pipelineId;
|
||||
|
||||
//@ApiProperty(name="stageSort",desc="阶段顺序")
|
||||
private int stageSort;
|
||||
private Integer stageSort;
|
||||
|
||||
//@ApiProperty(name = "parentId",desc="主阶段")
|
||||
private String parentId;
|
||||
|
||||
//@ApiProperty(name = "code",desc="是否是源码")
|
||||
private boolean code = false;
|
||||
private Boolean code = false;
|
||||
|
||||
//@ApiProperty(name = "taskValues",desc="阶段任务")
|
||||
@TableField(exist = false)
|
||||
|
@ -22,6 +22,7 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.json.JSONObject;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@ -39,7 +40,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private PipStageDao stageDao;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public String createStagesOrTask(StageCreateReq stageReq) {
|
||||
String firstStageId = stageReq.getStageId();
|
||||
@ -49,7 +50,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
|
||||
String secondStageId = task.getStageId();
|
||||
JSONObject taskProperties = task.getTaskProperties();
|
||||
String taskType = task.getTaskType();
|
||||
String taskSort = task.getTaskSort();
|
||||
Integer taskSort = task.getTaskSort();
|
||||
String pipelineId = task.getPipelineId();
|
||||
PipStage firstStage = null;
|
||||
// 判断是否需要新建阶段,如果没有传第一级tageId而传了sort就是需要创建阶段
|
||||
@ -64,11 +65,65 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
|
||||
firstStage.setCreateTime(LocalDateTime.now());
|
||||
firstStage.setParentId("-1");
|
||||
firstStage.setPipelineId(pipelineId);
|
||||
PipStage stageQuery = new PipStage();
|
||||
stageQuery.setPipelineId(pipelineId);
|
||||
stageQuery.setParentId("-1");
|
||||
List<PipStage> otherStageList = getPipStageList(stageQuery);
|
||||
if (!CollectionUtils.isEmpty(otherStageList)) {
|
||||
for (PipStage stage : otherStageList) {
|
||||
if (stageSort<=stage.getStageSort()) {
|
||||
stage.setStageSort(stage.getStageSort()+1);
|
||||
}
|
||||
}
|
||||
updateBatchById(otherStageList);
|
||||
}
|
||||
save(firstStage);
|
||||
// firstStage
|
||||
} else {
|
||||
|
||||
PipStage stageQuery = new PipStage();
|
||||
stageQuery.setStageId(firstStageId);
|
||||
List<PipStage> pipStageList = getPipStageList(stageQuery);
|
||||
if (!CollectionUtils.isEmpty(pipStageList)) {
|
||||
firstStage = pipStageList.get(0);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
if (firstStage == null) {
|
||||
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"创建节点失败");
|
||||
}
|
||||
PipStage secondStage = null;
|
||||
if (secondStageId==null||taskSort==null) {
|
||||
// 添加并行节点
|
||||
secondStage = new PipStage();
|
||||
PipStage stageQuery = new PipStage();
|
||||
stageQuery.setParentId(firstStageId);
|
||||
stageQuery.setPipelineId(pipelineId);
|
||||
List<PipStage> pipStageList = getPipStageList(stageQuery);
|
||||
if (CollectionUtils.isEmpty(pipStageList)) {
|
||||
secondStage.setStageSort(1);
|
||||
} else {
|
||||
secondStage.setStageSort(pipStageList.size()+1);
|
||||
}
|
||||
secondStage.setCreateTime(LocalDateTime.now());
|
||||
save(secondStage);
|
||||
taskSort=1;
|
||||
secondStageId = secondStage.getStageId();
|
||||
} else {
|
||||
secondStage = getById(secondStageId);
|
||||
}
|
||||
if (secondStage == null) {
|
||||
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"创建节点失败");
|
||||
}
|
||||
// 保存task
|
||||
PipTask pipTask = new PipTask();
|
||||
pipTask.setTaskType(taskType);
|
||||
pipTask.setTaskSort(taskSort);
|
||||
pipTask.setStageId(secondStageId);
|
||||
pipTask.setTaskName(taskName);
|
||||
pipTask.setCreateTime(LocalDateTime.now());
|
||||
pipTask.setTaskProperties(taskProperties);
|
||||
pipTask.setPipelineId(pipelineId);
|
||||
taskService.save(pipTask);
|
||||
return pipTask.getTaskId();
|
||||
}
|
||||
/**
|
||||
* 更新主节点阶段顺序
|
||||
@ -274,7 +329,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
|
||||
return;
|
||||
}
|
||||
for (PipStage stage : allStage) {
|
||||
if (stage.isCode()){
|
||||
if (stage.getCode()){
|
||||
throw new ServiceException(50001,"代码源已存在,无法再次创建。");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user