diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineReq.java index 5613919..800d123 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineReq.java @@ -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; // // 以下为统计信息 diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineUpdateReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineUpdateReq.java index e2d44d6..d4ede3c 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineUpdateReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/pipeline/PipelineUpdateReq.java @@ -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; } diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/pipeline/PipelineFindResp.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/pipeline/PipelineFindResp.java index 0926044..0d8ffd2 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/pipeline/PipelineFindResp.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/pipeline/PipelineFindResp.java @@ -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 stageList; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/pipeline/PipPipeline.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/pipeline/PipPipeline.java index f595d53..cf501aa 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/pipeline/PipPipeline.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/pipeline/PipPipeline.java @@ -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; } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java index b8dd8d7..f875fcb 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/PipelineService.java @@ -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 { List findPipelineList(@Valid PipelineQueryReq pipelineQueryReq); - void deletePipeline(String pipelineId); + void deletePipeline(@Valid PipelineReq req); void updatePipeline(@Valid PipelineUpdateReq pipeline); Page findPipelinePage(@Valid PipelineQueryReq query); - void pipelineClone(String pipelineId, String pipelineName); + void pipelineClone(@Valid PipelineReq req); + + PipelineFindResp findPipelineById(@Valid PipelineQueryReq pipelineQueryReq); } 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 68d1bde..1413ffb 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 @@ -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 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 i if (!ObjectUtils.isEmpty(query.getGroupId())){ wrapper.eq("group_id",query.getGroupId()); } - Page page = new Page<>(query.getPageNo(), query.getPageSize()); - Page pipPipelinePage = pipelineDao.selectPage(page, wrapper); + Page 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 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 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; + } } diff --git a/ops-server/src/main/java/cd/casic/server/controller/PipelineController.java b/ops-server/src/main/java/cd/casic/server/controller/PipelineController.java index 362c07f..f4ae258 100644 --- a/ops-server/src/main/java/cd/casic/server/controller/PipelineController.java +++ b/ops-server/src/main/java/cd/casic/server/controller/PipelineController.java @@ -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 deletePipeline(@NotNull String pipelineId){ + @PermitAll + @PostMapping(path="/findPipelineById") + public CommonResult findPipelineById(@RequestBody @Valid PipelineQueryReq pipelineQueryReq){ - pipelineService.deletePipeline(pipelineId); + PipelineFindResp resp = pipelineService.findPipelineById(pipelineQueryReq); + + return CommonResult.success(resp); + } + + @PostMapping(path="/deletePipeline") + public CommonResult deletePipeline(@RequestBody @Valid PipelineReq req){ + + pipelineService.deletePipeline(req); return CommonResult.success(); } @@ -81,9 +91,8 @@ public class PipelineController { @PostMapping(path="/pipelineClone") - public CommonResult pipelineClone(@NotNull String pipelineId,@NotNull String pipelineName){ - - pipelineService.pipelineClone(pipelineId,pipelineName); + public CommonResult pipelineClone(@RequestBody @Valid PipelineReq req){ + pipelineService.pipelineClone(req); return CommonResult.success(); }