Authored by qinchao

发布release工单时,如果有多个云,则生成多个工单

... ... @@ -93,43 +93,52 @@ public class ReleaseServiceImpl implements ReleaseService {
/**
* 创建工单
* 工单如果有多个云,则生成多个工单
*
* @param releaseWorkJob
* @return
*/
@Override
public int createReleaseWorkJob(ReleaseWorkJob releaseWorkJob) {
int result=-1;
String[] cloudArray=releaseWorkJob.getEnvironment().split(",");
for(String currentCloud:cloudArray){
if(StringUtils.isBlank(currentCloud)){
continue;
}
//插入工单表
WorkJob workJob = new WorkJob();
workJob.setType(WorkType.RELEASE_PROJECT);
workJob.setTitle(releaseWorkJob.getTitle());
workJobMapper.insert(workJob);
//插入工单表
WorkJob workJob = new WorkJob();
workJob.setType(WorkType.RELEASE_PROJECT);
workJob.setTitle(releaseWorkJob.getTitle());
workJobMapper.insert(workJob);
//生成工单id
String workId = WorkType.RELEASE_PROJECT + StringUtils.leftPad(workJob.getId()+"",7,"0");
workJob.setWorkId(workId);
workJobMapper.update(workJob);
releaseWorkJob.setId(workId);
//插入发布工单表
releaseWorkJob.setStatus(WorkStatus.PUBLISH);
int result = releaseWorkJobMapper.insert(releaseWorkJob);
if (result < 1) {
return -1;
}
//插入用户处理工单表
HandledJob handledJob = new HandledJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getDevelop(), HandlerRole.DEVELOP,HandleType.CREATE,HandleType.getCtype(HandleType.CREATE) );
//生成工单id
String workId = WorkType.RELEASE_PROJECT + StringUtils.leftPad(workJob.getId()+"",7,"0");
workJob.setWorkId(workId);
workJobMapper.update(workJob);
handledJobMapper.insert(handledJob);
releaseWorkJob.setId(workId);
//插入发布工单表
releaseWorkJob.setStatus(WorkStatus.PUBLISH);
result = releaseWorkJobMapper.insert(releaseWorkJob);
if (result < 1) {
return -1;
}
//插入用户处理工单表
HandledJob handledJob = new HandledJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getDevelop(), HandlerRole.DEVELOP,HandleType.CREATE,HandleType.getCtype(HandleType.CREATE) );
handledJobMapper.insert(handledJob);
//插入用户待处理工单表
PendingJob pendingJob = new PendingJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getTest(), HandlerRole.TEST, WorkStatus.PUBLISH);
workSystemSupport.addPending(pendingJob,false);
// 同时让leader有工单的处理权限
pendingJob = new PendingJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getTest(), HandlerRole.LEADER, WorkStatus.PUBLISH);
workSystemSupport.addPendingByRole(pendingJob,false);
}
//插入用户待处理工单表
PendingJob pendingJob = new PendingJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getTest(), HandlerRole.TEST, WorkStatus.PUBLISH);
workSystemSupport.addPending(pendingJob,false);
// 同时让leader有工单的处理权限
pendingJob = new PendingJob(WorkType.RELEASE_PROJECT, releaseWorkJob.getId(), releaseWorkJob.getTitle(), releaseWorkJob.getTest(), HandlerRole.LEADER, WorkStatus.PUBLISH);
workSystemSupport.addPendingByRole(pendingJob,false);
return result;
}
... ...