Commit fc5dbe84 by huangfusuper

xi解决冲突

parent 582185bb
...@@ -1527,21 +1527,18 @@ public class ApiFlowServiceImpl implements ApiFlowService { ...@@ -1527,21 +1527,18 @@ public class ApiFlowServiceImpl implements ApiFlowService {
ValidationUtil.dataNotBank(flowName, "工作流名称不允许为空!"); ValidationUtil.dataNotBank(flowName, "工作流名称不允许为空!");
Workspace byName = workspaceMapper.getByName(workspaceName); Workspace byName = workspaceMapper.getByName(workspaceName);
ValidationUtil.isTrueValidation(byName == null, "没有此工作空间"); ValidationUtil.isTrueValidation(byName == null, "没有此工作空间");
List<RunRecording> runRecordingList = runRecordingMapper.runIngRunRecording(flowName, byName.getWorkspaceId()); List<RunRecording> runRecordings = runRecordingMapper.runIngRunRecording(flowName, byName.getWorkspaceId());
ValidationUtil.isTrueValidation(CollectionUtil.isEmpty(runRecordingList), "没有正在运行中的实例!"); ValidationUtil.isTrueValidation(CollectionUtil.isEmpty(runRecordings), "没有正在运行中的实例!");
runRecordingList.forEach(runRecording -> {
if ("3".equals(runRecording.getFlowStatus())) { List<RunRecording> collect = runRecordings.stream().filter(runRecording -> "3".equals(runRecording.getFlowStatus())).collect(Collectors.toList());
ValidationUtil.isTrueValidation(CollectionUtil.isEmpty(collect), "没有暂停的实例!");
List<String> runIds = collect.stream().map(RunRecording::getRunId).collect(Collectors.toList());
String join = StringUtils.join(runIds, ",");
StopFlowParam stopFlowParam = new StopFlowParam(); StopFlowParam stopFlowParam = new StopFlowParam();
stopFlowParam.setRunIds(runRecording.getRunId()); stopFlowParam.setRunIds(join);
stopFlowParam.setFlowName(flowName); stopFlowParam.setFlowName(flowName);
stopFlowParam.setAllStartFlow("1"); stopFlowParam.setAllStartFlow("1");
reStartSchedule(stopFlowParam); reStartSchedule(stopFlowParam);
} else {
log.warn("{},不是出于暂停状态", runRecording);
}
});
} }
/** /**
...@@ -1655,31 +1652,28 @@ public class ApiFlowServiceImpl implements ApiFlowService { ...@@ -1655,31 +1652,28 @@ public class ApiFlowServiceImpl implements ApiFlowService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public String stopSchedule(String param) { public String stopSchedule(String param) {
DeleteDto deleteDto = new DeleteDto(); ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
parseParam(param, deleteDto); JSONObject jsonObject = JSON.parseObject(param);
String workspaceName = deleteDto.getWorkspaceName(); //获取工作空间名称
String flowName = deleteDto.getFlowName(); String workspaceName = jsonObject.getString("workspaceName");
log.debug("停止工作空间【{}】---工作流【{}】调度", workspaceName, flowName); ValidationUtil.dataNotBank(workspaceName, "工作空间名称不允许为空!");
Workspace workspace = workspaceMapper.getByName(workspaceName); //获取工作流名称
ValidationUtil.dataNotNull(workspace, workspaceName + "工作空间不存在"); String flowName = jsonObject.getString("flowName");
Flow flow = flowMapper.getByWorkSpaceAndName(workspace.getWorkspaceId(), flowName); ValidationUtil.dataNotBank(flowName, "工作流名称不允许为空!");
ValidationUtil.dataNotNull(flow, flowName + "工作流不存在");
//ValidationUtil.isTrueValidation(FlowPropertyEnum.IS_INNER.getCode().equals(flow.getIsInner()), "内嵌工作流不允许暂停调度!"); //获取工作流名称
//判断是否在调度中 String runId = jsonObject.getString("runId");
List<RunRecording> recordingList = runRecordingMapper.findUnFinishByFlowId(flow.getFlowId()); ValidationUtil.dataNotBank(runId, "工作流运行标识不允许为空!");
ValidationUtil.isTrueValidation(CollectionUtil.isEmpty(recordingList), flowName + "工作流没有正在运行的调度!");
StringBuffer runids = new StringBuffer();
//暂停工作流调度 RunRecording runRecording = runRecordingMapper.findAllByRunIDAndFlowName(runId, flowName);
recordingList.forEach(runRecording -> {
if (RunRecordingEnum.FAIL_FAST_YES.getCode().equals(runRecording.getFailFast())) { if (RunRecordingEnum.FAIL_FAST_YES.getCode().equals(runRecording.getFailFast())) {
throw new RuntimeException(String.format("实例%s是快速失败状态", runRecording.getFlowName())); throw new RuntimeException(String.format("实例%s是快速失败状态", runRecording.getFlowName()));
} }
//runRecordingMapper.stopByRunIdAndFlowId(runRecording.getRunId(), runRecording.getFlowId());
runRecordingMapper.stopByRunIdAndFlowId(runRecording.getRunId(), runRecording.getFlowId()); runRecordingMapper.stopByRunIdAndFlowId(runRecording.getRunId(), runRecording.getFlowId());
jobTaskMapper.stopByRunIdAndFlowId(runRecording.getRunId(), runRecording.getFlowId()); jobTaskMapper.stopByRunIdAndFlowId(runRecording.getRunId(), runRecording.getFlowId());
runids.append(runRecording.getRunId() + ",");
}); return runId;
return runids.toString();
} }
@Override @Override
......
...@@ -249,7 +249,9 @@ public class ApiNodeServiceImpl implements ApiNodeService { ...@@ -249,7 +249,9 @@ public class ApiNodeServiceImpl implements ApiNodeService {
public void deleteJavaTask(String jobName) { public void deleteJavaTask(String jobName) {
ValidationUtil.dataNotBank(jobName, "jobName不允许为空!"); ValidationUtil.dataNotBank(jobName, "jobName不允许为空!");
JavaTask javaTask = javaTaskMapper.findByJobName(jobName); JavaTask javaTask = javaTaskMapper.findByJobName(jobName);
ValidationUtil.dataNotNull(javaTask, "没有此任务实例!"); if(javaTask == null){
return;
}
javaTaskMapper.deleteByJobName(jobName); javaTaskMapper.deleteByJobName(jobName);
} }
......
...@@ -429,10 +429,11 @@ public class JobUtils { ...@@ -429,10 +429,11 @@ public class JobUtils {
* @param workspaceName * @param workspaceName
* @return * @return
*/ */
public static ResponseResult stopFlow(String flowName, String workspaceName) { public static ResponseResult stopFlow(String flowName, String workspaceName, String runId) {
Map<String, String> map = new HashMap<>(5); Map<String, String> map = new HashMap<>(5);
map.put("flowName", flowName); map.put("flowName", flowName);
map.put("workspaceName", workspaceName); map.put("workspaceName", workspaceName);
map.put("runId", runId);
//发送请求 添加任务 //发送请求 添加任务
String response = createHttpRequest(REQUEST_FLOW_STOP, "param=" + JSON.toJSONString(map, WriteClassName)); String response = createHttpRequest(REQUEST_FLOW_STOP, "param=" + JSON.toJSONString(map, WriteClassName));
log.debug("--------------------暂停接口调用成功,结果为:{}------------------------", response); log.debug("--------------------暂停接口调用成功,结果为:{}------------------------", response);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment