From 49aadd12a37647b82644cf9b0f4081560e483404 Mon Sep 17 00:00:00 2001 From: HuangXin Date: Sat, 10 Oct 2020 11:42:18 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E4=BF=AE=E6=AD=A3=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E4=BB=BB=E5=8A=A1Id=E6=9F=A5=E8=AF=A2=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=86=E9=A1=B5=E9=97=AE=E9=A2=98=202.=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Restful=E6=8E=A5=E5=8F=A3=E8=B6=85=E6=97=B6=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DisposeInfoController.java | 2 +- .../controller/DisposeTaskController.java | 118 ++++++++---------- .../manager/impl/DisposeTaskManagerImpl.java | 20 ++- .../com/dispose/restful/RestfulInterface.java | 7 ++ .../impl/DeviceTaskManagerServiceImpl.java | 8 ++ .../java/com/dispose/setup/SystemInitial.java | 3 + 6 files changed, 78 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/dispose/controller/DisposeInfoController.java b/src/main/java/com/dispose/controller/DisposeInfoController.java index e1e7b50c..80d5b0bd 100644 --- a/src/main/java/com/dispose/controller/DisposeInfoController.java +++ b/src/main/java/com/dispose/controller/DisposeInfoController.java @@ -238,7 +238,7 @@ public class DisposeInfoController { // 对返回的信息按照设备ID排序 rspInfo.setItems(rspList.stream() - .sorted(Comparator.comparing(DeviceDetail::getId)) + .sorted(Comparator.comparingLong((DeviceDetail v) -> Long.parseLong(v.getId()))) .collect(Collectors.toList())); return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); diff --git a/src/main/java/com/dispose/controller/DisposeTaskController.java b/src/main/java/com/dispose/controller/DisposeTaskController.java index 7f31bca0..7fe300b7 100644 --- a/src/main/java/com/dispose/controller/DisposeTaskController.java +++ b/src/main/java/com/dispose/controller/DisposeTaskController.java @@ -321,12 +321,6 @@ public class DisposeTaskController { return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspList); } - /** - * Gets all dispose task. - * - * @param mr the mr - * @return the all dispose task - */ @PostMapping("/taskList") @ResponseBody @ApiOperation("获取处置任务") @@ -334,78 +328,70 @@ public class DisposeTaskController { @Validated(ValidGroups.ProtocolCommonValid.class) @RequestBody ProtocolReqDTO mr ) { - GetTaskRsp rspInfo = GetTaskRsp.builder().build(); + GetTaskRsp rspInfo = GetTaskRsp.builder() + .items(new ArrayList<>()) + .build(); List getTaskDetail = new ArrayList<>(); //获取TaskId列表 List reqTaskIds = Arrays.stream(Optional.ofNullable(mr.getMsgContent().getTaskId()) - .orElse(new String[]{})). - map(Long::parseLong).collect(Collectors.toList()); + .orElse(new String[]{})) + .map(Long::parseLong) + .collect(Collectors.toList()); - //获取所有可用处置任务 - List taskList = disposeTaskService.getAllDisposeTask(); - List idArray = taskList.stream().filter(v -> reqTaskIds.size() == 0 || reqTaskIds.contains(v.getId())) - .map(DisposeTask::getId).collect(Collectors.toList()); + MulReturnType, List> ret = + disposeTaskService.getPageDisposeTask(reqTaskIds, + mr.getMsgContent().getStartPage(), + mr.getMsgContent().getPageSize()); - if (idArray.size() > 0) { - MulReturnType, List> ret = - disposeTaskService.getPageDisposeTask(idArray, - mr.getMsgContent().getStartPage(), - mr.getMsgContent().getPageSize()); + // 分页信息 + rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum()); + rspInfo.setPageSize(ret.getFirstParam().getPageSize()); + rspInfo.setTotalItems((int) ret.getFirstParam().getTotal()); + rspInfo.setTotalPages(ret.getFirstParam().getPages()); - // 分页信息 - rspInfo.setCurPageNumber(ret.getFirstParam().getPageNum()); - rspInfo.setPageSize(ret.getFirstParam().getPageSize()); - rspInfo.setTotalItems((int) ret.getFirstParam().getTotal()); - rspInfo.setTotalPages(ret.getFirstParam().getPages()); - - ret.getSecondParam().forEach(v -> { - 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); + reqTaskIds.stream() + .filter(v -> ret.getSecondParam().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); }); - 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的错误码 - 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)) + rspInfo.getItems().addAll(getTaskDetail.stream().sorted(Comparator.comparingLong((GetTaskDetail v) -> Long.parseLong(v.getTaskId()))) .collect(Collectors.toList())); return ProtocolRespDTO.result(ErrorCode.ERR_OK, rspInfo); diff --git a/src/main/java/com/dispose/manager/impl/DisposeTaskManagerImpl.java b/src/main/java/com/dispose/manager/impl/DisposeTaskManagerImpl.java index ebebca2f..2d34a348 100644 --- a/src/main/java/com/dispose/manager/impl/DisposeTaskManagerImpl.java +++ b/src/main/java/com/dispose/manager/impl/DisposeTaskManagerImpl.java @@ -16,7 +16,6 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** * The type Dispose task manager. @@ -131,25 +130,20 @@ public class DisposeTaskManagerImpl implements DisposeTaskManager { public MulReturnType, List> getPagesOfTask(List taskId, Integer startPage, Integer pageSize) { - List rspList = new ArrayList<>(); + List taskList = new ArrayList<>(); + // 设置分页信息 PageHelper.startPage(startPage, pageSize); - //获取所有可用处置任务 - List taskList = disposeTaskMapper.selectPageAll().stream(). - filter(v->taskId.size() == 0 || taskId.contains(v.getId())).collect(Collectors.toList()); - - if (taskList == null) { - taskList = new ArrayList<>(); + if(taskId.size() > 0) { + taskList.addAll(disposeTaskMapper.selectByIdSet(taskId)); + } else { + taskList.addAll(disposeTaskMapper.selectPageAll()); } PageInfo pageInfo = new PageInfo<>(taskList); - if(taskList.size() > 0) { - List idArray = taskList.stream().map(DisposeTask::getId).collect(Collectors.toList()); - rspList.addAll(disposeTaskMapper.selectByIdSet(idArray)); - } - return new MulReturnType<>(pageInfo, rspList); + return new MulReturnType<>(pageInfo, taskList); } } diff --git a/src/main/java/com/dispose/restful/RestfulInterface.java b/src/main/java/com/dispose/restful/RestfulInterface.java index 685b3b75..b7cf1c96 100644 --- a/src/main/java/com/dispose/restful/RestfulInterface.java +++ b/src/main/java/com/dispose/restful/RestfulInterface.java @@ -22,11 +22,16 @@ import java.util.Map; */ @Slf4j public class RestfulInterface { + private static int timeOutValue = 1000; /** * The constant OBJECT_MAPPER. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + public static void initEnv(int timeout) { + RestfulInterface.timeOutValue = timeout; + } + /** * Post json string. * @@ -36,6 +41,7 @@ public class RestfulInterface { * @return the string */ private static String postJson(String url, Map header, String body) { + HttpRequest.setGlobalTimeout(timeOutValue); return HttpRequest.post(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header).body(body) .execute().body(); } @@ -48,6 +54,7 @@ public class RestfulInterface { * @return the json */ private static String getJson(String url, Map header) { + HttpRequest.setGlobalTimeout(timeOutValue); return HttpRequest.get(url).header(Header.CONTENT_TYPE, "application/json").addHeaders(header) .execute().body(); } diff --git a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java index 6d97aea7..188620c6 100644 --- a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java @@ -413,6 +413,10 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { } } + private void yiYangDeviceTaskRun(AbilityInfo ai, DeviceTask deviceTask, DisposeTask disposeTask) { + + } + /** * Dispose task manager schedule. */ @@ -497,6 +501,10 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { virtualDeviceTaskRun(ai, v, task); break; + case YIYANG_PLATFORM: + yiYangDeviceTaskRun(ai, v, task); + break; + default: log.error("Unknown dispose device type: {}", ai.getDev()); break; diff --git a/src/main/java/com/dispose/setup/SystemInitial.java b/src/main/java/com/dispose/setup/SystemInitial.java index b3beda47..0d51d8c1 100644 --- a/src/main/java/com/dispose/setup/SystemInitial.java +++ b/src/main/java/com/dispose/setup/SystemInitial.java @@ -3,6 +3,7 @@ package com.dispose.setup; import com.dispose.common.ErrorCode; import com.dispose.pojo.po.MulReturnType; import com.dispose.pojo.vo.DeviceFirewareInfo; +import com.dispose.restful.RestfulInterface; import com.dispose.service.DisposeAbilityRouterService; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; @@ -49,5 +50,7 @@ public class SystemInitial implements CommandLineRunner { public void run(String... args) { // 初始化处置能力设备 setupAbilityDevice(); + + RestfulInterface.initEnv(1000); } }