From 247e65761e9f99467c2eff890e9ce390bfb664da Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Wed, 21 May 2025 14:46:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E8=B0=83=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pipeline/req/task/TaskCreateReq.java | 5 ++++- .../pipeline/req/task/TaskUpdateReq.java | 4 +++- .../ci/common/pipeline/req/task/TasksReq.java | 3 ++- .../common/pipeline/resp/task/TasksResp.java | 3 ++- .../process/dataObject/task/PipTask.java | 12 ++++++++--- .../service/stage/impl/StageServiceImpl.java | 4 ++-- .../service/task/impl/TaskServiceImpl.java | 21 ++++++++++++------- .../server/controller/StageController.java | 2 +- 8 files changed, 36 insertions(+), 18 deletions(-) diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskCreateReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskCreateReq.java index 10e16448..de394847 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskCreateReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskCreateReq.java @@ -2,6 +2,9 @@ package cd.casic.ci.common.pipeline.req.task; import lombok.Data; import org.json.JSONObject; + +import java.util.Map; + @Data public class TaskCreateReq { // 第二级stageId,如果没有值则新建第二级stage @@ -10,5 +13,5 @@ public class TaskCreateReq { private String pipelineId; private String taskType; private Integer taskSort; - private JSONObject taskProperties; + private Map taskProperties; } diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskUpdateReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskUpdateReq.java index f3205577..204bdf90 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskUpdateReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TaskUpdateReq.java @@ -3,11 +3,13 @@ package cd.casic.ci.common.pipeline.req.task; import lombok.Data; import org.json.JSONObject; +import java.util.Map; + @Data public class TaskUpdateReq { // 第二级stageId,如果没有值则新建第二级stage private String id; private String taskName; private String taskType; - private JSONObject taskProperties; + private Map taskProperties; } diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TasksReq.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TasksReq.java index e9bbba2b..a0661775 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TasksReq.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/req/task/TasksReq.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; +import java.util.Map; @Data public class TasksReq { @@ -23,7 +24,7 @@ public class TasksReq { private String taskName; //@ApiProperty(name="values",desc="任务") - private JSONObject taskProperties; + private Map taskProperties; //@ApiProperty(name="pipeline",desc="流水线id",eg="@selectOne") private String pipelineId; diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/task/TasksResp.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/task/TasksResp.java index 267cbac6..0f2af60a 100644 --- a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/task/TasksResp.java +++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/resp/task/TasksResp.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.time.LocalDateTime; +import java.util.Map; @Data public class TasksResp { @@ -23,7 +24,7 @@ public class TasksResp { private String taskName; //@ApiProperty(name="values",desc="任务") - private JSONObject taskProperties; + private Map taskProperties; //@ApiProperty(name="pipeline",desc="流水线id",eg="@selectOne") private String pipelineId; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/task/PipTask.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/task/PipTask.java index 3ba3e0bc..cffdb9b8 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/task/PipTask.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/task/PipTask.java @@ -1,14 +1,20 @@ package cd.casic.ci.process.process.dataObject.task; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.Data; import lombok.EqualsAndHashCode; -import org.json.JSONObject; +import org.apache.ibatis.type.JdbcType; + +import java.util.Map; @EqualsAndHashCode(callSuper = true) @Data +@TableName(autoResultMap = true) public class PipTask extends PipBaseElement { //@ApiProperty(name="taskType",desc= "类型1-10:源码,10-20:测试,20-30:构建,30-40:部署,40-50:代码扫描,50-60:推送制品") @@ -29,8 +35,8 @@ public class PipTask extends PipBaseElement { //@ApiProperty(name="stageId",desc="阶段",eg="@selectOne") private String stageId; // task节点配置 - @TableField(typeHandler = JacksonTypeHandler.class) - private JSONObject taskProperties; + @TableField(typeHandler = JacksonTypeHandler.class,jdbcType = JdbcType.VARCHAR) + private Map taskProperties; // 执行实例id @TableField(exist = false) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java index e01b26ce..378958bc 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/stage/impl/StageServiceImpl.java @@ -15,11 +15,11 @@ import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.util.object.BeanUtils; import cd.casic.framework.commons.util.util.WebFrameworkUtils; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; -import org.json.JSONObject; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -42,7 +42,7 @@ public class StageServiceImpl extends ServiceImpl impleme TaskCreateReq task = stageReq.getTask(); String taskName = task.getTaskName(); String secondStageId = task.getStageId(); - JSONObject taskProperties = task.getTaskProperties(); + Map taskProperties = task.getTaskProperties(); String taskType = task.getTaskType(); Integer taskSort = task.getTaskSort(); String pipelineId = task.getPipelineId(); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java index 9193b05d..1b013f23 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java @@ -9,13 +9,16 @@ import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.ci.process.process.service.stage.StageService; import cd.casic.ci.process.process.service.task.TaskService; +import cd.casic.framework.commons.exception.ServiceException; +import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.util.util.WebFrameworkUtils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; -import org.json.JSONObject; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; @@ -28,11 +31,7 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import java.util.Set; +import java.util.*; @Service @@ -65,7 +64,7 @@ public class TaskServiceImpl extends ServiceImpl implements PipTask pipTask = new PipTask(); pipTask.setId(taskId); List taskList = getTask(pipTask); - if (!CollectionUtils.isEmpty(taskList)) { + if (CollectionUtils.isEmpty(taskList)) { return null; } TasksResp tasksResp = new TasksResp(); @@ -106,9 +105,15 @@ public class TaskServiceImpl extends ServiceImpl implements @Override public Boolean updateTask(TaskUpdateReq req) { + if (StringUtils.isEmpty(req.getId())) { + throw new ServiceException(GlobalErrorCodeConstants.PIPELINE_ERROR.getCode(),"传入id有问题"); + } PipTask byId = getById(req.getId()); + if (byId == null) { + throw new ServiceException(GlobalErrorCodeConstants.PIPELINE_ERROR.getCode(),"task不存在"); + } String taskName = req.getTaskName(); - JSONObject taskProperties = req.getTaskProperties(); + Map taskProperties = req.getTaskProperties(); String taskType = req.getTaskType(); byId.setTaskProperties(taskProperties); byId.setTaskType(taskType); diff --git a/ops-server/src/main/java/cd/casic/server/controller/StageController.java b/ops-server/src/main/java/cd/casic/server/controller/StageController.java index 52233630..b0171014 100644 --- a/ops-server/src/main/java/cd/casic/server/controller/StageController.java +++ b/ops-server/src/main/java/cd/casic/server/controller/StageController.java @@ -36,7 +36,7 @@ public class StageController { * @pi.param: model=stage */ @RequestMapping(path="/createStage",method = RequestMethod.POST) - public CommonResult createStagesOrTask(@RequestBody @Valid @NotNull StageCreateReq stage){ + public CommonResult createStagesOrTask(@RequestBody StageCreateReq stage){ String taskId = stageService.createStagesOrTask(stage); return CommonResult.success(taskId); }