diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/context/SingletonRunContextResp.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/context/SingletonRunContextResp.java index deb935ce..2cef012f 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/context/SingletonRunContextResp.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/context/SingletonRunContextResp.java @@ -21,4 +21,6 @@ public class SingletonRunContextResp { private LocalDateTime endTime; private String duration; private String logId; + private String userId; + private String nickName; } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/executor/impl/DefaultPipelineExecutor.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/executor/impl/DefaultPipelineExecutor.java index 41c7af91..0a22f45f 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/executor/impl/DefaultPipelineExecutor.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/executor/impl/DefaultPipelineExecutor.java @@ -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.service.pipeline.PipelineService; 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.enums.GlobalErrorCodeConstants; 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.util.CollectionUtils; +import java.time.LocalDateTime; import java.util.Collection; import java.util.LinkedList; import java.util.List; @@ -98,6 +100,12 @@ public class DefaultPipelineExecutor implements PipelineExecutor { if (context ==null) { return; } + if (context instanceof PipelineRunContext pipelineRunContext) { + pipelineRunContext.setUserId(WebFrameworkUtils.getLoginUserIdStr()); + pipelineRunContext.setUserId(WebFrameworkUtils.getLoginNickName()); + pipelineRunContext.setStartTime(LocalDateTime.now()); + } + allContextList.add(context); Collection stageContextList = context.getChildContext().values(); allContextList.addAll(stageContextList); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/template/TemplateTask.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/template/TemplateTask.java index 038221ca..2858d1b0 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/template/TemplateTask.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/template/TemplateTask.java @@ -2,6 +2,7 @@ package cd.casic.ci.process.process.dataObject.template; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,6 +20,7 @@ import java.util.Map; @EqualsAndHashCode(callSuper = true) @Data +@TableName(autoResultMap = true) public class TemplateTask extends PipBaseElement { /** * 阶段ID 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 e28d1078..fabbbc8c 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 @@ -106,7 +106,10 @@ public class PipelineServiceImpl extends ServiceImpl i pipeline.setState(1); this.save(pipeline); - + // 默认模板id,以后数据库迁移需要更换 + if (StringUtils.isEmpty(pipelineReq.getTemplateId())) { + pipelineReq.setTemplateId("732923254863433728"); + } //根据模板ID初始化 if (!ObjectUtils.isEmpty(pipelineReq.getTemplateId())){ TemplateFindResp template = templateService.findTemplateById(pipelineReq.getTemplateId()); @@ -479,6 +482,8 @@ public class PipelineServiceImpl extends ServiceImpl i pipeline.setState(pipelineRunContext.getState().get()); pipeline.setStartTime(pipelineRunContext.getStartTime()); pipeline.setEndTime(pipelineRunContext.getEndTime()); + pipeline.setUserId(pipelineRunContext.getUserId()); + pipeline.setNickName(pipelineRunContext.getNickName()); Map secondStageStateMap = new HashMap<>(pipelineRunContext.getChildContext().size()); Map childContext = pipelineRunContext.getChildContext(); pipeline.setChild(secondStageStateMap); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/template/impl/TemplateManagerServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/template/impl/TemplateManagerServiceImpl.java index c44a6874..56cc7b57 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/template/impl/TemplateManagerServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/template/impl/TemplateManagerServiceImpl.java @@ -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.TemplateTask; 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.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; @@ -62,6 +64,8 @@ public class TemplateManagerServiceImpl extends ServiceImpl list = new ArrayList<>(); - //拼接流水线模板主节点 - List stageMainStage = findAllMainStage(o.getId()); - if (!stageMainStage.isEmpty()){ - for (TemplateStage stage : stageMainStage) { - String stagesId = stage.getId(); - //获取从节点 - List allStageStage = findSecondStageAndTask(stagesId); - List 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); + List allStagesTask = templateStageService.findAllStagesTask(o.getId()); + o.setStageList(allStagesTask); } private List findSecondStageAndTask(String stagesId) {