From a797cd1c4bf7ccc18098033ab5572377e84094fd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 02 十二月 2021 18:09:38 +0800
Subject: [PATCH] 优化zlm接入

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java                 |    4 +++-
 web_src/src/components/dialog/platformEdit.vue                               |   23 ++++++++++++++++++++++-
 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java |   17 +++++++++++++++++
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
index c77bd80..b0960df 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -52,7 +52,9 @@
                 (MediaServerItem mediaServerItem, JSONObject response)->{
             ZLMServerConfig zlmServerConfig = JSONObject.toJavaObject(response, ZLMServerConfig.class);
             if (zlmServerConfig !=null ) {
-                startGetMedia.remove(zlmServerConfig.getGeneralMediaServerId());
+                if (startGetMedia != null) {
+                    startGetMedia.remove(zlmServerConfig.getGeneralMediaServerId());
+                }
                 mediaServerService.handLeZLMServerConfig(zlmServerConfig);
             }
         });
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index e457a33..228e622 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -29,6 +29,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -203,6 +204,15 @@
             }
             result.add(mediaServerItem);
         }
+        result.sort((serverItem1, serverItem2)->{
+            int sortResult = 0;
+            try {
+                sortResult = format.parse(serverItem1.getCreateTime()).compareTo(format.parse(serverItem2.getCreateTime()));
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return  sortResult;
+        });
         return result;
     }
 
@@ -271,7 +281,9 @@
                     result.setMsg("淇濆瓨澶辫触锛屽獟浣撴湇鍔D [ " + zlmServerConfig.getGeneralMediaServerId() + " ] 宸插瓨鍦紝璇蜂慨鏀瑰獟浣撴湇鍔″櫒閰嶇疆");
                     return result;
                 }
+                mediaServerItem.setId(zlmServerConfig.getGeneralMediaServerId());
                 zlmServerConfig.setIp(mediaServerItem.getIp());
+                mediaServerMapper.add(mediaServerItem);
                 handLeZLMServerConfig(zlmServerConfig);
                 result.setCode(0);
                 result.setMsg("success");
@@ -311,8 +323,13 @@
         }
         if (StringUtils.isEmpty(serverItem.getId())) {
             serverItem.setId(zlmServerConfig.getGeneralMediaServerId());
+        }
+        if (redisUtil.get(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId()) == null) {
+            SsrcConfig ssrcConfig = new SsrcConfig(serverItem.getId(), null, sipConfig.getDomain());
+            serverItem.setSsrcConfig(ssrcConfig);
             redisUtil.set(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId(), serverItem);
         }
+
         serverItem.setStatus(true);
         mediaServerMapper.update(serverItem);
         resetOnlineServerItem(serverItem);
diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue
index 1ee777d..cc51652 100644
--- a/web_src/src/components/dialog/platformEdit.vue
+++ b/web_src/src/components/dialog/platformEdit.vue
@@ -97,7 +97,28 @@
   name: "platformEdit",
   props: {},
   computed: {},
-  created() {},
+  created() {
+    this.platform = {
+      id: null,
+      enable: true,
+      ptz: true,
+      rtcp: false,
+      name: null,
+      serverGBId: null,
+      serverGBDomain: null,
+      serverIP: null,
+      serverPort: null,
+      deviceGBId: null,
+      deviceIp: null,
+      devicePort: null,
+      username: null,
+      password: null,
+      expires: 300,
+      keepTimeout: 60,
+      transport: "UDP",
+      characterSet: "GB2312",
+    }
+  },
   data() {
     var deviceGBIdRules = async (rule, value, callback) => {
       console.log(value);

--
Gitblit v1.8.0