执行引擎部分代码(开了个头),stage,task主键字段改为id

This commit is contained in:
even 2025-05-16 16:03:37 +08:00
parent 969def7fc3
commit 7758a6d5eb
16 changed files with 118 additions and 75 deletions

View File

@ -26,7 +26,7 @@ public class ModelUpdate {
private String name; private String name;
@Schema(title = "更新人", required = true) @Schema(title = "更新人", required = true)
private String updateUserId; private Long updateUserId;
@Schema(title = "更新结果信息", required = false) @Schema(title = "更新结果信息", required = false)
private String updateResultMessage; private String updateResultMessage;

View File

@ -30,7 +30,7 @@ public class PipelineQueryReq extends PageParam {
/** /**
* 创建人用户id * 创建人用户id
*/ */
private String createUserId; private Long createUserId;
/** /**

View File

@ -16,9 +16,9 @@ public class PipelineUpdateReq {
private String name; private String name;
private String createUserId; private Long createUserId;
private String updateUserId; private Long updateUserId;
private String envId; private String envId;

View File

@ -114,9 +114,9 @@ public class ResourceQueryReq {
/** /**
* 创建人用户id * 创建人用户id
*/ */
private String createUserId; private Long createUserId;
private String updateUserId; private Long updateUserId;
/** /**
* 创建时间 * 创建时间

View File

@ -114,9 +114,9 @@ public class ResourceReq {
/** /**
* 创建人用户id * 创建人用户id
*/ */
private String createUserId; private Long createUserId;
private String updateUserId; private Long updateUserId;
/** /**
* 创建时间 * 创建时间

View File

@ -20,13 +20,13 @@ public class PipelineFindResp {
private String name; private String name;
//创建人id //创建人id
private String createUserId; private Long createUserId;
//创建人姓名 //创建人姓名
private String createUserName; private String createUserName;
//最后修改人id //最后修改人id
private String updateUserId; private Long updateUserId;
//最后修改人姓名 //最后修改人姓名
private String updateUserName; private String updateUserName;

View File

@ -114,9 +114,9 @@ public class ResourceResp {
/** /**
* 创建人用户id * 创建人用户id
*/ */
private String createUserId; private Long createUserId;
private String updateUserId; private Long updateUserId;
/** /**
* 创建时间 * 创建时间

View File

@ -1,4 +1,43 @@
package cd.casic.ci.process.engine.manager.impl; package cd.casic.ci.process.engine.manager.impl;
public class DefaultRunContextManager { import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import org.springframework.stereotype.Component;
@Component
public class DefaultRunContextManager implements RunContextManager {
@Override
public Boolean stopPipeline(String pipelineId) {
return null;
}
@Override
public Boolean notifyPipeline(String pipelineId) {
return null;
}
@Override
public Boolean suspendPipeline(String pipelineId) {
return null;
}
@Override
public Boolean notifyStage(String pipelineId, String stageId) {
return null;
}
@Override
public Boolean suspendStage(String pipelineId, String stageId) {
return null;
}
@Override
public void contextRegister(BaseRunContext context) {
}
@Override
public BaseRunContext getContext(String key) {
return null;
}
} }

View File

@ -1,22 +1,33 @@
package cd.casic.ci.process.engine.runContext; package cd.casic.ci.process.engine.runContext;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.ServiceException;
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@EqualsAndHashCode(callSuper = true) import java.time.LocalDateTime;
@Data import java.util.HashMap;
import java.util.Map;
public class TaskRunContext extends BaseRunContext{ public class TaskRunContext extends BaseRunContext{
private String taskId; public TaskRunContext(PipTask contextDef, StageRunContext parentContext, LocalDateTime startTime, String resourceId, String targetId, String targetType, Map<String, Object> globalVariables, Map<String, Object> localVariables) {
private String taskType; super(contextDef, parentContext, startTime, resourceId, targetId, targetType, globalVariables, localVariables, new HashMap<>());
}
private TaskRunContext(PipBaseElement contextDef, BaseRunContext parentContext, LocalDateTime startTime, String resourceId, String targetId, String targetType, Map<String, Object> globalVariables, Map<String, Object> localVariables, Map<String, BaseRunContext> childContext) {
super(contextDef, parentContext, startTime, resourceId, targetId, targetType, globalVariables, localVariables, childContext);
}
/** /**
* task是最后一层没有下一级所以如果id相同直接返回它自己 * task是最后一层没有下一级所以如果id相同直接返回它自己
* */ * */
@Override @Override
public BaseRunContext getChildRunContext(String id) { public BaseRunContext getChildRunContext(String id) {
if (!StringUtils.isEmpty(id)||!id.equals(taskId)) { if (!StringUtils.isEmpty(id)||!id.equals(this.getContextDef().getId())) {
return null; return null;
} }
return this; return this;

View File

@ -117,9 +117,9 @@ public class PipResource {
/** /**
* 创建人用户id * 创建人用户id
*/ */
private String createUserId; private Long createUserId;
private String updateUserId; private Long updateUserId;
/** /**
* 创建时间 * 创建时间

View File

@ -14,9 +14,6 @@ import java.util.List;
@Data @Data
public class PipStage extends PipBaseElement { public class PipStage extends PipBaseElement {
//@ApiProperty(name = "stageId",desc="id") //@ApiProperty(name = "stageId",desc="id")
@TableId(type = IdType.ASSIGN_ID)
private String stageId;
//@ApiProperty(name = "stageName",desc="名称") //@ApiProperty(name = "stageName",desc="名称")
private String stageName; private String stageName;

View File

@ -13,9 +13,6 @@ import java.time.LocalDateTime;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class PipTask extends PipBaseElement { public class PipTask extends PipBaseElement {
//@ApiProperty(name="taskId",desc="配置id")
@TableId(type = IdType.ASSIGN_ID)
private String taskId;
//@ApiProperty(name="taskType",desc= "类型1-10:源码,10-20:测试,20-30:构建,30-40:部署,40-50:代码扫描,50-60:推送制品") //@ApiProperty(name="taskType",desc= "类型1-10:源码,10-20:测试,20-30:构建,30-40:部署,40-50:代码扫描,50-60:推送制品")
private String taskType; private String taskType;

View File

@ -81,8 +81,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipeline.setCreateTime(LocalDateTime.now()); pipeline.setCreateTime(LocalDateTime.now());
if (Objects.isNull(pipeline.getCreateUserId())){ if (Objects.isNull(pipeline.getCreateUserId())){
String loginUserId = String.valueOf(WebFrameworkUtils.getLoginUserId()); pipeline.setCreateUserId(WebFrameworkUtils.getLoginUserId());
pipeline.setCreateUserId(loginUserId);
} }
pipeline.setState(1); pipeline.setState(1);
@ -123,7 +122,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childStage1.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childStage1.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childStage1.setStageSort(1); childStage1.setStageSort(1);
childStage1.setCode(false); childStage1.setCode(false);
childStage1.setParentId(stageReq1.getStageId()); childStage1.setParentId(stageReq1.getId());
stageService.save(childStage1); stageService.save(childStage1);
//新增第二个阶段包含串行和并行任务 //新增第二个阶段包含串行和并行任务
@ -145,7 +144,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childStage21.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childStage21.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childStage21.setStageSort(1); childStage21.setStageSort(1);
childStage21.setCode(false); childStage21.setCode(false);
childStage21.setParentId(stageReq2.getStageId()); childStage21.setParentId(stageReq2.getId());
stageService.save(childStage21); stageService.save(childStage21);
//新增串行阶段 //新增串行阶段
@ -156,7 +155,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childTask21.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childTask21.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childTask21.setTaskType("test"); childTask21.setTaskType("test");
childTask21.setTaskSort(1); childTask21.setTaskSort(1);
childTask21.setStageId(childStage21.getStageId()); childTask21.setStageId(childStage21.getId());
taskService.save(childTask21); taskService.save(childTask21);
//------------------------------------------------------------------ //------------------------------------------------------------------
@ -167,7 +166,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childStage22.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childStage22.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childStage22.setStageSort(2); childStage22.setStageSort(2);
childStage22.setCode(false); childStage22.setCode(false);
childStage22.setParentId(stageReq2.getStageId()); childStage22.setParentId(stageReq2.getId());
stageService.save(childStage22); stageService.save(childStage22);
PipTask childTask22 = new PipTask(); PipTask childTask22 = new PipTask();
@ -177,7 +176,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childTask22.setPipelineId(pipeline.getId()); childTask22.setPipelineId(pipeline.getId());
childTask22.setTaskType("test"); childTask22.setTaskType("test");
childTask22.setTaskSort(2); childTask22.setTaskSort(2);
childTask22.setStageId(childStage22.getStageId()); childTask22.setStageId(childStage22.getId());
taskService.save(childTask22); taskService.save(childTask22);
//创建第三个阶段 //创建第三个阶段
@ -198,7 +197,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childStage31.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childStage31.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childStage31.setStageSort(1); childStage31.setStageSort(1);
childStage31.setCode(false); childStage31.setCode(false);
childStage31.setParentId(stageReq3.getStageId()); childStage31.setParentId(stageReq3.getId());
stageService.save(childStage31); stageService.save(childStage31);
PipTask childTask31 = new PipTask(); PipTask childTask31 = new PipTask();
@ -208,7 +207,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childTask31.setPipelineId(pipeline.getId()); childTask31.setPipelineId(pipeline.getId());
childTask31.setTaskType("test"); childTask31.setTaskType("test");
childTask31.setTaskSort(1); childTask31.setTaskSort(1);
childTask31.setStageId(childStage31.getStageId()); childTask31.setStageId(childStage31.getId());
taskService.save(childTask31); taskService.save(childTask31);
//创建第四个阶段 //创建第四个阶段
@ -229,7 +228,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childStage41.setCreateUserId(WebFrameworkUtils.getLoginUserId()); childStage41.setCreateUserId(WebFrameworkUtils.getLoginUserId());
childStage41.setStageSort(1); childStage41.setStageSort(1);
childStage41.setCode(false); childStage41.setCode(false);
childStage41.setParentId(stageReq4.getStageId()); childStage41.setParentId(stageReq4.getId());
stageService.save(childStage41); stageService.save(childStage41);
PipTask childTask41 = new PipTask(); PipTask childTask41 = new PipTask();
@ -239,7 +238,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
childTask41.setPipelineId(pipeline.getId()); childTask41.setPipelineId(pipeline.getId());
childTask41.setTaskType("test"); childTask41.setTaskType("test");
childTask41.setTaskSort(1); childTask41.setTaskSort(1);
childTask41.setStageId(childStage41.getStageId()); childTask41.setStageId(childStage41.getId());
taskService.save(childTask41); taskService.save(childTask41);
//TODO 创建对应的鉴权关系 //TODO 创建对应的鉴权关系
@ -306,7 +305,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipStage.setPipelineId(pipelineId); pipStage.setPipelineId(pipelineId);
List<PipStage> pipStageList = stageService.getPipStageList(pipStage); List<PipStage> pipStageList = stageService.getPipStageList(pipStage);
if (!CollectionUtils.isEmpty(pipStageList)){ if (!CollectionUtils.isEmpty(pipStageList)){
List<String> list = pipStageList.stream().map(PipStage::getStageId).toList(); List<String> list = pipStageList.stream().map(PipStage::getId).toList();
pipStageDao.deleteByIds(list); pipStageDao.deleteByIds(list);
} }
@ -314,7 +313,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipTask.setPipelineId(pipelineId); pipTask.setPipelineId(pipelineId);
List<PipTask> task = taskService.getTask(pipTask); List<PipTask> task = taskService.getTask(pipTask);
if (!CollectionUtils.isEmpty(task)){ if (!CollectionUtils.isEmpty(task)){
List<String> list = task.stream().map(PipTask::getTaskId).toList(); List<String> list = task.stream().map(PipTask::getId).toList();
pipTaskDao.deleteByIds(list); pipTaskDao.deleteByIds(list);
} }
@ -333,7 +332,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
PipPipeline pipPipeline = new PipPipeline(); PipPipeline pipPipeline = new PipPipeline();
BeanUtils.copyProperties(pipeline,pipPipeline); BeanUtils.copyProperties(pipeline,pipPipeline);
pipPipeline.setUpdateTime(LocalDateTime.now()); pipPipeline.setUpdateTime(LocalDateTime.now());
pipPipeline.setUpdateUserId(String.valueOf(WebFrameworkUtils.getLoginUserId())); pipPipeline.setUpdateUserId(WebFrameworkUtils.getLoginUserId());
pipelineDao.updateById(pipPipeline); pipelineDao.updateById(pipPipeline);
} }
@ -386,7 +385,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipeline.setId(null); pipeline.setId(null);
pipeline.setName(pipelineName); pipeline.setName(pipelineName);
pipeline.setCreateTime(LocalDateTime.now()); pipeline.setCreateTime(LocalDateTime.now());
pipeline.setCreateUserId(String.valueOf(WebFrameworkUtils.getLoginUserId())); pipeline.setCreateUserId(WebFrameworkUtils.getLoginUserId());
this.save(pipeline); this.save(pipeline);
//复制stage //复制stage
@ -402,11 +401,11 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
//根据阶段id查询下游并行节点 //根据阶段id查询下游并行节点
PipStage childStage = new PipStage(); PipStage childStage = new PipStage();
childStage.setPipelineId(pipelineId); childStage.setPipelineId(pipelineId);
childStage.setParentId(o.getStageId()); childStage.setParentId(o.getId());
List<PipStage> pipStageChildList = stageService.getPipStageList(pipStage); List<PipStage> pipStageChildList = stageService.getPipStageList(pipStage);
//对查询结束的stage进行复制 //对查询结束的stage进行复制
o.setStageId(null); o.setId(null);
o.setPipelineId(pipeline.getId()); o.setPipelineId(pipeline.getId());
o.setCreateTime(LocalDateTime.now()); o.setCreateTime(LocalDateTime.now());
o.setCreateUserId(WebFrameworkUtils.getLoginUserId()); o.setCreateUserId(WebFrameworkUtils.getLoginUserId());
@ -418,12 +417,12 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
//根据stageId查询串行节点 //根据stageId查询串行节点
PipTask pipTask = new PipTask(); PipTask pipTask = new PipTask();
pipTask.setPipelineId(pipelineId); pipTask.setPipelineId(pipelineId);
pipTask.setStageId(j.getStageId()); pipTask.setStageId(j.getId());
List<PipTask> taskList = taskService.getTask(pipTask); List<PipTask> taskList = taskService.getTask(pipTask);
//对查询结束的并行节点进行复制 //对查询结束的并行节点进行复制
j.setStageId(null); j.setId(null);
j.setParentId(o.getStageId()); j.setParentId(o.getId());
j.setPipelineId(pipeline.getId()); j.setPipelineId(pipeline.getId());
j.setCreateTime(LocalDateTime.now()); j.setCreateTime(LocalDateTime.now());
j.setCreateUserId(WebFrameworkUtils.getLoginUserId()); j.setCreateUserId(WebFrameworkUtils.getLoginUserId());
@ -431,8 +430,8 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
if (!CollectionUtils.isEmpty(taskList)){ if (!CollectionUtils.isEmpty(taskList)){
taskList.forEach(k->{ taskList.forEach(k->{
k.setTaskId(null); k.setId(null);
k.setStageId(j.getStageId()); k.setStageId(j.getId());
k.setPipelineId(pipeline.getId()); k.setPipelineId(pipeline.getId());
k.setCreateTime(LocalDateTime.now()); k.setCreateTime(LocalDateTime.now());
k.setCreateUserId(WebFrameworkUtils.getLoginUserId()); k.setCreateUserId(WebFrameworkUtils.getLoginUserId());

View File

@ -78,7 +78,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
save(firstStage); save(firstStage);
} else { } else {
PipStage stageQuery = new PipStage(); PipStage stageQuery = new PipStage();
stageQuery.setStageId(firstStageId); stageQuery.setId(firstStageId);
List<PipStage> pipStageList = getPipStageList(stageQuery); List<PipStage> pipStageList = getPipStageList(stageQuery);
if (!CollectionUtils.isEmpty(pipStageList)) { if (!CollectionUtils.isEmpty(pipStageList)) {
firstStage = pipStageList.get(0); firstStage = pipStageList.get(0);
@ -108,7 +108,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
secondStage.setUpdateUserId(loginUserId); secondStage.setUpdateUserId(loginUserId);
save(secondStage); save(secondStage);
taskSort=1; taskSort=1;
secondStageId = secondStage.getStageId(); secondStageId = secondStage.getId();
} else { } else {
secondStage = getById(secondStageId); secondStage = getById(secondStageId);
} }
@ -128,7 +128,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
pipTask.setCreateUserId(loginUserId); pipTask.setCreateUserId(loginUserId);
pipTask.setUpdateUserId(loginUserId); pipTask.setUpdateUserId(loginUserId);
taskService.save(pipTask); taskService.save(pipTask);
return pipTask.getTaskId(); return pipTask.getId();
} }
@Override @Override
@ -140,7 +140,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
} }
List<StageResp> list = new ArrayList<>(); List<StageResp> list = new ArrayList<>();
for (PipStage stage : stageMainStage) { for (PipStage stage : stageMainStage) {
String stagesId = stage.getStageId(); String stagesId = stage.getId();
//获取从节点 //获取从节点
List<PipStage> allStageStage = findSecondStageAndTask(stagesId); List<PipStage> allStageStage = findSecondStageAndTask(stagesId);
List<StageResp> stageRespList = allStageStage.stream().map(it -> { List<StageResp> stageRespList = allStageStage.stream().map(it -> {
@ -165,7 +165,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
return Collections.emptyList(); return Collections.emptyList();
} }
for (PipStage stage : stageMainStage) { for (PipStage stage : stageMainStage) {
String stagesId = stage.getStageId(); String stagesId = stage.getId();
//获取从节点 //获取从节点
List<PipStage> allStageStage = findSecondStageAndTask(stagesId); List<PipStage> allStageStage = findSecondStageAndTask(stagesId);
stage.setStageList(allStageStage); stage.setStageList(allStageStage);
@ -177,7 +177,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
@Override @Override
public void deleteStagesOrTask(String taskId) { public void deleteStagesOrTask(String taskId) {
PipTask taskQuery = new PipTask(); PipTask taskQuery = new PipTask();
taskQuery.setTaskId(taskId); taskQuery.setId(taskId);
List<PipTask> taskList = taskService.getTask(taskQuery); List<PipTask> taskList = taskService.getTask(taskQuery);
if (CollectionUtils.isEmpty(taskList)) { if (CollectionUtils.isEmpty(taskList)) {
return; return;
@ -187,7 +187,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
// 查询上一级stage下有无其他task 没有则连着stage删除 // 查询上一级stage下有无其他task 没有则连着stage删除
String stageId = task.getStageId(); String stageId = task.getStageId();
String pipelineId = task.getPipelineId(); String pipelineId = task.getPipelineId();
taskQuery.setTaskId(""); taskQuery.setId("");
taskQuery.setStageId(stageId); taskQuery.setStageId(stageId);
List<PipTask> otherTask = taskService.getTask(task); List<PipTask> otherTask = taskService.getTask(task);
if (CollectionUtils.isEmpty(otherTask)) { if (CollectionUtils.isEmpty(otherTask)) {
@ -203,7 +203,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
deleteStages(stageId); deleteStages(stageId);
String parentId = currStage.getParentId(); String parentId = currStage.getParentId();
stageQuery.setParentId(parentId); stageQuery.setParentId(parentId);
stageQuery.setStageId(null); stageQuery.setId(null);
// 查询同阶段其他二级stage如果不存在其他stage则删除阶段stage并整理sort值 // 查询同阶段其他二级stage如果不存在其他stage则删除阶段stage并整理sort值
List<PipStage> otherStageList = getPipStageList(stageQuery); List<PipStage> otherStageList = getPipStageList(stageQuery);
if (CollectionUtils.isEmpty(otherStageList)) { if (CollectionUtils.isEmpty(otherStageList)) {
@ -233,7 +233,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
public List<PipStage> getPipStageList(PipStage pipStage){ public List<PipStage> getPipStageList(PipStage pipStage){
LambdaQueryWrapper<PipStage> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PipStage> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotEmpty(pipStage.getStageId()),PipStage::getStageId,pipStage.getStageId()); wrapper.eq(StringUtils.isNotEmpty(pipStage.getId()),PipStage::getId,pipStage.getId());
wrapper.eq(StringUtils.isNotEmpty(pipStage.getPipelineId()),PipStage::getPipelineId,pipStage.getPipelineId()); wrapper.eq(StringUtils.isNotEmpty(pipStage.getPipelineId()),PipStage::getPipelineId,pipStage.getPipelineId());
wrapper.eq(StringUtils.isNotEmpty(pipStage.getParentId()),PipStage::getParentId,pipStage.getParentId()); wrapper.eq(StringUtils.isNotEmpty(pipStage.getParentId()),PipStage::getParentId,pipStage.getParentId());
return stageDao.selectList(wrapper); return stageDao.selectList(wrapper);
@ -249,11 +249,11 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateStagesTask(StageUpdateReq stage) { public void updateStagesTask(StageUpdateReq stage) {
String stageId = stage.getStageId(); String id = stage.getId();
String stageName = stage.getStageName(); String stageName = stage.getStageName();
Integer currStageSort = stage.getStageSort(); Integer currStageSort = stage.getStageSort();
Long loginUserId = WebFrameworkUtils.getLoginUserId(); Long loginUserId = WebFrameworkUtils.getLoginUserId();
PipStage updateStage = getById(stageId); PipStage updateStage = getById(id);
if (updateStage==null) { if (updateStage==null) {
return; return;
} }
@ -275,7 +275,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
if (oldStageSort<currStageSort) { if (oldStageSort<currStageSort) {
// 往右移动 // 往右移动
for (PipStage pipStage : stageList) { for (PipStage pipStage : stageList) {
if (!pipStage.getStageId().equals(updateStage.getStageId())) { if (!pipStage.getId().equals(updateStage.getId())) {
if (pipStage.getStageSort()>oldStageSort&&pipStage.getStageSort()<=currStageSort) { if (pipStage.getStageSort()>oldStageSort&&pipStage.getStageSort()<=currStageSort) {
pipStage.setStageSort(pipStage.getStageSort()-1); pipStage.setStageSort(pipStage.getStageSort()-1);
} }
@ -284,7 +284,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
} else { } else {
// 往左移动 // 往左移动
for (PipStage pipStage : stageList) { for (PipStage pipStage : stageList) {
if (!pipStage.getStageId().equals(updateStage.getStageId())) { if (!pipStage.getId().equals(updateStage.getId())) {
if (pipStage.getStageSort()<oldStageSort&&pipStage.getStageSort()>=currStageSort) { if (pipStage.getStageSort()<oldStageSort&&pipStage.getStageSort()>=currStageSort) {
pipStage.setStageSort(pipStage.getStageSort()+1); pipStage.setStageSort(pipStage.getStageSort()+1);
} }
@ -328,14 +328,14 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
} }
} }
// 保存复制后的阶段除了id和sort其他都一样 // 保存复制后的阶段除了id和sort其他都一样
firstStage.setStageId(null); firstStage.setId(null);
firstStage.setStageSort(firstStage.getStageSort()+1); firstStage.setStageSort(firstStage.getStageSort()+1);
save(firstStage); save(firstStage);
updateBatchById(updateStageList); updateBatchById(updateStageList);
// 查询阶段下所有分支 // 查询阶段下所有分支
List<PipStage> secondStageList = findSecondStage(stageId); List<PipStage> secondStageList = findSecondStage(stageId);
if (!CollectionUtils.isEmpty(secondStageList)) { if (!CollectionUtils.isEmpty(secondStageList)) {
List<String> stageIdList = secondStageList.stream().map(PipStage::getStageId).toList(); List<String> stageIdList = secondStageList.stream().map(PipStage::getId).toList();
List<PipTask> taskList = taskService.listByIds(stageIdList); List<PipTask> taskList = taskService.listByIds(stageIdList);
Map<String, List<PipTask>> stageIdMap = taskList.stream().collect(Collectors.groupingBy(PipTask::getStageId)); Map<String, List<PipTask>> stageIdMap = taskList.stream().collect(Collectors.groupingBy(PipTask::getStageId));
for (PipStage secondStage : secondStageList) { for (PipStage secondStage : secondStageList) {
@ -343,14 +343,14 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
secondStage.setCreateTime(LocalDateTime.now()); secondStage.setCreateTime(LocalDateTime.now());
secondStage.setUpdateTime(LocalDateTime.now()); secondStage.setUpdateTime(LocalDateTime.now());
secondStage.setUpdateUserId(loginUserId); secondStage.setUpdateUserId(loginUserId);
secondStage.setParentId(firstStage.getStageId()); secondStage.setParentId(firstStage.getId());
String secondStageId = secondStage.getStageId(); String secondStageId = secondStage.getId();
List<PipTask> childTask = stageIdMap.get(secondStageId); List<PipTask> childTask = stageIdMap.get(secondStageId);
secondStage.setStageId(null); secondStage.setId(null);
save(secondStage); save(secondStage);
for (PipTask pipTask : childTask) { for (PipTask pipTask : childTask) {
pipTask.setStageId(secondStage.getStageId()); pipTask.setStageId(secondStage.getId());
pipTask.setTaskId(null); pipTask.setId(null);
pipTask.setCreateUserId(loginUserId); pipTask.setCreateUserId(loginUserId);
pipTask.setCreateTime(LocalDateTime.now()); pipTask.setCreateTime(LocalDateTime.now());
pipTask.setUpdateTime(LocalDateTime.now()); pipTask.setUpdateTime(LocalDateTime.now());
@ -365,11 +365,11 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
public List<PipStage> findSecondStageAndTask(String stagesId){ public List<PipStage> findSecondStageAndTask(String stagesId){
List<PipStage> otherStage = findSecondStage(stagesId); List<PipStage> otherStage = findSecondStage(stagesId);
List<PipStage> list = new ArrayList<>(); List<PipStage> list = new ArrayList<>();
List<String> stageIdList = otherStage.stream().map(PipStage::getStageId).toList(); List<String> stageIdList = otherStage.stream().map(PipStage::getId).toList();
Map<String, List<PipTask>> stageIdTaskMap = taskService.listByIds(stageIdList).stream().collect(Collectors.groupingBy(PipTask::getStageId)); Map<String, List<PipTask>> stageIdTaskMap = taskService.listByIds(stageIdList).stream().collect(Collectors.groupingBy(PipTask::getStageId));
for (PipStage stage : otherStage) { for (PipStage stage : otherStage) {
//获取阶段配置及任务 //获取阶段配置及任务
String otherId = stage.getStageId(); String otherId = stage.getId();
List<PipTask> allStageTask = stageIdTaskMap.get(otherId); List<PipTask> allStageTask = stageIdTaskMap.get(otherId);
stage.setTaskValues(allStageTask); stage.setTaskValues(allStageTask);
list.add(stage); list.add(stage);

View File

@ -56,7 +56,7 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
@Override @Override
public List<PipTask> getTask(PipTask task) { public List<PipTask> getTask(PipTask task) {
LambdaQueryWrapper<PipTask> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PipTask> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotEmpty(task.getTaskId()),PipTask::getTaskId,task.getTaskId()); wrapper.eq(StringUtils.isNotEmpty(task.getId()),PipTask::getId,task.getId());
wrapper.eq(StringUtils.isNotEmpty(task.getPipelineId()),PipTask::getPipelineId,task.getPipelineId()); wrapper.eq(StringUtils.isNotEmpty(task.getPipelineId()),PipTask::getPipelineId,task.getPipelineId());
wrapper.eq(StringUtils.isNotEmpty(task.getStageId()),PipTask::getStageId,task.getStageId()); wrapper.eq(StringUtils.isNotEmpty(task.getStageId()),PipTask::getStageId,task.getStageId());
return taskDao.selectList(wrapper); return taskDao.selectList(wrapper);
@ -64,7 +64,7 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
@Override @Override
public TasksResp getRespById(String taskId){ public TasksResp getRespById(String taskId){
PipTask pipTask = new PipTask(); PipTask pipTask = new PipTask();
pipTask.setTaskId(taskId); pipTask.setId(taskId);
List<PipTask> taskList = getTask(pipTask); List<PipTask> taskList = getTask(pipTask);
if (!CollectionUtils.isEmpty(taskList)) { if (!CollectionUtils.isEmpty(taskList)) {
return null; return null;
@ -90,7 +90,7 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
} }
List<PipTask> updateList = new ArrayList<>(sameLevelTaskList.size()); List<PipTask> updateList = new ArrayList<>(sameLevelTaskList.size());
for (PipTask pipTask : sameLevelTaskList) { for (PipTask pipTask : sameLevelTaskList) {
if (!pipTask.getTaskId().equals(sourceTask.getTaskId())) { if (!pipTask.getId().equals(sourceTask.getId())) {
if (pipTask.getTaskSort()>sourceTask.getTaskSort()) { if (pipTask.getTaskSort()>sourceTask.getTaskSort()) {
pipTask.setTaskSort(pipTask.getTaskSort()+1); pipTask.setTaskSort(pipTask.getTaskSort()+1);
updateList.add(pipTask); updateList.add(pipTask);
@ -98,7 +98,7 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
} }
} }
sourceTask.setTaskSort(sourceTask.getTaskSort()+1); sourceTask.setTaskSort(sourceTask.getTaskSort()+1);
sourceTask.setTaskId(null); sourceTask.setId(null);
save(sourceTask); save(sourceTask);
if (!CollectionUtils.isEmpty(updateList)) { if (!CollectionUtils.isEmpty(updateList)) {
updateBatchById(updateList); updateBatchById(updateList);

View File

@ -15,7 +15,7 @@ import java.util.List;
public class ProjectCreateUserInfo { public class ProjectCreateUserInfo {
@Schema(title = "操作人") @Schema(title = "操作人")
private String createUserId; private Long createUserId;
@Schema(title = "待分配的角色名称") @Schema(title = "待分配的角色名称")
private String roleName; private String roleName;