From cd9cc0d6179ad146182e3ccd377c59ccb1d84d3a Mon Sep 17 00:00:00 2001 From: HuangXin Date: Tue, 2 Feb 2021 19:09:16 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=AE=BE=E5=A4=87=E7=8A=B6=E6=80=81=E6=98=AF=EF=BC=8C?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0=E7=BC=93=E5=AD=98=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E5=A4=87=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/impl/DisposeDeviceManagerImpl.java | 10 +++++++++- .../service/DisposeAbilityRouterService.java | 13 +++++++++++-- .../impl/DisposeAbilityRouterServiceImpl.java | 16 ++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java b/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java index 0e6270b6..ec42d98f 100644 --- a/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java +++ b/src/main/java/com/dispose/manager/impl/DisposeDeviceManagerImpl.java @@ -64,7 +64,15 @@ public class DisposeDeviceManagerImpl implements DisposeDeviceManager { if (tDev.getStatus() == ObjectStatus.DELETED) { // 重置状态 dev.setStatus(ObjectStatus.NORMAL); - return upgradeDisposeDevice(dev); + + MulReturnType ret = upgradeDisposeDevice(dev); + + if (ret.getFirstParam() == ErrorCode.ERR_OK) { + // 同步更新缓存中设备状态 + disposeAbilityRouterService.upgradeDisposeDevice(dev.getId(), dev.getStatus()); + } + + return ret; } return new MulReturnType<>(ErrorCode.ERR_DEVICEEXISTS, tDev.getId()); diff --git a/src/main/java/com/dispose/service/DisposeAbilityRouterService.java b/src/main/java/com/dispose/service/DisposeAbilityRouterService.java index a0bd0ed7..e16bed6a 100644 --- a/src/main/java/com/dispose/service/DisposeAbilityRouterService.java +++ b/src/main/java/com/dispose/service/DisposeAbilityRouterService.java @@ -2,6 +2,7 @@ package com.dispose.service; import com.dispose.common.DisposeCapacityType; import com.dispose.common.ErrorCode; +import com.dispose.common.ObjectStatus; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.AbilityInfo; @@ -16,8 +17,8 @@ public interface DisposeAbilityRouterService { /** * Gets ability device. * - * @param ipAddr the ip addr - * @param ipPort the ip port + * @param ipAddr the ip addr + * @param ipPort the ip port * @param deviceType the device type * @return the ability device */ @@ -56,6 +57,14 @@ public interface DisposeAbilityRouterService { */ ErrorCode verifyDisposeCapacity(Long deviceId, String disposeIp, DisposeCapacityType capacityType); + /** + * Upgrade dispose device. + * + * @param id the id + * @param objStatus the obj status + */ + void upgradeDisposeDevice(Long id, ObjectStatus objStatus); + /** * Run period task. */ diff --git a/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java b/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java index d4cc9488..be5b5397 100644 --- a/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DisposeAbilityRouterServiceImpl.java @@ -95,6 +95,19 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ return null; } + /** + * Upgrade dispose device. + * + * @param id the id + * @param objStatus the obj status + */ + @Override + public void upgradeDisposeDevice(Long id, ObjectStatus objStatus) { + getAllAbilityDevices().stream() + .filter(v -> v.getDev().getId().equals(id)) + .forEach(v -> v.getDev().setStatus(objStatus)); + } + /** * Gets all ability devices. * @@ -210,6 +223,9 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ // 如果数据库中设备不存在,那么删除该设备 v.getDev().setStatus(ObjectStatus.DELETED); } else { + + v.getDev().setStatus(ObjectStatus.NORMAL); + // 数据库中的设备信息和缓存中的设备信息同步 v.getDev().getDevCapacity().forEach(k -> dev.getDevCapacity().forEach(m -> { if (k.getId().equals(m.getId())) {