From ee746e53cda8e35ede1d966b582160caeb1ca562 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 04 三月 2022 15:39:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'gitee.com/wvp-pro-record' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 34 +++++++++++++++++++++++++++++-----
1 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
index b850729..8fed6dd 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -137,6 +137,11 @@
wvpResult.setMsg("missing parameters");
return new ResponseEntity<>(wvpResult, HttpStatus.BAD_REQUEST);
}
+ if (parentPlatform.getServerPort()< 0 || parentPlatform.getServerPort() > 65535){
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("error severPort");
+ return new ResponseEntity<>(wvpResult, HttpStatus.BAD_REQUEST);
+ }
ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
if (parentPlatformOld != null) {
@@ -149,8 +154,16 @@
if (updateResult) {
// 淇濆瓨鏃跺惎鐢ㄥ氨鍙戦�佹敞鍐�
if (parentPlatform.isEnable()) {
- // 鍙淇濆瓨灏卞彂閫佹敞鍐�
- commanderForPlatform.register(parentPlatform, null, null);
+ if (parentPlatformOld.isStatus()) {
+ commanderForPlatform.unregister(parentPlatformOld, null, eventResult -> {
+ // 鍙淇濆瓨灏卞彂閫佹敞鍐�
+ commanderForPlatform.register(parentPlatform, null, null);
+ });
+ }else {
+ // 鍙淇濆瓨灏卞彂閫佹敞鍐�
+ commanderForPlatform.register(parentPlatform, null, null);
+ }
+
} else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()){ // 鍏抽棴鍚敤鏃舵敞閿�
commanderForPlatform.unregister(parentPlatform, null, null);
}
@@ -203,10 +216,21 @@
if (updateResult) {
// 淇濆瓨鏃跺惎鐢ㄥ氨鍙戦�佹敞鍐�
if (parentPlatform.isEnable()) {
- // 鍙淇濆瓨灏卞彂閫佹敞鍐�
- commanderForPlatform.register(parentPlatform, null, null);
+ if (parentPlatformOld.isStatus()) {
+ commanderForPlatform.unregister(parentPlatformOld, null, null);
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ // 鍙淇濆瓨灏卞彂閫佹敞鍐�
+ commanderForPlatform.register(parentPlatform, null, null);
+ }else {
+ // 鍙淇濆瓨灏卞彂閫佹敞鍐�
+ commanderForPlatform.register(parentPlatform, null, null);
+ }
} else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()){ // 鍏抽棴鍚敤鏃舵敞閿�
- commanderForPlatform.unregister(parentPlatform, null, null);
+ commanderForPlatform.unregister(parentPlatformOld, null, null);
}
wvpResult.setCode(0);
wvpResult.setMsg("success");
--
Gitblit v1.8.0