联调问题修复,更新task接口补充

This commit is contained in:
even 2025-05-21 10:29:36 +08:00
parent 96033d6353
commit cc83240309
6 changed files with 54 additions and 2 deletions

View File

@ -114,6 +114,13 @@ public class WebFrameworkUtils {
HttpServletRequest request = getRequest();
return getLoginUserId(request);
}
public static String getLoginUserIdStr(){
Long loginUserId = getLoginUserId();
if (loginUserId!=null) {
return String.valueOf(loginUserId);
}
return "";
}
public static Integer getTerminal() {
HttpServletRequest request = getRequest();

View File

@ -0,0 +1,13 @@
package cd.casic.ci.common.pipeline.req.task;
import lombok.Data;
import org.json.JSONObject;
@Data
public class TaskUpdateReq {
// 第二级stageId如果没有值则新建第二级stage
private String id;
private String taskName;
private String taskType;
private JSONObject taskProperties;
}

View File

@ -96,7 +96,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
// 添加并行节点
secondStage = new PipStage();
PipStage stageQuery = new PipStage();
stageQuery.setParentId(firstStageId);
stageQuery.setParentId(firstStage.getId());
stageQuery.setPipelineId(pipelineId);
List<PipStage> pipStageList = getPipStageList(stageQuery);
if (CollectionUtils.isEmpty(pipStageList)) {
@ -107,7 +107,7 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
secondStage.setCreateTime(LocalDateTime.now());
secondStage.setUpdateTime(LocalDateTime.now());
secondStage.setCreator(String.valueOf(loginUserId));
secondStage.setParentId(firstStageId);
secondStage.setParentId(firstStage.getId());
secondStage.setPipelineId(pipelineId);
secondStage.setUpdater(String.valueOf(loginUserId));
save(secondStage);
@ -407,6 +407,9 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
List<PipStage> otherStage = findSecondStage(stagesId);
List<PipStage> list = new ArrayList<>();
List<String> stageIdList = otherStage.stream().map(PipStage::getId).toList();
if (stageIdList.isEmpty()) {
throw new ServiceException(GlobalErrorCodeConstants.PIPELINE_ERROR.getCode(),"当前阶段下不存在节点");
}
Map<String, List<PipTask>> stageIdTaskMap = taskService.getTaskByStageIdList(stageIdList).stream().collect(Collectors.groupingBy(PipTask::getStageId));
for (PipStage stage : otherStage) {
//获取阶段配置及任务

View File

@ -1,10 +1,12 @@
package cd.casic.ci.process.process.service.task;
import cd.casic.ci.common.pipeline.req.stage.StageCreateReq;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.framework.commons.pojo.CommonResult;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -18,4 +20,5 @@ public interface TaskService extends IService<PipTask> {
TasksResp getRespById(String taskId);
void copyTask(String taskId);
Boolean updateTask(@RequestBody TaskUpdateReq req);
}

View File

@ -1,6 +1,7 @@
package cd.casic.ci.process.process.service.task.impl;
import cd.casic.ci.common.pipeline.annotation.Plugin;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dal.pipeline.PipStageDao;
import cd.casic.ci.process.process.dal.pipeline.PipTaskDao;
@ -8,11 +9,13 @@ 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.util.util.WebFrameworkUtils;
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;
@ -23,6 +26,8 @@ import org.springframework.transaction.annotation.Transactional;
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;
@ -98,4 +103,18 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
updateBatchById(updateList);
}
}
@Override
public Boolean updateTask(TaskUpdateReq req) {
PipTask byId = getById(req.getId());
String taskName = req.getTaskName();
JSONObject taskProperties = req.getTaskProperties();
String taskType = req.getTaskType();
byId.setTaskProperties(taskProperties);
byId.setTaskType(taskType);
byId.setTaskName(taskName);
byId.setUpdater(WebFrameworkUtils.getLoginUserIdStr());
byId.setUpdateTime(LocalDateTime.now());
return updateById(byId);
}
}

View File

@ -1,5 +1,7 @@
package cd.casic.server.controller;
import cd.casic.ci.common.pipeline.req.task.TaskCreateReq;
import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq;
import cd.casic.ci.common.pipeline.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.task.TaskService;
@ -36,4 +38,9 @@ public class TasksController {
taskService.copyTask(taskId);
return CommonResult.success();
}
@PostMapping(path="/updateTask")
public CommonResult<Boolean> updateTask(@RequestBody TaskUpdateReq req){
Boolean b = taskService.updateTask(req);
return CommonResult.success(b);
}
}