From 1f2b49cb476cdd1df9d20122b6be96a68daf79f1 Mon Sep 17 00:00:00 2001 From: HuangXin Date: Tue, 2 Feb 2021 18:38:38 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E5=90=AF=E5=8A=A8=E5=A4=84?= =?UTF-8?q?=E7=BD=AE=E4=BB=BB=E5=8A=A1=E6=97=B6=E8=BF=87=E6=BB=A4=E9=9D=9E?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E7=8A=B6=E6=80=81=E7=9A=84=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DeviceTaskManagerServiceImpl.java | 12 +++++++++++- .../impl/DisposeAbilityRouterServiceImpl.java | 12 +++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java index fb9aff18..c818c560 100644 --- a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java @@ -1,6 +1,14 @@ package com.dispose.service.impl; -import com.dispose.common.*; +import com.dispose.common.DisposeConfigValue; +import com.dispose.common.DisposeDeviceType; +import com.dispose.common.DisposeObjectType; +import com.dispose.common.DisposeTaskStatus; +import com.dispose.common.DpTechAttackType; +import com.dispose.common.ErrorCode; +import com.dispose.common.Helper; +import com.dispose.common.NetflowDirection; +import com.dispose.common.ObjectStatus; import com.dispose.manager.DeviceTaskManager; import com.dispose.manager.DisposeTaskManager; import com.dispose.pojo.entity.DeviceTask; @@ -497,6 +505,8 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { // 为当前所有可用处置设备创建对应的处置任务 disposeAbilityRouterService.getAllAbilityDevices().stream() + // 过滤非正常状态设备 + .filter(f -> f.getDev().getStatus().equals(ObjectStatus.NORMAL)) // 判断是否是当前设备的处置任务 .filter(f -> v.getDeviceId() == -1 || f.getDev().getId().equals(v.getDeviceId())) // 判断是否是当前区域处置 diff --git a/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java b/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java index a3dcd041..86ed2833 100644 --- a/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java @@ -202,16 +202,16 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ public void runPeriodTask() { synchronized (this) { - List rmKey = new ArrayList<>(); for (AbilityInfo v : getAllAbilityDevices()) { DisposeDevice dev = disposeDeviceManager.getDisposeDeviceById(v.getDev().getId()); - if (dev == null || !dev.getStatus().equals(ObjectStatus.NORMAL)) { - rmKey.add(getAbilityDeviceHashKey(v.getDev().getIpAddr(), v.getDev().getIpPort(), - String.valueOf(v.getDev().getDeviceType()))); - } else { + if (dev != null && !dev.getStatus().equals(ObjectStatus.NORMAL)) { + // 更新设备状态 + v.getDev().setStatus(dev.getStatus()); + v.getDb().periodTaskRuntime(); + // 同步最新处置平台业务信息到设备 v.getDb().upgradeServiceGroup(serviceGroupMapper.selectAll()); @@ -241,8 +241,6 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ })); } } - - rmKey.forEach(disposeAbilityMap::remove); } }