From f10b458fc919fbcadc4936bf3a7886088e20ac71 Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 08 四月 2022 14:44:49 +0800
Subject: [PATCH] 优化订阅信息的发送与取消订阅

---
 src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 93 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
index 3bfa595..a0e7a73 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
@@ -5,7 +5,7 @@
 import com.genersoft.iot.vmp.VManageBootstrap;
 import com.genersoft.iot.vmp.common.VersionPo;
 import com.genersoft.iot.vmp.conf.SipConfig;
-import com.genersoft.iot.vmp.conf.UserSetup;
+import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.conf.VersionInfo;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.service.IMediaServerService;
@@ -48,7 +48,7 @@
     SipConfig sipConfig;
 
     @Autowired
-    UserSetup userSetup;
+    UserSetting userSetting;
 
     @Value("${server.port}")
     private int serverPort;
@@ -57,7 +57,7 @@
     @ApiOperation("娴佸獟浣撴湇鍔″垪琛�")
     @GetMapping(value = "/media_server/list")
     @ResponseBody
-    public WVPResult<List<MediaServerItem>> getMediaServerList(){
+    public WVPResult<List<MediaServerItem>> getMediaServerList(boolean detail){
         WVPResult<List<MediaServerItem>> result = new WVPResult<>();
         result.setCode(0);
         result.setMsg("success");
@@ -86,6 +86,92 @@
         result.setData(mediaServerService.getOne(id));
         return result;
     }
+
+    @ApiOperation("娴嬭瘯娴佸獟浣撴湇鍔�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="ip", value = "娴佸獟浣撴湇鍔P", dataTypeClass = String.class),
+            @ApiImplicitParam(name="port", value = "娴佸獟浣撴湇鍔TT绔彛", dataTypeClass = Integer.class),
+            @ApiImplicitParam(name="secret", value = "娴佸獟浣撴湇鍔ecret", dataTypeClass = String.class),
+    })
+    @GetMapping(value = "/media_server/check")
+    @ResponseBody
+    public WVPResult<MediaServerItem> checkMediaServer(@RequestParam String ip, @RequestParam int port, @RequestParam String secret){
+        return mediaServerService.checkMediaServer(ip, port, secret);
+    }
+
+    @ApiOperation("娴嬭瘯娴佸獟浣撳綍鍍忕鐞嗘湇鍔�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="ip", value = "娴佸獟浣撴湇鍔P", dataTypeClass = String.class),
+            @ApiImplicitParam(name="port", value = "娴佸獟浣撴湇鍔TT绔彛", dataTypeClass = Integer.class),
+            @ApiImplicitParam(name="secret", value = "娴佸獟浣撴湇鍔ecret", dataTypeClass = String.class),
+    })
+    @GetMapping(value = "/media_server/record/check")
+    @ResponseBody
+    public WVPResult<String> checkMediaRecordServer(@RequestParam String ip, @RequestParam int port){
+        boolean checkResult = mediaServerService.checkMediaRecordServer(ip, port);
+        WVPResult<String> result = new WVPResult<>();
+        if (checkResult) {
+            result.setCode(0);
+            result.setMsg("success");
+
+        }else {
+            result.setCode(-1);
+            result.setMsg("杩炴帴澶辫触");
+        }
+        return result;
+    }
+
+    @ApiOperation("淇濆瓨娴佸獟浣撴湇鍔�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="mediaServerItem", value = "娴佸獟浣撲俊鎭�", dataTypeClass = MediaServerItem.class)
+    })
+    @PostMapping(value = "/media_server/save")
+    @ResponseBody
+    public WVPResult<String> saveMediaServer(@RequestBody  MediaServerItem mediaServerItem){
+        MediaServerItem mediaServerItemInDatabase = mediaServerService.getOne(mediaServerItem.getId());
+
+        if (mediaServerItemInDatabase != null) {
+            if (StringUtils.isEmpty(mediaServerItemInDatabase.getSendRtpPortRange())
+                    && StringUtils.isEmpty(mediaServerItem.getSendRtpPortRange())){
+                mediaServerItem.setSendRtpPortRange("30000,30500");
+            }
+           mediaServerService.update(mediaServerItem);
+        }else {
+            if (StringUtils.isEmpty(mediaServerItem.getSendRtpPortRange())){
+                mediaServerItem.setSendRtpPortRange("30000,30500");
+            }
+            return mediaServerService.add(mediaServerItem);
+        }
+
+        WVPResult<String> result = new WVPResult<>();
+        result.setCode(0);
+        result.setMsg("success");
+        return result;
+    }
+
+    @ApiOperation("绉婚櫎娴佸獟浣撴湇鍔�")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="id", value = "娴佸獟浣揑D", dataTypeClass = String.class)
+    })
+    @DeleteMapping(value = "/media_server/delete")
+    @ResponseBody
+    public WVPResult<String> deleteMediaServer(@RequestParam  String id){
+        if (mediaServerService.getOne(id) != null) {
+            mediaServerService.delete(id);
+            mediaServerService.deleteDb(id);
+        }else {
+            WVPResult<String> result = new WVPResult<>();
+            result.setCode(-1);
+            result.setMsg("鏈壘鍒版鑺傜偣");
+            return result;
+        }
+        WVPResult<String> result = new WVPResult<>();
+        result.setCode(0);
+        result.setMsg("success");
+        return result;
+    }
+
+
 
     @ApiOperation("閲嶅惎鏈嶅姟")
     @GetMapping(value = "/restart")
@@ -146,14 +232,16 @@
         jsonObject.put("server.port", serverPort);
         if (StringUtils.isEmpty(type)) {
             jsonObject.put("sip", JSON.toJSON(sipConfig));
-            jsonObject.put("base", JSON.toJSON(userSetup));
+            jsonObject.put("base", JSON.toJSON(userSetting));
         }else {
             switch (type){
                 case "sip":
                     jsonObject.put("sip", sipConfig);
                     break;
                 case "base":
-                    jsonObject.put("base", userSetup);
+                    jsonObject.put("base", userSetting);
+                    break;
+                default:
                     break;
             }
         }

--
Gitblit v1.8.0