parent
34462a418c
commit
49aadd12a3
|
@ -238,7 +238,7 @@ public class DisposeInfoController {
|
||||||
|
|
||||||
// 对返回的信息按照设备ID排序
|
// 对返回的信息按照设备ID排序
|
||||||
rspInfo.setItems(rspList.stream()
|
rspInfo.setItems(rspList.stream()
|
||||||
.sorted(Comparator.comparing(DeviceDetail::getId))
|
.sorted(Comparator.comparingLong((DeviceDetail v) -> Long.parseLong(v.getId())))
|
||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
||||||
|
|
|
@ -321,12 +321,6 @@ public class DisposeTaskController {
|
||||||
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspList);
|
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets all dispose task.
|
|
||||||
*
|
|
||||||
* @param mr the mr
|
|
||||||
* @return the all dispose task
|
|
||||||
*/
|
|
||||||
@PostMapping("/taskList")
|
@PostMapping("/taskList")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ApiOperation("获取处置任务")
|
@ApiOperation("获取处置任务")
|
||||||
|
@ -334,78 +328,70 @@ public class DisposeTaskController {
|
||||||
@Validated(ValidGroups.ProtocolCommonValid.class)
|
@Validated(ValidGroups.ProtocolCommonValid.class)
|
||||||
@RequestBody ProtocolReqDTO<BasePagesGetReq> mr
|
@RequestBody ProtocolReqDTO<BasePagesGetReq> mr
|
||||||
) {
|
) {
|
||||||
GetTaskRsp rspInfo = GetTaskRsp.builder().build();
|
GetTaskRsp rspInfo = GetTaskRsp.builder()
|
||||||
|
.items(new ArrayList<>())
|
||||||
|
.build();
|
||||||
List<GetTaskDetail> getTaskDetail = new ArrayList<>();
|
List<GetTaskDetail> getTaskDetail = new ArrayList<>();
|
||||||
|
|
||||||
//获取TaskId列表
|
//获取TaskId列表
|
||||||
List<Long> reqTaskIds = Arrays.stream(Optional.ofNullable(mr.getMsgContent().getTaskId())
|
List<Long> reqTaskIds = Arrays.stream(Optional.ofNullable(mr.getMsgContent().getTaskId())
|
||||||
.orElse(new String[]{})).
|
.orElse(new String[]{}))
|
||||||
map(Long::parseLong).collect(Collectors.toList());
|
.map(Long::parseLong)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
//获取所有可用处置任务
|
MulReturnType<PageInfo<DisposeTask>, List<DisposeTask>> ret =
|
||||||
List<DisposeTask> taskList = disposeTaskService.getAllDisposeTask();
|
disposeTaskService.getPageDisposeTask(reqTaskIds,
|
||||||
List<Long> idArray = taskList.stream().filter(v -> reqTaskIds.size() == 0 || reqTaskIds.contains(v.getId()))
|
mr.getMsgContent().getStartPage(),
|
||||||
.map(DisposeTask::getId).collect(Collectors.toList());
|
mr.getMsgContent().getPageSize());
|
||||||
|
|
||||||
if (idArray.size() > 0) {
|
// 分页信息
|
||||||
MulReturnType<PageInfo<DisposeTask>, List<DisposeTask>> ret =
|
rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum());
|
||||||
disposeTaskService.getPageDisposeTask(idArray,
|
rspInfo.setPageSize(ret.getFirstParam().getPageSize());
|
||||||
mr.getMsgContent().getStartPage(),
|
rspInfo.setTotalItems((int) ret.getFirstParam().getTotal());
|
||||||
mr.getMsgContent().getPageSize());
|
rspInfo.setTotalPages(ret.getFirstParam().getPages());
|
||||||
|
|
||||||
// 分页信息
|
reqTaskIds.stream()
|
||||||
rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum());
|
.filter(v -> ret.getSecondParam().stream().noneMatch(k -> k.getId().equals(v)))
|
||||||
rspInfo.setPageSize(ret.getFirstParam().getPageSize());
|
.forEach(v -> {
|
||||||
rspInfo.setTotalItems((int) ret.getFirstParam().getTotal());
|
GetTaskDetail td = GetTaskDetail.builder().build();
|
||||||
rspInfo.setTotalPages(ret.getFirstParam().getPages());
|
td.setTaskId(String.valueOf(v));
|
||||||
|
td.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
||||||
ret.getSecondParam().forEach(v -> {
|
td.setMessage(new String[]{ErrorCode.ERR_NOSUCHTASK.getMsg()});
|
||||||
GetTaskDetail taskDetail = GetTaskDetail.builder()
|
getTaskDetail.add(td);
|
||||||
.taskId(String.valueOf(v.getId()))
|
|
||||||
.accountId(String.valueOf(v.getAccountId()))
|
|
||||||
.disposeCapacity(v.getDisposeCapacity().getValue())
|
|
||||||
.disposeIp(v.getDisposeObject())
|
|
||||||
.createTime(v.getCreateTime())
|
|
||||||
.planEndTime(v.getPlanEndTime())
|
|
||||||
.endTime(v.getEndTime())
|
|
||||||
.flowDirection(v.getFlowDirection().getValue())
|
|
||||||
.attackType(v.getAttackType().toString())
|
|
||||||
.flowBandWidth(v.getFlowBandWidth())
|
|
||||||
.currentStatus(v.getCurrentStatus().getValue())
|
|
||||||
.deviceTask(new ArrayList<>())
|
|
||||||
.build();
|
|
||||||
taskDetail.setStatus(ErrorCode.ERR_OK.getCode());
|
|
||||||
taskDetail.setMessage(new String[]{ErrorCode.ERR_OK.getMsg()});
|
|
||||||
|
|
||||||
v.getDeviceTask().forEach(k -> {
|
|
||||||
GetDeviceTaskDetail deviceTaskDetail = GetDeviceTaskDetail.builder()
|
|
||||||
.devTaskId(String.valueOf(k.getId()))
|
|
||||||
.devId(String.valueOf(k.getDeviceId()))
|
|
||||||
.externId(String.valueOf(k.getExternId()))
|
|
||||||
.status(k.getStatus())
|
|
||||||
.build();
|
|
||||||
taskDetail.getDeviceTask().add(deviceTaskDetail);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
getTaskDetail.add(taskDetail);
|
for (DisposeTask v : ret.getSecondParam()) {
|
||||||
|
GetTaskDetail taskDetail = GetTaskDetail.builder()
|
||||||
|
.taskId(String.valueOf(v.getId()))
|
||||||
|
.accountId(String.valueOf(v.getAccountId()))
|
||||||
|
.disposeCapacity(v.getDisposeCapacity().getValue())
|
||||||
|
.disposeIp(v.getDisposeObject())
|
||||||
|
.createTime(v.getCreateTime())
|
||||||
|
.planEndTime(v.getPlanEndTime())
|
||||||
|
.endTime(v.getEndTime())
|
||||||
|
.flowDirection(v.getFlowDirection().getValue())
|
||||||
|
.attackType(v.getAttackType().toString())
|
||||||
|
.flowBandWidth(v.getFlowBandWidth())
|
||||||
|
.currentStatus(v.getCurrentStatus().getValue())
|
||||||
|
.deviceTask(new ArrayList<>())
|
||||||
|
.build();
|
||||||
|
taskDetail.setStatus(ErrorCode.ERR_OK.getCode());
|
||||||
|
taskDetail.setMessage(new String[]{ErrorCode.ERR_OK.getMsg()});
|
||||||
|
|
||||||
|
v.getDeviceTask().forEach(k -> {
|
||||||
|
GetDeviceTaskDetail deviceTaskDetail = GetDeviceTaskDetail.builder()
|
||||||
|
.devTaskId(String.valueOf(k.getId()))
|
||||||
|
.devId(String.valueOf(k.getDeviceId()))
|
||||||
|
.externId(String.valueOf(k.getExternId()))
|
||||||
|
.status(k.getStatus())
|
||||||
|
.build();
|
||||||
|
taskDetail.getDeviceTask().add(deviceTaskDetail);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
getTaskDetail.add(taskDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置不存在taskId的错误码
|
rspInfo.getItems().addAll(getTaskDetail.stream().sorted(Comparator.comparingLong((GetTaskDetail v) -> Long.parseLong(v.getTaskId())))
|
||||||
if (reqTaskIds.stream().anyMatch(v -> taskList.stream().noneMatch(k -> k.getId().equals(v)))) {
|
|
||||||
reqTaskIds.stream()
|
|
||||||
.filter(v -> taskList.stream().noneMatch(k -> k.getId().equals(v)))
|
|
||||||
.forEach(v -> {
|
|
||||||
GetTaskDetail td = GetTaskDetail.builder().build();
|
|
||||||
td.setTaskId(String.valueOf(v));
|
|
||||||
td.setStatus(ErrorCode.ERR_NOSUCHTASK.getCode());
|
|
||||||
td.setMessage(new String[]{ErrorCode.ERR_NOSUCHTASK.getMsg()});
|
|
||||||
getTaskDetail.add(td);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 对返回的信息按照TaskID排序
|
|
||||||
rspInfo.setItems(getTaskDetail.stream().sorted(Comparator.comparing(GetTaskDetail::getTaskId))
|
|
||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo);
|
||||||
|
|
|
@ -16,7 +16,6 @@ import org.springframework.stereotype.Component;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The type Dispose task manager.
|
* The type Dispose task manager.
|
||||||
|
@ -131,25 +130,20 @@ public class DisposeTaskManagerImpl implements DisposeTaskManager {
|
||||||
public MulReturnType<PageInfo<DisposeTask>, List<DisposeTask>> getPagesOfTask(List<Long> taskId,
|
public MulReturnType<PageInfo<DisposeTask>, List<DisposeTask>> getPagesOfTask(List<Long> taskId,
|
||||||
Integer startPage,
|
Integer startPage,
|
||||||
Integer pageSize) {
|
Integer pageSize) {
|
||||||
List<DisposeTask> rspList = new ArrayList<>();
|
List<DisposeTask> taskList = new ArrayList<>();
|
||||||
|
|
||||||
// 设置分页信息
|
// 设置分页信息
|
||||||
PageHelper.startPage(startPage, pageSize);
|
PageHelper.startPage(startPage, pageSize);
|
||||||
|
|
||||||
//获取所有可用处置任务
|
if(taskId.size() > 0) {
|
||||||
List<DisposeTask> taskList = disposeTaskMapper.selectPageAll().stream().
|
taskList.addAll(disposeTaskMapper.selectByIdSet(taskId));
|
||||||
filter(v->taskId.size() == 0 || taskId.contains(v.getId())).collect(Collectors.toList());
|
} else {
|
||||||
|
taskList.addAll(disposeTaskMapper.selectPageAll());
|
||||||
if (taskList == null) {
|
|
||||||
taskList = new ArrayList<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PageInfo<DisposeTask> pageInfo = new PageInfo<>(taskList);
|
PageInfo<DisposeTask> pageInfo = new PageInfo<>(taskList);
|
||||||
|
|
||||||
if(taskList.size() > 0) {
|
|
||||||
List<Long> idArray = taskList.stream().map(DisposeTask::getId).collect(Collectors.toList());
|
|
||||||
rspList.addAll(disposeTaskMapper.selectByIdSet(idArray));
|
|
||||||
}
|
|
||||||
|
|
||||||
return new MulReturnType<>(pageInfo, rspList);
|
return new MulReturnType<>(pageInfo, taskList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,11 +22,16 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class RestfulInterface {
|
public class RestfulInterface {
|
||||||
|
private static int timeOutValue = 1000;
|
||||||
/**
|
/**
|
||||||
* The constant OBJECT_MAPPER.
|
* The constant OBJECT_MAPPER.
|
||||||
*/
|
*/
|
||||||
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
||||||
|
|
||||||
|
public static void initEnv(int timeout) {
|
||||||
|
RestfulInterface.timeOutValue = timeout;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Post json string.
|
* Post json string.
|
||||||
*
|
*
|
||||||
|
@ -36,6 +41,7 @@ public class RestfulInterface {
|
||||||
* @return the string
|
* @return the string
|
||||||
*/
|
*/
|
||||||
private static String postJson(String url, Map<String, String> header, String body) {
|
private static String postJson(String url, Map<String, String> header, String body) {
|
||||||
|
HttpRequest.setGlobalTimeout(timeOutValue);
|
||||||
return HttpRequest.post(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header).body(body)
|
return HttpRequest.post(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header).body(body)
|
||||||
.execute().body();
|
.execute().body();
|
||||||
}
|
}
|
||||||
|
@ -48,6 +54,7 @@ public class RestfulInterface {
|
||||||
* @return the json
|
* @return the json
|
||||||
*/
|
*/
|
||||||
private static String getJson(String url, Map<String, String> header) {
|
private static String getJson(String url, Map<String, String> header) {
|
||||||
|
HttpRequest.setGlobalTimeout(timeOutValue);
|
||||||
return HttpRequest.get(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header)
|
return HttpRequest.get(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header)
|
||||||
.execute().body();
|
.execute().body();
|
||||||
}
|
}
|
||||||
|
|
|
@ -413,6 +413,10 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void yiYangDeviceTaskRun(AbilityInfo ai, DeviceTask deviceTask, DisposeTask disposeTask) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispose task manager schedule.
|
* Dispose task manager schedule.
|
||||||
*/
|
*/
|
||||||
|
@ -497,6 +501,10 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService {
|
||||||
virtualDeviceTaskRun(ai, v, task);
|
virtualDeviceTaskRun(ai, v, task);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case YIYANG_PLATFORM:
|
||||||
|
yiYangDeviceTaskRun(ai, v, task);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
log.error("Unknown dispose device type: {}", ai.getDev());
|
log.error("Unknown dispose device type: {}", ai.getDev());
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.dispose.setup;
|
||||||
import com.dispose.common.ErrorCode;
|
import com.dispose.common.ErrorCode;
|
||||||
import com.dispose.pojo.po.MulReturnType;
|
import com.dispose.pojo.po.MulReturnType;
|
||||||
import com.dispose.pojo.vo.DeviceFirewareInfo;
|
import com.dispose.pojo.vo.DeviceFirewareInfo;
|
||||||
|
import com.dispose.restful.RestfulInterface;
|
||||||
import com.dispose.service.DisposeAbilityRouterService;
|
import com.dispose.service.DisposeAbilityRouterService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.boot.CommandLineRunner;
|
||||||
|
@ -49,5 +50,7 @@ public class SystemInitial implements CommandLineRunner {
|
||||||
public void run(String... args) {
|
public void run(String... args) {
|
||||||
// 初始化处置能力设备
|
// 初始化处置能力设备
|
||||||
setupAbilityDevice();
|
setupAbilityDevice();
|
||||||
|
|
||||||
|
RestfulInterface.initEnv(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue