Przeglądaj źródła

优化zlm接入

648540858 3 lat temu
rodzic
commit
a797cd1c4b

+ 3 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java

@@ -52,7 +52,9 @@ public class ZLMRunner implements CommandLineRunner {
                 (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);
             }
         });

+ 17 - 0
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.core.annotation.Order;
 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 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
             }
             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 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
                     result.setMsg("保存失败,媒体服务ID [ " + 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 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
         }
         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);

+ 22 - 1
web_src/src/components/dialog/platformEdit.vue

@@ -97,7 +97,28 @@ export default {
   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);