From 53ffefe0915827a27be66cd4b499e25c9f10c11a Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: Thu, 7 Jan 2021 14:09:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=90=91=E4=B8=8A=E7=BA=A7?= =?UTF-8?q?=E8=81=94->=E4=BF=9D=E5=AD=98=E6=97=B6=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=88=96=E6=B3=A8=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/vmanager/platform/PlatformController.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java index 152fa5dd..950d8f59 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/platform/PlatformController.java @@ -75,10 +75,19 @@ public class PlatformController { } // TODO 检查是否已经存在,且注册成功, 如果注册成功,需要先注销之前再,修改并注册 + ParentPlatform parentPlatformOld = storager.queryParentPlatById(parentPlatform.getDeviceGBId()); + boolean updateResult = storager.updateParentPlatform(parentPlatform); if (updateResult) { - commanderForPlatform.register(parentPlatform); + // 保存时启用就发送注册 + if (parentPlatform.isEnable()) { + // 只要保存就发送注册 + commanderForPlatform.register(parentPlatform); + }else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()){ // 关闭启用时注销 + commanderForPlatform.unregister(parentPlatform, null, null); + } + return new ResponseEntity<>("success", HttpStatus.OK); }else { @@ -98,7 +107,7 @@ public class PlatformController { return new ResponseEntity<>("missing parameters", HttpStatus.BAD_REQUEST); } - // 发送离线消息, + // 发送离线消息,无论是否成功都删除缓存 commanderForPlatform.unregister(parentPlatform, (event -> { // 清空redis缓存 redisCatchStorage.delPlatformCatchInfo(parentPlatform.getDeviceGBId());