This commit is contained in:
HopeLi 2025-05-14 18:57:54 +08:00
parent 0082a3a5d6
commit 185f1753f3
13 changed files with 363 additions and 106 deletions

View File

@ -1,7 +1,5 @@
package cd.casic.ci.common.pipeline.req.pipeline; package cd.casic.ci.common.pipeline.req.pipeline;
import cd.casic.framework.commons.dataobject.Group;
import cd.casic.framework.commons.dataobject.User;
import lombok.Data; import lombok.Data;
/** /**
@ -14,32 +12,13 @@ import lombok.Data;
public class PipelineReq { public class PipelineReq {
private String id; private String id;
/**
* @pi.name:name
* @pi.dataType:string
* @pi.desc:流水线名称
* @pi.value:name
*/
private String name; private String name;
/**
* @pi.model:User
* @pi.desc:用户
*/
private String userId; private String userId;
private String envId;
/** private String groupId;
* @pi.model:Env
* @pi.desc:流水线环境
*/
private String env;
/**
* @pi.model:Env
* @pi.desc:流水线组
*/
private Group group;
/** /**
* @pi.name:createTime * @pi.name:createTime
@ -87,7 +66,17 @@ public class PipelineReq {
* @pi.desc:流水线模板 * @pi.desc:流水线模板
* @pi.value:template * @pi.value:template
*/ */
private String template; private String templateId;
private String targetId;
private String targetType;
private String pipelineTag;
private String resourceId;
private String remake;
/** /**
* @pi.name:collect * @pi.name:collect
@ -98,55 +87,55 @@ public class PipelineReq {
private int collect; private int collect;
// 以下为统计信息 // // 以下为统计信息
//
//
/** // /**
* @pi.model:execUser // * @pi.model:execUser
* @pi.desc:用户(执行人) // * @pi.desc:用户(执行人)
*/ // */
private User execUser; // private User execUser;
//
/** // /**
* @pi.name:number // * @pi.name:number
* @pi.dataType:Integer // * @pi.dataType:Integer
* @pi.desc:执行次数 // * @pi.desc:执行次数
* @pi.value:2 // * @pi.value:2
*/ // */
private Integer number; // private Integer number;
//
/** // /**
* @pi.name:instanceId // * @pi.name:instanceId
* @pi.dataType:string // * @pi.dataType:string
* @pi.desc:实例id // * @pi.desc:实例id
* @pi.value:instanceId // * @pi.value:instanceId
*/ // */
private String instanceId; // private String instanceId;
//
//
/** // /**
* @pi.name:buildStatus // * @pi.name:buildStatus
* @pi.dataType:string // * @pi.dataType:string
* @pi.desc:最近构建状态 // * @pi.desc:最近构建状态
* @pi.value:buildStatus // * @pi.value:buildStatus
*/ // */
private String buildStatus; // private String buildStatus;
//
//
/** // /**
* @pi.name:lastBuildTime // * @pi.name:lastBuildTime
* @pi.dataType:string // * @pi.dataType:string
* @pi.desc:最近构建时间 // * @pi.desc:最近构建时间
* @pi.value:lastBuildTime // * @pi.value:lastBuildTime
*/ // */
private String lastBuildTime; // private String lastBuildTime;
//
//
/** // /**
* @pi.name:isExec // * @pi.name:isExec
* @pi.dataType:boolean // * @pi.dataType:boolean
* @pi.desc:是否可以执行 // * @pi.desc:是否可以执行
* @pi.value:true // * @pi.value:true
*/ // */
private Boolean isExec; // private Boolean isExec;
} }

View File

@ -1,8 +1,9 @@
package cd.casic.ci.common.pipeline.req.stage; package cd.casic.ci.common.pipeline.req.stage;
import cd.casic.ci.common.pipeline.resp.task.TasksResp; import cd.casic.ci.common.pipeline.req.task.TasksReq;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
@ -14,7 +15,7 @@ public class StageReq {
private String stageName; private String stageName;
//@ApiProperty(name = "createTime",desc="创建时间") //@ApiProperty(name = "createTime",desc="创建时间")
private String createTime; private LocalDateTime createTime;
//@ApiProperty(name="pipelineId",desc="流水线id") //@ApiProperty(name="pipelineId",desc="流水线id")
private String pipelineId; private String pipelineId;
@ -29,7 +30,7 @@ public class StageReq {
private boolean code = false; private boolean code = false;
//@ApiProperty(name = "taskValues",desc="阶段任务") //@ApiProperty(name = "taskValues",desc="阶段任务")
private List<TasksResp> taskValues; private List<TasksReq> taskValues;
//@ApiProperty(name = "stageList",desc="阶段") //@ApiProperty(name = "stageList",desc="阶段")
private List<StageReq> stageList; private List<StageReq> stageList;

View File

@ -0,0 +1,41 @@
package cd.casic.ci.common.pipeline.req.task;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class TasksReq {
//@ApiProperty(name="taskId",desc="配置id")
private String taskId;
//@ApiProperty(name="createTime",desc="创建时间")
private LocalDateTime createTime;
//@ApiProperty(name="taskType",desc= "类型1-10:源码,10-20:测试,20-30:构建,30-40:部署,40-50:代码扫描,50-60:推送制品")
private String taskType;
//@ApiProperty(name="taskSort",desc="顺序")
private int taskSort;
//@ApiProperty(name="taskName",desc="顺序")
private String taskName;
//@ApiProperty(name="values",desc="任务")
private JSONObject taskProperties;
//@ApiProperty(name="pipeline",desc="流水线id",eg="@selectOne")
private String pipelineId;
//@ApiProperty(name="postprocessId",desc="后置处理id",eg="@selectOne")
private String postprocessId;;
//@ApiProperty(name="stageId",desc="阶段",eg="@selectOne")
private String stageId;
//@ApiProperty(name="task",desc="任务",eg="@selectOne")
// 执行实例id
private String instanceId;
}

View File

@ -1,16 +1,17 @@
package cd.casic.ci.common.pipeline.resp.task; package cd.casic.ci.common.pipeline.resp.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
@Data @Data
public class TasksResp { public class TasksResp {
//@ApiProperty(name="taskId",desc="配置id") //@ApiProperty(name="taskId",desc="配置id")
private String taskId; private String taskId;
//@ApiProperty(name="createTime",desc="创建时间") //@ApiProperty(name="createTime",desc="创建时间")
private String createTime; private LocalDateTime createTime;
//@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

@ -2,14 +2,87 @@ package cd.casic.ci.process.process.dataObject.pipeline;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
@Data @Data
public class PipPipeline { public class PipPipeline {
/**
* 主键id
*/
private String id; private String id;
/**
* 流水线名称
*/
private String name; private String name;
/**
* 用户id
*/
private String userId; private String userId;
private String createTime;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 流水线类型 1.多任务 2.多阶段
*/
private Integer type; private Integer type;
/**
* 运行状态 1.未运行 2.运行中
*/
private Integer state; private Integer state;
/**
* 项目作用域 1.全局 2.项目
*/
private Integer power; private Integer power;
/**
* 颜色 1~5随机生成
*/
private Integer color; private Integer color;
/**
* 流水线模板id
*/
private String templateId;
/**
* 是否收藏 0.未收藏/1.收藏
*/
private Integer collect;
/**
* 目标id
*/
private String targetId;
/**
* 目标类型
*/
private String targetType;
/**
* 流水线组id
*/
private String groupId;
/**
* 资源id
*/
private String resourceId;
/**
* 备注
*/
private String remake;
/**
* 流水线环境
*/
private String envId;
} }

View File

@ -3,6 +3,7 @@ package cd.casic.ci.process.process.dataObject.stage;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
public class PipStage { public class PipStage {
@ -13,7 +14,7 @@ public class PipStage {
private String stageName; private String stageName;
//@ApiProperty(name = "createTime",desc="创建时间") //@ApiProperty(name = "createTime",desc="创建时间")
private String createTime; private LocalDateTime createTime;
//@ApiProperty(name="pipelineId",desc="流水线id") //@ApiProperty(name="pipelineId",desc="流水线id")
private String pipelineId; private String pipelineId;

View File

@ -3,13 +3,15 @@ package cd.casic.ci.process.process.dataObject.task;
import lombok.Data; import lombok.Data;
import org.json.JSONObject; import org.json.JSONObject;
import java.time.LocalDateTime;
@Data @Data
public class PipTask { public class PipTask {
//@ApiProperty(name="taskId",desc="配置id") //@ApiProperty(name="taskId",desc="配置id")
private String taskId; private String taskId;
//@ApiProperty(name="createTime",desc="创建时间") //@ApiProperty(name="createTime",desc="创建时间")
private String createTime; private LocalDateTime createTime;
//@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

@ -1,17 +1,22 @@
package cd.casic.ci.process.process.service.pipeline.impl; package cd.casic.ci.process.process.service.pipeline.impl;
import cd.casic.ci.common.pipeline.constant.PipelineDateUtilConstant;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineReq; import cd.casic.ci.common.pipeline.req.pipeline.PipelineReq;
import cd.casic.ci.common.pipeline.utils.PipelineDateUtil;
import cd.casic.ci.process.process.dal.pipeline.PipelineDao; import cd.casic.ci.process.process.dal.pipeline.PipelineDao;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; 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.task.PipTask;
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.impl.StageServiceImpl;
import cd.casic.ci.process.process.service.task.impl.TaskServiceImpl;
import cd.casic.framework.commons.util.object.BeanUtils; import cd.casic.framework.commons.util.object.BeanUtils;
import cd.casic.framework.commons.util.util.WebFrameworkUtils; import cd.casic.framework.commons.util.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
/** /**
@ -24,7 +29,14 @@ import java.util.Objects;
@Service @Service
@Slf4j @Slf4j
public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> implements PipelineService { public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> implements PipelineService {
@Resource
private StageServiceImpl stageService;
@Resource
private TaskServiceImpl taskService;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public String createPipeline(PipelineReq pipelineReq) { public String createPipeline(PipelineReq pipelineReq) {
PipPipeline pipeline = new PipPipeline(); PipPipeline pipeline = new PipPipeline();
@ -33,7 +45,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
int randomNumber = (int)(Math.random() * 5) + 1; int randomNumber = (int)(Math.random() * 5) + 1;
pipeline.setColor(randomNumber); pipeline.setColor(randomNumber);
pipeline.setCreateTime(PipelineDateUtil.nowDateString(PipelineDateUtilConstant.yyyy_MM_dd_HH_mm_ss)); pipeline.setCreateTime(LocalDateTime.now());
if (Objects.isNull(pipeline.getUserId())){ if (Objects.isNull(pipeline.getUserId())){
String loginUserId = String.valueOf(WebFrameworkUtils.getLoginUserId()); String loginUserId = String.valueOf(WebFrameworkUtils.getLoginUserId());
pipeline.setUserId(loginUserId); pipeline.setUserId(loginUserId);
@ -42,7 +54,128 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
pipeline.setState(1); pipeline.setState(1);
this.save(pipeline); this.save(pipeline);
//TODO 创建关联的流水线模板 //TODO 根据模板覆写对应的阶段信息以及节点信息
// List<StageReq> stageReqList = templateService.findStageById(pipelineReq.getTemplateId());
// stageReqList.forEach(o->{
// o.setPipelineId(pipeline.getId());
// });
//新增初始阶段无串行并行任务
PipStage stageReq1 = new PipStage();
stageReq1.setPipelineId(pipeline.getId());
stageReq1.setStageName("阶段-1");
stageReq1.setCreateTime(LocalDateTime.now());
stageReq1.setStageSort(1);
stageReq1.setParentId("-1");
stageReq1.setCode(true);
stageService.save(stageReq1);
PipStage childStage1 = new PipStage();
childStage1.setStageName("源码");
childStage1.setCreateTime(LocalDateTime.now());
childStage1.setStageSort(1);
childStage1.setCode(false);
childStage1.setParentId(stageReq1.getStageId());
stageService.save(childStage1);
//新增第二个阶段包含串行和并行任务
PipStage stageReq2 = new PipStage();
stageReq2.setPipelineId(pipeline.getId());
stageReq2.setStageName("阶段-2");
stageReq2.setCreateTime(LocalDateTime.now());
stageReq2.setStageSort(2);
stageReq2.setParentId("-1");
stageReq2.setCode(true);
stageService.save(stageReq2);
//新增并行阶段
PipStage childStage21 = new PipStage();
childStage21.setStageName("并行阶段-2-1");
childStage21.setCreateTime(LocalDateTime.now());
childStage21.setStageSort(1);
childStage21.setCode(false);
childStage21.setParentId(stageReq2.getStageId());
stageService.save(childStage21);
//新增串行阶段
PipTask childTask21 = new PipTask();
childTask21.setCreateTime(LocalDateTime.now());
childTask21.setTaskName("串行任务-2-1");
childTask21.setTaskType("test");
childTask21.setTaskSort(1);
childTask21.setStageId(childStage21.getStageId());
taskService.save(childTask21);
//------------------------------------------------------------------
PipStage childStage22 = new PipStage();
childStage22.setStageName("并行阶段-2-2");
childStage22.setCreateTime(LocalDateTime.now());
childStage22.setStageSort(2);
childStage22.setCode(false);
childStage22.setParentId(stageReq2.getStageId());
stageService.save(childStage22);
PipTask childTask22 = new PipTask();
childTask22.setCreateTime(LocalDateTime.now());
childTask22.setTaskName("串行任务-2-2");
childTask22.setTaskType("test");
childTask22.setTaskSort(2);
childTask22.setStageId(childStage22.getStageId());
taskService.save(childTask22);
//创建第三个阶段
PipStage stageReq3 = new PipStage();
stageReq3.setPipelineId(pipeline.getId());
stageReq3.setStageName("阶段-3");
stageReq3.setCreateTime(LocalDateTime.now());
stageReq3.setStageSort(3);
stageReq3.setParentId("-1");
stageReq3.setCode(true);
stageService.save(stageReq3);
PipStage childStage3 = new PipStage();
childStage3.setStageName("");
childStage3.setCreateTime(LocalDateTime.now());
childStage3.setStageSort(1);
childStage3.setCode(false);
childStage3.setParentId(stageReq3.getStageId());
stageService.save(childStage3);
PipTask childTask31 = new PipTask();
childTask31.setCreateTime(LocalDateTime.now());
childTask31.setTaskName("串行任务-3-1");
childTask31.setTaskType("test");
childTask31.setTaskSort(1);
childTask31.setStageId(childStage3.getStageId());
taskService.save(childTask31);
//创建第四个阶段
PipStage stageReq4 = new PipStage();
stageReq4.setPipelineId(pipeline.getId());
stageReq4.setStageName("阶段-4");
stageReq4.setCreateTime(LocalDateTime.now());
stageReq4.setStageSort(4);
stageReq4.setParentId("-1");
stageReq4.setCode(true);
stageService.save(stageReq4);
PipStage childStage4 = new PipStage();
childStage4.setStageName("");
childStage4.setCreateTime(LocalDateTime.now());
childStage4.setStageSort(1);
childStage4.setCode(false);
childStage4.setParentId(stageReq4.getStageId());
stageService.save(childStage4);
PipTask childTask41 = new PipTask();
childTask41.setCreateTime(LocalDateTime.now());
childTask41.setTaskName("串行任务-4-1");
childTask41.setTaskType("test");
childTask41.setTaskSort(1);
childTask41.setStageId(childStage4.getStageId());
taskService.save(childTask41);
//TODO 创建对应的鉴权关系 //TODO 创建对应的鉴权关系
//TODO 创建对应的消息分发 //TODO 创建对应的消息分发
return pipeline.getId(); return pipeline.getId();

View File

@ -3,10 +3,13 @@ package cd.casic.ci.process.process.service.stage;
import cd.casic.ci.common.pipeline.req.stage.StageReq; import cd.casic.ci.common.pipeline.req.stage.StageReq;
import cd.casic.ci.common.pipeline.resp.stage.StageResp; import cd.casic.ci.common.pipeline.resp.stage.StageResp;
import cd.casic.ci.process.process.dataObject.stage.PipStage; import cd.casic.ci.process.process.dataObject.stage.PipStage;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import java.util.List; import java.util.List;
public interface StageService { public interface StageService extends IService<PipStage> {
/** /**
* 创建阶段及关联任务 * 创建阶段及关联任务
* @param stage 阶段信息 * @param stage 阶段信息
@ -125,4 +128,6 @@ public interface StageService {
List<StageResp> findAllStagesList(List<String> idList); List<StageResp> findAllStagesList(List<String> idList);
void createStagesOrTaskList(@Valid @NotNull List<StageReq> stageList);
} }

View File

@ -1,10 +1,7 @@
package cd.casic.ci.process.process.service.stage.impl; package cd.casic.ci.process.process.service.stage.impl;
import cd.casic.ci.common.pipeline.constant.PipelineDateUtilConstant;
import cd.casic.ci.common.pipeline.container.Stage;
import cd.casic.ci.common.pipeline.req.stage.StageReq; import cd.casic.ci.common.pipeline.req.stage.StageReq;
import cd.casic.ci.common.pipeline.resp.stage.StageResp; import cd.casic.ci.common.pipeline.resp.stage.StageResp;
import cd.casic.ci.common.pipeline.utils.PipelineDateUtil;
import cd.casic.ci.process.process.dal.pipeline.PipStageDao; import cd.casic.ci.process.process.dal.pipeline.PipStageDao;
import cd.casic.ci.process.process.dataObject.stage.PipStage; import cd.casic.ci.process.process.dataObject.stage.PipStage;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
@ -15,22 +12,22 @@ import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
import cd.casic.framework.commons.util.object.BeanUtils; import cd.casic.framework.commons.util.object.BeanUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jsoup.helper.W3CDom;
import org.springframework.core.task.VirtualThreadTaskExecutor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import static cd.casic.ci.process.constant.PipelineFinalConstant.TASK_TYPE_CODE; import static cd.casic.ci.process.constant.PipelineFinalConstant.TASK_TYPE_CODE;
@Service @Service
public class StageServiceImpl implements StageService { public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> implements StageService {
@Resource @Resource
private TaskService taskService; private TaskService taskService;
@Resource @Resource
@ -46,7 +43,7 @@ public class StageServiceImpl implements StageService {
String taskType = stage.getTaskType(); String taskType = stage.getTaskType();
int stageSort = stage.getStageSort(); int stageSort = stage.getStageSort();
stage.setCreateTime(PipelineDateUtil.nowDateString(PipelineDateUtilConstant.yyyy_MM_dd_HH_mm_ss)); stage.setCreateTime(LocalDateTime.now());
PipTask tasks = new PipTask(); PipTask tasks = new PipTask();
tasks.setTaskType(taskType); tasks.setTaskType(taskType);
@ -252,6 +249,16 @@ public class StageServiceImpl implements StageService {
public List<StageResp> findAllStagesList(List<String> idList) { public List<StageResp> findAllStagesList(List<String> idList) {
return null; return null;
} }
@Override
public void createStagesOrTaskList(List<StageReq> stageList) {
if (!ObjectUtils.isEmpty(stageList)){
stageList.forEach(o->{
this.createStagesOrTask(o);
});
}
}
/** /**
* 判断任务是否存在代码源 * 判断任务是否存在代码源
* @param pipelineId 流水线id * @param pipelineId 流水线id

View File

@ -1,12 +1,11 @@
package cd.casic.ci.process.process.service.task; package cd.casic.ci.process.process.service.task;
import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
import java.util.Objects;
public interface TaskService { public interface TaskService extends IService<PipTask> {
/** /**
* 查询taskType是否存在原项目的各种worker * 查询taskType是否存在原项目的各种worker
* */ * */

View File

@ -1,16 +1,13 @@
package cd.casic.ci.process.process.service.task.impl; package cd.casic.ci.process.process.service.task.impl;
import cd.casic.ci.common.pipeline.annotation.Plugin; import cd.casic.ci.common.pipeline.annotation.Plugin;
import cd.casic.ci.common.pipeline.constant.PipelineDateUtilConstant;
import cd.casic.ci.common.pipeline.utils.PipelineDateUtil;
import cd.casic.ci.process.process.dal.pipeline.PipStageDao; import cd.casic.ci.process.process.dal.pipeline.PipStageDao;
import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dal.pipeline.PipTaskDao;
import cd.casic.ci.process.process.dataObject.stage.PipStage;
import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.ci.process.process.service.task.TaskService;
import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.ServiceException;
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -19,6 +16,7 @@ import org.springframework.context.annotation.ClassPathScanningCandidateComponen
import org.springframework.core.type.filter.AnnotationTypeFilter; import org.springframework.core.type.filter.AnnotationTypeFilter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -27,7 +25,7 @@ import java.util.Set;
import static cd.casic.ci.process.constant.PipelineFinalConstant.TASK_TYPE_CODE; import static cd.casic.ci.process.constant.PipelineFinalConstant.TASK_TYPE_CODE;
@Service @Service
public class TaskServiceImpl implements TaskService { public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements TaskService {
private static final String basePackage = "cd.casic.ci.process.process.service"; private static final String basePackage = "cd.casic.ci.process.process.service";
private Set<BeanDefinition> candidates; private Set<BeanDefinition> candidates;
@Resource @Resource
@ -90,11 +88,11 @@ public class TaskServiceImpl implements TaskService {
tasks.setTaskName(taskName); tasks.setTaskName(taskName);
} }
tasks.setCreateTime(PipelineDateUtil.nowDateString(PipelineDateUtilConstant.yyyy_MM_dd_HH_mm_ss)); tasks.setCreateTime(LocalDateTime.now());
String tasksId = createTasks(tasks); String tasksId = createTasks(tasks);
//创建任务 //创建任务
createDifferentTask(tasksId,taskType,tasks.getValues()); // createDifferentTask(tasksId,taskType,tasks.getValues());
return tasksId; return tasksId;
} }

View File

@ -46,6 +46,13 @@ public class StageController {
return CommonResult.success(taskId); return CommonResult.success(taskId);
} }
@RequestMapping(path="/createStageList",method = RequestMethod.POST)
public CommonResult<String> createStagesOrTaskList(@RequestBody @Valid @NotNull List<StageReq> stageList){
stageService.createStagesOrTaskList(stageList);
return CommonResult.success();
}
/** /**
* @pi.name:查询流水线阶段信息 * @pi.name:查询流水线阶段信息
* @pi.path:/stage/finAllStage * @pi.path:/stage/finAllStage