This commit is contained in:
HopeLi 2025-05-16 16:12:21 +08:00
parent 4086b0ded7
commit a6958b930d
7 changed files with 205 additions and 154 deletions

View File

@ -14,77 +14,77 @@ public class PipelineReq {
private String name;
private String userId;
private String envId;
private String groupId;
/**
* @pi.name:createTime
* @pi.dataType:string
* @pi.desc:流水线创建时间
* @pi.value:createTime
*/
private String createTime;
/**
* @pi.name:type
* @pi.dataType:Integer
* @pi.desc:流水线类型 1.多任务 2.多阶段
* @pi.value: 1
*/
private int type;
/**
* @pi.name:state
* @pi.dataType:Integer
* @pi.desc:运行状态 1.未运行 2.运行中
* @pi.value:1
*/
private int state;
/**
* @pi.name:power
* @pi.dataType:Integer
* @pi.desc:项目作用域 1.全局 2.项目
* @pi.value:1
*/
private int power;
/**
* @pi.name:color
* @pi.dataType:Integer
* @pi.desc:颜色 1~5随机生成
* @pi.value:2
*/
private int color;
/**
* @pi.name:template
* @pi.dataType:string
* @pi.desc:流水线模板
* @pi.value:template
*/
private String templateId;
private String targetId;
private String targetType;
private String pipelineTag;
private String resourceId;
private String remark;
/**
* @pi.name:collect
* @pi.dataType:Integer
* @pi.desc:收藏 0.未收藏 1.收藏
* @pi.value:2
*/
private int collect;
// private String userId;
//
// private String envId;
//
// private String groupId;
//
// /**
// * @pi.name:createTime
// * @pi.dataType:string
// * @pi.desc:流水线创建时间
// * @pi.value:createTime
// */
// private String createTime;
//
// /**
// * @pi.name:type
// * @pi.dataType:Integer
// * @pi.desc:流水线类型 1.多任务 2.多阶段
// * @pi.value: 1
// */
// private int type;
//
// /**
// * @pi.name:state
// * @pi.dataType:Integer
// * @pi.desc:运行状态 1.未运行 2.运行中
// * @pi.value:1
// */
// private int state;
//
// /**
// * @pi.name:power
// * @pi.dataType:Integer
// * @pi.desc:项目作用域 1.全局 2.项目
// * @pi.value:1
// */
// private int power;
//
// /**
// * @pi.name:color
// * @pi.dataType:Integer
// * @pi.desc:颜色 1~5随机生成
// * @pi.value:2
// */
// private int color;
//
// /**
// * @pi.name:template
// * @pi.dataType:string
// * @pi.desc:流水线模板
// * @pi.value:template
// */
// private String templateId;
//
// private String targetId;
//
// private String targetType;
//
// private String pipelineTag;
//
// private String resourceId;
//
// private String remark;
//
// /**
// * @pi.name:collect
// * @pi.dataType:Integer
// * @pi.desc:收藏 0.未收藏 1.收藏
// * @pi.value:2
// */
// private int collect;
// // 以下为统计信息

View File

@ -16,18 +16,9 @@ public class PipelineUpdateReq {
private String name;
private String createUserId;
private String updateUserId;
private String envId;
private String groupId;
private LocalDateTime createTime;
private LocalDateTime updateTime;
/**
* @pi.name:type
* @pi.dataType:Integer
@ -74,7 +65,7 @@ public class PipelineUpdateReq {
private String pipelineTag;
private String resourceId;
private String projectId;
private String remark;
@ -93,57 +84,4 @@ public class PipelineUpdateReq {
private String pipelineTriggerMode;
private String executeStatus;
// // 以下为统计信息
//
//
// /**
// * @pi.model:execUser
// * @pi.desc:用户(执行人)
// */
// private User execUser;
//
// /**
// * @pi.name:number
// * @pi.dataType:Integer
// * @pi.desc:执行次数
// * @pi.value:2
// */
// private Integer number;
//
// /**
// * @pi.name:instanceId
// * @pi.dataType:string
// * @pi.desc:实例id
// * @pi.value:instanceId
// */
// private String instanceId;
//
//
// /**
// * @pi.name:buildStatus
// * @pi.dataType:string
// * @pi.desc:最近构建状态
// * @pi.value:buildStatus
// */
// private String buildStatus;
//
//
// /**
// * @pi.name:lastBuildTime
// * @pi.dataType:string
// * @pi.desc:最近构建时间
// * @pi.value:lastBuildTime
// */
// private String lastBuildTime;
//
//
// /**
// * @pi.name:isExec
// * @pi.dataType:boolean
// * @pi.desc:是否可以执行
// * @pi.value:true
// */
// private Boolean isExec;
}

View File

@ -48,6 +48,10 @@ public class PipelineFindResp {
*/
private String executeUserId;
private String groupId;
private String pipelineTag;
/**
* 执行时间
*/
@ -63,6 +67,41 @@ public class PipelineFindResp {
*/
private String executeStatus;
/**
* 所属项目id
*/
private String projectId;
/**
* 持续时间
*/
private Long durationTime;
/**
* 开始执行时间
*/
private LocalDateTime startExecuteTime;
/**
* 代码变更次数
*/
private String codeChange;
/**
* 运行产物
*/
private String operatingProducts;
/**
* 环境变量
*/
private String environmentVariable;
/**
* 运行实例编号
*/
private String instanceNum;
private List<StageResp> stageList;

View File

@ -24,13 +24,19 @@ public class PipPipeline {
*/
private String createUserId;
private String updateUserId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 最后修改人用户id
*/
private String updateUserId;
/**
* 最后修改时间
*/
private LocalDateTime updateTime;
/**
@ -59,7 +65,7 @@ public class PipPipeline {
private String templateId;
/**
* 是否收藏 0.未收藏 1.收藏
* 是否收藏 0.未收藏/1.收藏
*/
private Integer collect;
@ -73,6 +79,11 @@ public class PipPipeline {
*/
private String targetType;
/**
* 流水线标签
*/
private String pipelineTag;
/**
* 流水线组id
*/
@ -113,13 +124,38 @@ public class PipPipeline {
*/
private String executeStatus;
/**
* 流水线标签
*/
private String pipelineTag;
/**
* 所属项目id
*/
private String projectId;
/**
* 持续时间
*/
private Long durationTime;
/**
* 开始执行时间
*/
private LocalDateTime startExecuteTime;
/**
* 代码变更次数
*/
private String codeChange;
/**
* 运行产物
*/
private String operatingProducts;
/**
* 环境变量
*/
private String environmentVariable;
/**
* 运行实例编号
*/
private String instanceNum;
}

View File

@ -2,6 +2,7 @@ package cd.casic.ci.process.process.service.pipeline;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineCreateReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineQueryReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineUpdateReq;
import cd.casic.ci.common.pipeline.resp.pipeline.PipelineFindResp;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
@ -23,11 +24,13 @@ public interface PipelineService extends IService<PipPipeline> {
List<PipelineFindResp> findPipelineList(@Valid PipelineQueryReq pipelineQueryReq);
void deletePipeline(String pipelineId);
void deletePipeline(@Valid PipelineReq req);
void updatePipeline(@Valid PipelineUpdateReq pipeline);
Page<PipelineFindResp> findPipelinePage(@Valid PipelineQueryReq query);
void pipelineClone(String pipelineId, String pipelineName);
void pipelineClone(@Valid PipelineReq req);
PipelineFindResp findPipelineById(@Valid PipelineQueryReq pipelineQueryReq);
}

View File

@ -2,6 +2,7 @@ package cd.casic.ci.process.process.service.pipeline.impl;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineCreateReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineQueryReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineUpdateReq;
import cd.casic.ci.common.pipeline.resp.pipeline.PipelineFindResp;
import cd.casic.ci.common.pipeline.resp.stage.StageResp;
@ -290,7 +291,13 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
@Override
@Transactional(rollbackFor = Exception.class)
public void deletePipeline(String pipelineId) {
public void deletePipeline(PipelineReq req) {
if (StringUtils.isEmpty(req.getId())){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"id不能为空");
}
String pipelineId = req.getId();
if (ObjectUtils.isEmpty(pipelineId)){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"请求参数不能为空");
}
@ -360,8 +367,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
if (!ObjectUtils.isEmpty(query.getGroupId())){
wrapper.eq("group_id",query.getGroupId());
}
Page<PipPipeline> page = new Page<>(query.getPageNo(), query.getPageSize());
Page<PipPipeline> pipPipelinePage = pipelineDao.selectPage(page, wrapper);
Page<PipPipeline> pipPipelinePage = pipelineDao.selectPage(new Page<>(query.getPageNo(), query.getPageSize()), wrapper);
if (ObjectUtils.isEmpty(pipPipelinePage)){
return new Page<>();
@ -376,7 +382,12 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
}
@Override
public void pipelineClone(String pipelineId, String pipelineName) {
public void pipelineClone(PipelineReq req) {
if (StringUtils.isEmpty(req.getId()) || StringUtils.isEmpty(req.getName())){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"参数不能为空");
}
String pipelineId = req.getId();
String pipelineName = req.getName();
PipPipeline pipeline = pipelineDao.selectById(pipelineId);
if (ObjectUtils.isEmpty(pipeline)){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"数据错误,请联系管理员");
@ -447,4 +458,19 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
//TODO 复制状态下资源处理不明确暂时只做resourceId的继承保留
}
@Override
public PipelineFindResp findPipelineById(PipelineQueryReq pipelineQueryReq) {
if (StringUtils.isEmpty(pipelineQueryReq.getId())){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"id参数不能为空");
}
PipPipeline pipeline = pipelineDao.selectById(pipelineQueryReq.getId());
if (ObjectUtils.isEmpty(pipeline)){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"数据错误,请联系管理员");
}
PipelineFindResp resp = PipelineConverter.INSTANCE.toResp(pipeline);
setStageAndTask(resp);
return resp;
}
}

View File

@ -2,6 +2,7 @@ package cd.casic.server.controller;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineCreateReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineQueryReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineReq;
import cd.casic.ci.common.pipeline.req.pipeline.PipelineUpdateReq;
import cd.casic.ci.common.pipeline.resp.pipeline.PipelineFindResp;
import cd.casic.ci.process.process.service.pipeline.PipelineService;
@ -51,10 +52,19 @@ public class PipelineController {
return CommonResult.success(respList);
}
@PostMapping(path="/deletePipeline")
public CommonResult<Void> deletePipeline(@NotNull String pipelineId){
@PermitAll
@PostMapping(path="/findPipelineById")
public CommonResult<PipelineFindResp> findPipelineById(@RequestBody @Valid PipelineQueryReq pipelineQueryReq){
pipelineService.deletePipeline(pipelineId);
PipelineFindResp resp = pipelineService.findPipelineById(pipelineQueryReq);
return CommonResult.success(resp);
}
@PostMapping(path="/deletePipeline")
public CommonResult<Void> deletePipeline(@RequestBody @Valid PipelineReq req){
pipelineService.deletePipeline(req);
return CommonResult.success();
}
@ -81,9 +91,8 @@ public class PipelineController {
@PostMapping(path="/pipelineClone")
public CommonResult<Void> pipelineClone(@NotNull String pipelineId,@NotNull String pipelineName){
pipelineService.pipelineClone(pipelineId,pipelineName);
public CommonResult<Void> pipelineClone(@RequestBody @Valid PipelineReq req){
pipelineService.pipelineClone(req);
return CommonResult.success();
}