OCT
REM: 1. 停止任务接口支持处理type=-1的全部类型处置任务 2. 增加根据节点停止处置任务接口 3. 增加停止所有处置任务接口 4. 更新停止任务相关接口,返回停止的各个处置任务的详细信息 5. 更新停止任务接口实现方法 6. 更新停止处置任务相关单元测试接口 7. 按照字母序执行单元测试用例 8. 更新处置任务处置时间计算方法
This commit is contained in:
parent
8bce94e17a
commit
6931499342
|
@ -2,6 +2,7 @@ package com.dispose.common;
|
||||||
|
|
||||||
import cn.hutool.http.Header;
|
import cn.hutool.http.Header;
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.dispose.controller;
|
||||||
|
|
||||||
import com.dispose.common.ConstValue;
|
import com.dispose.common.ConstValue;
|
||||||
import com.dispose.common.ErrorCode;
|
import com.dispose.common.ErrorCode;
|
||||||
|
import com.dispose.common.Helper;
|
||||||
import com.dispose.pojo.dto.ProtocolReqDTO;
|
import com.dispose.pojo.dto.ProtocolReqDTO;
|
||||||
import com.dispose.pojo.dto.ProtocolRespDTO;
|
import com.dispose.pojo.dto.ProtocolRespDTO;
|
||||||
import com.dispose.pojo.entity.DisposeDevice;
|
import com.dispose.pojo.entity.DisposeDevice;
|
||||||
|
@ -36,7 +37,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -659,15 +659,13 @@ public class DisposeNodeInfoController {
|
||||||
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
} else {
|
} else {
|
||||||
runTasks.parallelStream().forEach(k -> {
|
runTasks.parallelStream().forEach(k -> {
|
||||||
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000;
|
int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
|
||||||
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
|
|
||||||
Long diff = endTm - tmLong;
|
|
||||||
|
|
||||||
TaskInfoData taskInfoData = TaskInfoData.builder()
|
TaskInfoData taskInfoData = TaskInfoData.builder()
|
||||||
.taskId(k.getId().toString())
|
.taskId(k.getId().toString())
|
||||||
.type(k.getType())
|
.type(k.getType())
|
||||||
.startTime(tmLong.intValue())
|
.startTime(Helper.getTimestampSecond(k.getBeginTime()))
|
||||||
.disposeTime(diff.intValue())
|
.disposeTime(diff)
|
||||||
.disposeIp(k.getDisposeIp())
|
.disposeIp(k.getDisposeIp())
|
||||||
.flowAttack(0)
|
.flowAttack(0)
|
||||||
.flowClean(0)
|
.flowClean(0)
|
||||||
|
@ -740,15 +738,13 @@ public class DisposeNodeInfoController {
|
||||||
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
} else {
|
} else {
|
||||||
runTasks.parallelStream().forEach(k -> {
|
runTasks.parallelStream().forEach(k -> {
|
||||||
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000;
|
int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
|
||||||
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
|
|
||||||
Long diff = endTm - tmLong;
|
|
||||||
|
|
||||||
TaskInfoData taskInfoData = TaskInfoData.builder()
|
TaskInfoData taskInfoData = TaskInfoData.builder()
|
||||||
.taskId(k.getId().toString())
|
.taskId(k.getId().toString())
|
||||||
.type(k.getType())
|
.type(k.getType())
|
||||||
.startTime(tmLong.intValue())
|
.startTime(Helper.getTimestampSecond(k.getBeginTime()))
|
||||||
.disposeTime(diff.intValue())
|
.disposeTime(diff)
|
||||||
.disposeIp(k.getDisposeIp())
|
.disposeIp(k.getDisposeIp())
|
||||||
.currentStatus(taskService.taskIsRunning(k) ? 1 : 0)
|
.currentStatus(taskService.taskIsRunning(k) ? 1 : 0)
|
||||||
.flowAttack(0)
|
.flowAttack(0)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.dispose.controller;
|
package com.dispose.controller;
|
||||||
|
|
||||||
|
import com.dispose.common.DeviceCapacity;
|
||||||
import com.dispose.common.ErrorCode;
|
import com.dispose.common.ErrorCode;
|
||||||
import com.dispose.common.FlowDirection;
|
import com.dispose.common.FlowDirection;
|
||||||
import com.dispose.common.Helper;
|
import com.dispose.common.Helper;
|
||||||
|
@ -16,6 +17,7 @@ import com.dispose.pojo.vo.information.NodeTaskRsp;
|
||||||
import com.dispose.pojo.vo.task.GetTaskReq;
|
import com.dispose.pojo.vo.task.GetTaskReq;
|
||||||
import com.dispose.pojo.vo.task.StartTaskReq;
|
import com.dispose.pojo.vo.task.StartTaskReq;
|
||||||
import com.dispose.pojo.vo.task.StartTaskRsp;
|
import com.dispose.pojo.vo.task.StartTaskRsp;
|
||||||
|
import com.dispose.pojo.vo.task.StopTaskData;
|
||||||
import com.dispose.pojo.vo.task.StopTaskReq;
|
import com.dispose.pojo.vo.task.StopTaskReq;
|
||||||
import com.dispose.pojo.vo.task.TaskInfoRsp;
|
import com.dispose.pojo.vo.task.TaskInfoRsp;
|
||||||
import com.dispose.service.DisposeNodeManager;
|
import com.dispose.service.DisposeNodeManager;
|
||||||
|
@ -35,7 +37,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
@ -145,29 +146,34 @@ public class DisposeTaskController {
|
||||||
return ProtocolRespDTO.result(ErrorCode.ERR_INPUTMISS);
|
return ProtocolRespDTO.result(ErrorCode.ERR_INPUTMISS);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String v : reqInfo.getTaskId()) {
|
Arrays.stream(reqInfo.getTaskId()).forEach(v -> {
|
||||||
TaskInfoData taskData = TaskInfoData.builder().taskId(v).build();
|
TaskInfoData taskData = TaskInfoData.builder().type(DeviceCapacity.CLEANUP.getCode()).build();
|
||||||
TaskInfoDetail task = taskCacheManager.getTaskById(Long.parseLong(v));
|
|
||||||
|
|
||||||
if (task == null) {
|
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByTaskId(Long.parseLong(v));
|
||||||
err = ErrorCode.ERR_TASKNOTRUNNING;
|
|
||||||
|
if (ret.size() == 0) {
|
||||||
|
taskData.setId(v);
|
||||||
|
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
||||||
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
} else {
|
} else {
|
||||||
err = taskService.stopTask(Long.parseLong(v));
|
ret.forEach(k -> {
|
||||||
|
ErrorCode retError = k.getFirstParam();
|
||||||
|
TaskInfoDetail taskInfo = k.getSecondParam();
|
||||||
|
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
|
||||||
|
taskData.setTaskId(String.valueOf(taskInfo.getId()));
|
||||||
|
taskData.setType(taskInfo.getType());
|
||||||
|
taskData.setDisposeIp(taskInfo.getDisposeIp());
|
||||||
|
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
|
||||||
|
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
|
||||||
|
|
||||||
if (err == ErrorCode.ERR_OK) {
|
taskData.setStatus(retError.getCode());
|
||||||
taskData.setTaskId(v);
|
taskData.setMessage(retError.getMsg());
|
||||||
taskData.setDisposeIp(task.getDisposeIp());
|
|
||||||
taskData.setType(task.getType());
|
|
||||||
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(task.getBeginTime())
|
|
||||||
- Helper.getTimestampDiffNow(task.getPlanEndTime())));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
taskData.setStatus(err.getCode());
|
|
||||||
taskData.setMessage(err.getMsg());
|
|
||||||
|
|
||||||
rspInfo.getItems().add(taskData);
|
rspInfo.getItems().add(taskData);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
||||||
}
|
}
|
||||||
|
@ -196,30 +202,33 @@ public class DisposeTaskController {
|
||||||
TaskInfoRsp rspInfo = new TaskInfoRsp();
|
TaskInfoRsp rspInfo = new TaskInfoRsp();
|
||||||
|
|
||||||
reqInfo.getItems().forEach(v -> {
|
reqInfo.getItems().forEach(v -> {
|
||||||
ErrorCode retError;
|
|
||||||
|
|
||||||
TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build();
|
TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build();
|
||||||
|
|
||||||
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeIp(Long.parseLong(v.getId()), v.getType(), v.getDisposeIp());
|
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeIp(Long.parseLong(v.getId()), v.getType(), v.getDisposeIp());
|
||||||
|
|
||||||
if (ret.size() == 0) {
|
if (ret.size() == 0) {
|
||||||
retError = ErrorCode.ERR_NOSUCHTASK;
|
taskData.setId(v.getId());
|
||||||
|
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
||||||
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
} else {
|
} else {
|
||||||
retError = ret.get(0).getFirstParam();
|
ret.forEach(k -> {
|
||||||
TaskInfoDetail taskInfo = ret.get(0).getSecondParam();
|
ErrorCode retError = k.getFirstParam();
|
||||||
|
TaskInfoDetail taskInfo = k.getSecondParam();
|
||||||
|
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
|
||||||
taskData.setTaskId(String.valueOf(taskInfo.getId()));
|
taskData.setTaskId(String.valueOf(taskInfo.getId()));
|
||||||
taskData.setType(taskInfo.getType());
|
taskData.setType(taskInfo.getType());
|
||||||
taskData.setDisposeIp(v.getDisposeIp());
|
taskData.setDisposeIp(taskInfo.getDisposeIp());
|
||||||
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
|
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
|
||||||
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
|
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
|
||||||
}
|
|
||||||
|
|
||||||
taskData.setId(v.getId());
|
|
||||||
taskData.setStatus(retError.getCode());
|
taskData.setStatus(retError.getCode());
|
||||||
taskData.setMessage(retError.getMsg());
|
taskData.setMessage(retError.getMsg());
|
||||||
|
|
||||||
rspInfo.getItems().add(taskData);
|
rspInfo.getItems().add(taskData);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return ProtocolRespDTO.result(err, rspInfo);
|
return ProtocolRespDTO.result(err, rspInfo);
|
||||||
}
|
}
|
||||||
|
@ -238,7 +247,45 @@ public class DisposeTaskController {
|
||||||
public ProtocolRespDTO taskStopAllOfDisposeNode(@RequestBody ProtocolReqDTO mr,
|
public ProtocolRespDTO taskStopAllOfDisposeNode(@RequestBody ProtocolReqDTO mr,
|
||||||
@RequestHeader HttpHeaders headers)
|
@RequestHeader HttpHeaders headers)
|
||||||
throws JsonProcessingException {
|
throws JsonProcessingException {
|
||||||
return taskStopByIp(mr, headers);
|
ErrorCode err = mr.verifyRequest(headers);
|
||||||
|
|
||||||
|
if (err != ErrorCode.ERR_OK) {
|
||||||
|
return ProtocolRespDTO.result(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
StopTaskReq reqInfo = mr.getRequestObject(StopTaskReq.class);
|
||||||
|
TaskInfoRsp rspInfo = new TaskInfoRsp();
|
||||||
|
|
||||||
|
reqInfo.getItems().forEach(v -> {
|
||||||
|
TaskInfoData taskData = TaskInfoData.builder().type(v.getType()).build();
|
||||||
|
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByDisposeNode(Long.parseLong(v.getId()), v.getType());
|
||||||
|
|
||||||
|
if (ret.size() == 0) {
|
||||||
|
taskData.setId("-1");
|
||||||
|
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
||||||
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
|
} else {
|
||||||
|
ret.forEach(k -> {
|
||||||
|
ErrorCode retError = k.getFirstParam();
|
||||||
|
TaskInfoDetail taskInfo = k.getSecondParam();
|
||||||
|
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
|
||||||
|
taskData.setTaskId(String.valueOf(taskInfo.getId()));
|
||||||
|
taskData.setType(taskInfo.getType());
|
||||||
|
taskData.setDisposeIp(taskInfo.getDisposeIp());
|
||||||
|
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
|
||||||
|
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
|
||||||
|
|
||||||
|
taskData.setStatus(retError.getCode());
|
||||||
|
taskData.setMessage(retError.getMsg());
|
||||||
|
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return ProtocolRespDTO.result(err, rspInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -255,7 +302,43 @@ public class DisposeTaskController {
|
||||||
public ProtocolRespDTO taskStopAll(@RequestBody ProtocolReqDTO mr,
|
public ProtocolRespDTO taskStopAll(@RequestBody ProtocolReqDTO mr,
|
||||||
@RequestHeader HttpHeaders headers)
|
@RequestHeader HttpHeaders headers)
|
||||||
throws JsonProcessingException {
|
throws JsonProcessingException {
|
||||||
return taskStopByIp(mr, headers);
|
|
||||||
|
ErrorCode err = mr.verifyRequest(headers);
|
||||||
|
|
||||||
|
if (err != ErrorCode.ERR_OK) {
|
||||||
|
return ProtocolRespDTO.result(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
StopTaskData reqInfo = mr.getRequestObject(StopTaskData.class);
|
||||||
|
TaskInfoRsp rspInfo = new TaskInfoRsp();
|
||||||
|
|
||||||
|
TaskInfoData taskData = TaskInfoData.builder().type(reqInfo.getType()).build();
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> ret = taskService.stopTaskByType(reqInfo.getType());
|
||||||
|
|
||||||
|
if (ret.size() == 0) {
|
||||||
|
taskData.setId("-1");
|
||||||
|
taskData.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
||||||
|
taskData.setMessage(ErrorCode.ERR_NOSUCHTASK.getMsg());
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
|
} else {
|
||||||
|
ret.forEach(k -> {
|
||||||
|
ErrorCode retError = k.getFirstParam();
|
||||||
|
TaskInfoDetail taskInfo = k.getSecondParam();
|
||||||
|
taskData.setId(String.valueOf(taskInfo.getDeviceId()));
|
||||||
|
taskData.setTaskId(String.valueOf(taskInfo.getId()));
|
||||||
|
taskData.setType(taskInfo.getType());
|
||||||
|
taskData.setDisposeIp(taskInfo.getDisposeIp());
|
||||||
|
taskData.setLeftTime(Math.abs(Helper.getTimestampDiffNow(taskInfo.getBeginTime())
|
||||||
|
- Helper.getTimestampDiffNow(taskInfo.getPlanEndTime())));
|
||||||
|
|
||||||
|
taskData.setStatus(retError.getCode());
|
||||||
|
taskData.setMessage(retError.getMsg());
|
||||||
|
|
||||||
|
rspInfo.getItems().add(taskData);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return ProtocolRespDTO.result(err, rspInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -294,14 +377,12 @@ public class DisposeTaskController {
|
||||||
AtomicBoolean bHasData = new AtomicBoolean(false);
|
AtomicBoolean bHasData = new AtomicBoolean(false);
|
||||||
taskService.getNodeAllTask(v.getId()).parallelStream().forEach(k -> {
|
taskService.getNodeAllTask(v.getId()).parallelStream().forEach(k -> {
|
||||||
if (v.getType().equals(reqInfo.getType()) || reqInfo.getType() == -1) {
|
if (v.getType().equals(reqInfo.getType()) || reqInfo.getType() == -1) {
|
||||||
Long tmLong = Timestamp.valueOf(k.getBeginTime()).toInstant().toEpochMilli() / 1000;
|
int diff = Helper.getTimestampDiff(k.getBeginTime(), k.getPlanEndTime());
|
||||||
Long endTm = Timestamp.valueOf(k.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
|
|
||||||
Long diff = endTm - tmLong;
|
|
||||||
TaskInfoData taskInfoData = TaskInfoData.builder()
|
TaskInfoData taskInfoData = TaskInfoData.builder()
|
||||||
.taskId(k.getId().toString())
|
.taskId(k.getId().toString())
|
||||||
.type(k.getType())
|
.type(k.getType())
|
||||||
.startTime(tmLong.intValue())
|
.startTime(Helper.getTimestampSecond(k.getBeginTime()))
|
||||||
.disposeTime(diff.intValue())
|
.disposeTime(diff)
|
||||||
.disposeIp(k.getDisposeIp())
|
.disposeIp(k.getDisposeIp())
|
||||||
.flowAttack(0)
|
.flowAttack(0)
|
||||||
.flowClean(0)
|
.flowClean(0)
|
||||||
|
@ -370,15 +451,13 @@ public class DisposeTaskController {
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
valuableData.parallelStream().forEach(v -> {
|
valuableData.parallelStream().forEach(v -> {
|
||||||
Long tmLong = Timestamp.valueOf(v.getBeginTime()).toInstant().toEpochMilli() / 1000;
|
int diff = Helper.getTimestampDiff(v.getBeginTime(), v.getPlanEndTime());
|
||||||
Long endTm = Timestamp.valueOf(v.getPlanEndTime()).toInstant().toEpochMilli() / 1000;
|
|
||||||
Long diff = endTm - tmLong;
|
|
||||||
|
|
||||||
TaskInfoData taskInfoData = TaskInfoData.builder()
|
TaskInfoData taskInfoData = TaskInfoData.builder()
|
||||||
.taskId(v.getId().toString())
|
.taskId(v.getId().toString())
|
||||||
.type(v.getType())
|
.type(v.getType())
|
||||||
.startTime(tmLong.intValue())
|
.startTime(Helper.getTimestampSecond(v.getBeginTime()))
|
||||||
.disposeTime(diff.intValue())
|
.disposeTime(diff)
|
||||||
.disposeIp(v.getDisposeIp())
|
.disposeIp(v.getDisposeIp())
|
||||||
.attackType(Helper.attackStringToArray(v.getAttackType()))
|
.attackType(Helper.attackStringToArray(v.getAttackType()))
|
||||||
.flowDirection(v.getFlowDirection())
|
.flowDirection(v.getFlowDirection())
|
||||||
|
|
|
@ -48,6 +48,31 @@ public interface TaskService {
|
||||||
*/
|
*/
|
||||||
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeIp(Long devId, int type, String ipAddr);
|
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeIp(Long devId, int type, String ipAddr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop task by task id list.
|
||||||
|
*
|
||||||
|
* @param taskId the task id
|
||||||
|
* @return the list
|
||||||
|
*/
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByTaskId(Long taskId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop task by type list.
|
||||||
|
*
|
||||||
|
* @param type the type
|
||||||
|
* @return the list
|
||||||
|
*/
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByType(int type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop task by dispose node list.
|
||||||
|
*
|
||||||
|
* @param devId the dev id
|
||||||
|
* @param type the type
|
||||||
|
* @return the list
|
||||||
|
*/
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeNode(Long devId, int type);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finish task error code.
|
* Finish task error code.
|
||||||
*
|
*
|
||||||
|
|
|
@ -384,6 +384,25 @@ public class TaskServiceImpl implements TaskService {
|
||||||
return taskCacheManager.getAllTask();
|
return taskCacheManager.getAllTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByTaskId(Long taskId) {
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 根据处置IP,拿出所有正在处置的任务
|
||||||
|
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
|
||||||
|
.filter(v -> (Objects.equals(v.getId(), taskId))
|
||||||
|
&& taskIsRunning(v))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 对符合条件的任务调用停止命令
|
||||||
|
taskList.parallelStream().forEach(v -> {
|
||||||
|
ErrorCode err = stopTask(v.getId());
|
||||||
|
retList.add(new MReturnType<>(err, v));
|
||||||
|
});
|
||||||
|
|
||||||
|
return retList;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Task is exists boolean.
|
* Task is exists boolean.
|
||||||
*
|
*
|
||||||
|
@ -408,8 +427,8 @@ public class TaskServiceImpl implements TaskService {
|
||||||
|
|
||||||
// 根据处置IP,拿出所有正在处置的任务
|
// 根据处置IP,拿出所有正在处置的任务
|
||||||
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
|
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
|
||||||
.filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId)
|
.filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId))
|
||||||
&& Objects.equals(v.getType(), type))
|
&& (Objects.equals(v.getType(), type) || type == -1)
|
||||||
&& Objects.equals(v.getDisposeIp(), ipAddr)
|
&& Objects.equals(v.getDisposeIp(), ipAddr)
|
||||||
&& taskIsRunning(v))
|
&& taskIsRunning(v))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
@ -422,4 +441,43 @@ public class TaskServiceImpl implements TaskService {
|
||||||
|
|
||||||
return retList;
|
return retList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByDisposeNode(Long devId, int type) {
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 根据处置IP,拿出所有正在处置的任务
|
||||||
|
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
|
||||||
|
.filter(v -> ((devId == null || devId == -1L) || Objects.equals(v.getDeviceId(), devId))
|
||||||
|
&& (Objects.equals(v.getType(), type) || type == -1)
|
||||||
|
&& taskIsRunning(v))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 对符合条件的任务调用停止命令
|
||||||
|
taskList.parallelStream().forEach(v -> {
|
||||||
|
ErrorCode err = stopTask(v.getId());
|
||||||
|
retList.add(new MReturnType<>(err, v));
|
||||||
|
});
|
||||||
|
|
||||||
|
return retList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MReturnType<ErrorCode, TaskInfoDetail>> stopTaskByType(int type) {
|
||||||
|
List<MReturnType<ErrorCode, TaskInfoDetail>> retList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 根据处置IP,拿出所有正在处置的任务
|
||||||
|
List<TaskInfoDetail> taskList = taskCacheManager.getAllTask().parallelStream()
|
||||||
|
.filter(v -> (Objects.equals(v.getType(), type) || type == -1)
|
||||||
|
&& taskIsRunning(v))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 对符合条件的任务调用停止命令
|
||||||
|
taskList.parallelStream().forEach(v -> {
|
||||||
|
ErrorCode err = stopTask(v.getId());
|
||||||
|
retList.add(new MReturnType<>(err, v));
|
||||||
|
});
|
||||||
|
|
||||||
|
return retList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.MethodSorters;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
@ -30,6 +32,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
||||||
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class AuthControllerTest extends InitTestEnvironment {
|
public class AuthControllerTest extends InitTestEnvironment {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -22,8 +22,10 @@ import javax.annotation.Resource;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.MethodSorters;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
@ -43,6 +45,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
||||||
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class DeviceNodeManagerControllerTest extends InitTestEnvironment {
|
public class DeviceNodeManagerControllerTest extends InitTestEnvironment {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,8 +17,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.MethodSorters;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
@ -37,6 +40,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
||||||
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
public class TaskControllerTest extends InitTestEnvironment {
|
public class TaskControllerTest extends InitTestEnvironment {
|
||||||
/**
|
/**
|
||||||
* The Mock mvc.
|
* The Mock mvc.
|
||||||
|
@ -133,7 +137,7 @@ public class TaskControllerTest extends InitTestEnvironment {
|
||||||
@Test
|
@Test
|
||||||
public void t2_stopTask() throws Exception {
|
public void t2_stopTask() throws Exception {
|
||||||
IDArrayReq reqData = IDArrayReq.builder()
|
IDArrayReq reqData = IDArrayReq.builder()
|
||||||
.taskId(new String[]{"40", "2"})
|
.taskId(new String[]{String.valueOf(getExistsTaskId()), "2"})
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
ProtocolReqDTO reqInfo = new ProtocolReqDTO();
|
ProtocolReqDTO reqInfo = new ProtocolReqDTO();
|
||||||
|
@ -263,17 +267,10 @@ public class TaskControllerTest extends InitTestEnvironment {
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void t5_stopAllTask() throws Exception {
|
public void t5_stopAllTask() throws Exception {
|
||||||
StopTaskData itemData = StopTaskData.builder()
|
StopTaskData reqData = StopTaskData.builder()
|
||||||
.disposeIp("192.168.1.1")
|
|
||||||
.type(DeviceCapacity.CLEANUP.getCode())
|
.type(DeviceCapacity.CLEANUP.getCode())
|
||||||
.id("210")
|
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
StopTaskReq reqData = new StopTaskReq();
|
|
||||||
|
|
||||||
reqData.setItems(new ArrayList<>());
|
|
||||||
reqData.getItems().add(itemData);
|
|
||||||
|
|
||||||
ProtocolReqDTO reqInfo = new ProtocolReqDTO();
|
ProtocolReqDTO reqInfo = new ProtocolReqDTO();
|
||||||
reqInfo.setVer(ConstValue.Protocol.VERSION);
|
reqInfo.setVer(ConstValue.Protocol.VERSION);
|
||||||
reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE);
|
reqInfo.setCryptoType(ConstValue.Protocol.CRYPTO_NONE);
|
||||||
|
|
Loading…
Reference in New Issue