converter添加与BeanUtils替换

This commit is contained in:
even 2025-06-03 18:41:38 +08:00
parent c2c5c67c9b
commit 4c3d22db3c
10 changed files with 72 additions and 27 deletions

View File

@ -1,5 +1,7 @@
package cd.casic.ci.process.process.converter;
import cd.casic.ci.process.dal.req.pipeline.PipelineCreateReq;
import cd.casic.ci.process.dal.req.pipeline.PipelineUpdateReq;
import cd.casic.ci.process.dal.resp.pipeline.PipelineFindResp;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import org.mapstruct.Mapper;
@ -18,6 +20,8 @@ import java.util.List;
public interface PipelineConverter {
PipelineConverter INSTANCE = Mappers.getMapper(PipelineConverter.class);
PipelineFindResp toResp(PipPipeline pipPipeline);
PipPipeline reqToDO(PipelineCreateReq req);
PipPipeline reqToDO(PipelineUpdateReq req);
List<PipelineFindResp> toRespList(List<PipPipeline> pipPipelines);
}

View File

@ -0,0 +1,16 @@
package cd.casic.ci.process.process.converter;
import cd.casic.ci.process.dal.resp.stage.StageResp;
import cd.casic.ci.process.process.dataObject.stage.PipStage;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper(componentModel = "spring")
public interface StageConverter {
StageConverter INSTANCE = Mappers.getMapper(StageConverter.class);
public StageResp converter(PipStage stage);
public List<StageResp> converter(List<PipStage> stage);
}

View File

@ -1,5 +1,7 @@
package cd.casic.ci.process.process.converter;
import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq;
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
import cd.casic.ci.process.dal.resp.pipeline.PipelineFindResp;
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
@ -22,5 +24,7 @@ public interface TargetConverter {
PipelineFindResp toResp(PipPipeline pipPipeline);
List<TargetManagerResp> toRespList(List<TargetManager> pipPipelines);
TargetManager reqToDo(TargetManagerCreateReq req);
TargetManager reqToDo(TargetManagerUpdateReq req);
}

View File

@ -0,0 +1,12 @@
package cd.casic.ci.process.process.converter;
import cd.casic.ci.process.dal.resp.task.TasksResp;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring")
public interface TaskConverter {
TaskConverter INSTANCE = Mappers.getMapper(TaskConverter.class);
TasksResp doToResp(PipTask task);
}

View File

@ -1,7 +1,12 @@
package cd.casic.ci.process.process.converter;
import cd.casic.ci.process.dal.resp.template.TemplateFindResp;
import cd.casic.ci.process.dal.resp.template.TemplateStageResp;
import cd.casic.ci.process.dal.resp.template.TemplateTasksResp;
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.template.TemplateManager;
import cd.casic.ci.process.process.dataObject.template.TemplateStage;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@ -19,5 +24,8 @@ public interface TemplateConverter {
TemplateConverter INSTANCE = Mappers.getMapper(TemplateConverter.class);
TemplateFindResp toResp(TemplateManager templateManager);
List<TemplateFindResp> toRespList(List<TemplateManager> templateManagers);
PipStage respToStage(TemplateStageResp resp);
TemplateStageResp stageTemplateToResp(TemplateStage stage);
PipTask templateTaskToTask(TemplateTasksResp resp);
}

View File

@ -14,6 +14,7 @@ import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
import cd.casic.ci.process.process.converter.PipelineConverter;
import cd.casic.ci.process.process.converter.TemplateConverter;
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.PipelineDao;
@ -82,6 +83,10 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
@Resource
private TemplateManagerServiceImpl templateService;
@Resource
private PipelineConverter pipelineConverter;
@Resource
private TemplateConverter templateConverter;
@Override
@Transactional(rollbackFor = Exception.class)
@ -90,9 +95,8 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
List<PipTask> pipTaskList = new ArrayList<>(0);
Map<PipStage,Map<PipStage,List<PipTask>>> templateCopyPipelineMap = new HashMap<>();
PipPipeline pipeline = pipelineConverter.reqToDO(pipelineReq);
PipPipeline pipeline = new PipPipeline();
BeanUtils.copyProperties(pipelineReq, pipeline);
// 随机颜色
int randomNumber = (int)(Math.random() * 5) + 1;
pipeline.setColor(randomNumber);
@ -111,9 +115,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
//新增阶段数据
List<TemplateStageResp> stageList = template.getStageList();
stageList.forEach(o->{
PipStage pipStage = new PipStage();
BeanUtils.copyProperties(o,pipStage);
PipStage pipStage = templateConverter.respToStage(o);
pipStage.setId(null);
pipStage.setPipelineId(pipeline.getId());
pipStage.setCreateTime(LocalDateTime.now());
@ -129,8 +131,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
if (!CollectionUtils.isEmpty(childStageList)){
//则代表大阶段下存在阶段子节点
childStageList.forEach(j->{
PipStage childStage = new PipStage();
BeanUtils.copyProperties(j,childStage);
PipStage childStage = templateConverter.respToStage(j);
Map<PipStage,List<PipTask>> stageTaskMap = new HashMap<>();
childStage.setId(null);
@ -148,8 +149,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
if (!CollectionUtils.isEmpty(j.getTaskValues())){
List<PipTask> taskList = new ArrayList<>(0);
j.getTaskValues().forEach(k->{
PipTask pipTask = new PipTask();
BeanUtils.copyProperties(k,pipTask);
PipTask pipTask = templateConverter.templateTaskToTask(k);
pipTask.setId(null);
pipTask.setPipelineId(pipeline.getId());
pipTask.setCreateTime(LocalDateTime.now());
@ -280,8 +280,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
@Override
public void updatePipeline(PipelineUpdateReq pipeline) {
PipPipeline pipPipeline = new PipPipeline();
BeanUtils.copyProperties(pipeline,pipPipeline);
PipPipeline pipPipeline = pipelineConverter.reqToDO(pipeline);
pipPipeline.setUpdateTime(LocalDateTime.now());
pipPipeline.setUpdater(String.valueOf(WebFrameworkUtils.getLoginUserId()));
pipelineDao.updateById(pipPipeline);

View File

@ -8,6 +8,7 @@ import cd.casic.ci.process.dal.resp.context.SingletonRunContextResp;
import cd.casic.ci.process.dal.resp.stage.StageResp;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.ci.process.process.converter.StageConverter;
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.task.PipTask;
@ -15,7 +16,6 @@ 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.object.BeanUtils;
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -38,6 +38,8 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
private PipStageDao stageDao;
@Resource
private RunContextManager contextManager;
@Resource
private StageConverter stageConverter;
@Transactional(rollbackFor = Exception.class)
@Override
public String createStagesOrTask(StageCreateReq stageReq) {
@ -159,13 +161,9 @@ public class StageServiceImpl extends ServiceImpl<PipStageDao, PipStage> impleme
for (PipStage stage : stageMainStage) {
String stagesId = stage.getId();
//获取从节点
List<PipStage> allStageStage = findSecondStageAndTask(stagesId);
List<StageResp> stageRespList = allStageStage.stream().map(it -> {
// BeanUtils.copyProperties(it, stageResp);
return JSON.parseObject(JSON.toJSONString(it), StageResp.class);
}).toList();
StageResp stageResp = new StageResp();
BeanUtils.copyProperties(stage,stageResp);
List<PipStage> allSecondStage = findSecondStageAndTask(stagesId);
List<StageResp> stageRespList = stageConverter.converter(allSecondStage);
StageResp stageResp = stageConverter.converter(stage);
stageResp.setStageList(stageRespList);
list.add(stageResp);
}

View File

@ -58,12 +58,13 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
@Resource
private TargetVersionDao targetVersionDao;
@Resource
private TargetConverter targetConverter;
@Override
@Transactional(rollbackFor = Exception.class)
public void createTarget(TargetManagerCreateReq req) {
TargetManager targetManager = new TargetManager();
BeanUtils.copyProperties(req, targetManager);
TargetManager targetManager = targetConverter.reqToDo(req);
targetManager.setCreator(String.valueOf(WebFrameworkUtils.getLoginUserId()));
targetManager.setCreateTime(LocalDateTime.now());
this.save(targetManager);
@ -91,7 +92,7 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"数据错误,请联系管理员");
}
BeanUtils.copyProperties(req,targetManager);
targetManager=targetConverter.reqToDo(req);
targetManager.setUpdater(String.valueOf(WebFrameworkUtils.getLoginUserId()));
targetManager.setUpdateTime(LocalDateTime.now());
targetManagerDao.updateById(targetManager);

View File

@ -4,6 +4,7 @@ import cd.casic.ci.process.dal.req.task.TaskUpdateReq;
import cd.casic.ci.process.dal.resp.task.TasksResp;
import cd.casic.ci.process.engine.manager.LoggerManager;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.process.converter.TaskConverter;
import cd.casic.ci.process.process.dal.pipeline.PipTaskDao;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.task.TaskService;
@ -34,6 +35,8 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
private RunContextManager contextManager;
@Resource
private LoggerManager loggerManager;
@Resource
private TaskConverter taskConverter;
@Override
@ -63,9 +66,7 @@ public class TaskServiceImpl extends ServiceImpl<PipTaskDao, PipTask> implements
if (CollectionUtils.isEmpty(taskList)) {
return null;
}
TasksResp tasksResp = new TasksResp();
BeanUtils.copyProperties(taskList.get(0),tasksResp);
return tasksResp;
return taskConverter.doToResp(taskList.get(0));
}
@Override

View File

@ -4,6 +4,7 @@ package cd.casic.ci.process.process.service.template.impl;
import cd.casic.ci.process.dal.req.template.TemplateQueryReq;
import cd.casic.ci.process.dal.resp.template.TemplateFindResp;
import cd.casic.ci.process.dal.resp.template.TemplateStageResp;
import cd.casic.ci.process.process.converter.StageConverter;
import cd.casic.ci.process.process.converter.TemplateConverter;
import cd.casic.ci.process.process.dal.template.TemplateManagerDao;
import cd.casic.ci.process.process.dal.template.TemplateStageDao;
@ -57,6 +58,8 @@ public class TemplateManagerServiceImpl extends ServiceImpl<TemplateManagerDao,
@Resource
private AdminUserServiceImpl adminUserService;
@Resource
private TemplateConverter templateConverter;
// @Override
// @Transactional(rollbackFor = Exception.class)
@ -478,8 +481,7 @@ public class TemplateManagerServiceImpl extends ServiceImpl<TemplateManagerDao,
// BeanUtils.copyProperties(it, stageResp);
return JSON.parseObject(JSON.toJSONString(it), TemplateStageResp.class);
}).toList();
TemplateStageResp stageResp = new TemplateStageResp();
BeanUtils.copyProperties(stage,stageResp);
TemplateStageResp stageResp = templateConverter.stageTemplateToResp(stage);
stageResp.setStageList(stageRespList);
list.add(stageResp);
}