模板接口更改

This commit is contained in:
even 2025-07-15 15:21:06 +08:00
parent 3c3002766e
commit c5afe87e3c
5 changed files with 24 additions and 21 deletions

View File

@ -21,4 +21,6 @@ public class SingletonRunContextResp {
private LocalDateTime endTime; private LocalDateTime endTime;
private String duration; private String duration;
private String logId; private String logId;
private String userId;
private String nickName;
} }

View File

@ -14,6 +14,7 @@ import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.stage.PipStage; import cd.casic.ci.process.process.dataObject.stage.PipStage;
import cd.casic.ci.process.process.service.pipeline.PipelineService; import cd.casic.ci.process.process.service.pipeline.PipelineService;
import cd.casic.ci.process.process.service.stage.StageService; import cd.casic.ci.process.process.service.stage.StageService;
import cd.casic.ci.process.util.WebFrameworkUtils;
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 cd.casic.framework.mq.redis.core.RedisMQTemplate; import cd.casic.framework.mq.redis.core.RedisMQTemplate;
@ -23,6 +24,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@ -98,6 +100,12 @@ public class DefaultPipelineExecutor implements PipelineExecutor {
if (context ==null) { if (context ==null) {
return; return;
} }
if (context instanceof PipelineRunContext pipelineRunContext) {
pipelineRunContext.setUserId(WebFrameworkUtils.getLoginUserIdStr());
pipelineRunContext.setUserId(WebFrameworkUtils.getLoginNickName());
pipelineRunContext.setStartTime(LocalDateTime.now());
}
allContextList.add(context); allContextList.add(context);
Collection<BaseRunContext> stageContextList = context.getChildContext().values(); Collection<BaseRunContext> stageContextList = context.getChildContext().values();
allContextList.addAll(stageContextList); allContextList.addAll(stageContextList);

View File

@ -2,6 +2,7 @@ package cd.casic.ci.process.process.dataObject.template;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -19,6 +20,7 @@ import java.util.Map;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@TableName(autoResultMap = true)
public class TemplateTask extends PipBaseElement { public class TemplateTask extends PipBaseElement {
/** /**
* 阶段ID * 阶段ID

View File

@ -106,7 +106,10 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipeline.setState(1); pipeline.setState(1);
this.save(pipeline); this.save(pipeline);
// 默认模板id以后数据库迁移需要更换
if (StringUtils.isEmpty(pipelineReq.getTemplateId())) {
pipelineReq.setTemplateId("732923254863433728");
}
//根据模板ID初始化 //根据模板ID初始化
if (!ObjectUtils.isEmpty(pipelineReq.getTemplateId())){ if (!ObjectUtils.isEmpty(pipelineReq.getTemplateId())){
TemplateFindResp template = templateService.findTemplateById(pipelineReq.getTemplateId()); TemplateFindResp template = templateService.findTemplateById(pipelineReq.getTemplateId());
@ -479,6 +482,8 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipeline.setState(pipelineRunContext.getState().get()); pipeline.setState(pipelineRunContext.getState().get());
pipeline.setStartTime(pipelineRunContext.getStartTime()); pipeline.setStartTime(pipelineRunContext.getStartTime());
pipeline.setEndTime(pipelineRunContext.getEndTime()); pipeline.setEndTime(pipelineRunContext.getEndTime());
pipeline.setUserId(pipelineRunContext.getUserId());
pipeline.setNickName(pipelineRunContext.getNickName());
Map<String,TreeRunContextResp> secondStageStateMap = new HashMap<>(pipelineRunContext.getChildContext().size()); Map<String,TreeRunContextResp> secondStageStateMap = new HashMap<>(pipelineRunContext.getChildContext().size());
Map<String, BaseRunContext> childContext = pipelineRunContext.getChildContext(); Map<String, BaseRunContext> childContext = pipelineRunContext.getChildContext();
pipeline.setChild(secondStageStateMap); pipeline.setChild(secondStageStateMap);

View File

@ -14,6 +14,8 @@ import cd.casic.ci.process.process.dataObject.template.TemplateManager;
import cd.casic.ci.process.process.dataObject.template.TemplateStage; import cd.casic.ci.process.process.dataObject.template.TemplateStage;
import cd.casic.ci.process.process.dataObject.template.TemplateTask; import cd.casic.ci.process.process.dataObject.template.TemplateTask;
import cd.casic.ci.process.process.service.template.TemplateManagerService; import cd.casic.ci.process.process.service.template.TemplateManagerService;
import cd.casic.ci.process.process.service.template.TemplateStageService;
import cd.casic.ci.process.process.service.template.TemplateTaskService;
import cd.casic.ci.process.util.snowflake.SnowflakeIdentifierGenerator; import cd.casic.ci.process.util.snowflake.SnowflakeIdentifierGenerator;
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;
@ -62,6 +64,8 @@ public class TemplateManagerServiceImpl extends ServiceImpl<TemplateManagerDao,
@Resource @Resource
private TemplateConverter templateConverter; private TemplateConverter templateConverter;
@Resource @Resource
private TemplateStageService templateStageService;
@Resource
private SnowflakeIdentifierGenerator idWork; private SnowflakeIdentifierGenerator idWork;
public String createTemplateManager(TemplateCreateReq req){ public String createTemplateManager(TemplateCreateReq req){
@ -205,27 +209,9 @@ public class TemplateManagerServiceImpl extends ServiceImpl<TemplateManagerDao,
private void setStageAndTask(TemplateFindResp o) { private void setStageAndTask(TemplateFindResp o) {
List<TemplateStageResp> list = new ArrayList<>();
//拼接流水线模板主节点 //拼接流水线模板主节点
List<TemplateStage> stageMainStage = findAllMainStage(o.getId()); List<TemplateStageResp> allStagesTask = templateStageService.findAllStagesTask(o.getId());
if (!stageMainStage.isEmpty()){ o.setStageList(allStagesTask);
for (TemplateStage stage : stageMainStage) {
String stagesId = stage.getId();
//获取从节点
List<TemplateStage> allStageStage = findSecondStageAndTask(stagesId);
List<TemplateStageResp> stageRespList = allStageStage.stream().map(it -> {
// BeanUtils.copyProperties(it, stageResp);
return JSON.parseObject(JSON.toJSONString(it), TemplateStageResp.class);
}).toList();
TemplateStageResp stageResp = templateConverter.stageTemplateToResp(stage);
stageResp.setStageList(stageRespList);
list.add(stageResp);
}
list.sort(Comparator.comparing(TemplateStageResp::getStageSort));
}
o.setStageList(list);
} }
private List<TemplateStage> findSecondStageAndTask(String stagesId) { private List<TemplateStage> findSecondStageAndTask(String stagesId) {