From 49bedcce2ac42fa34da012ee3fc8e9230886064a Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期五, 12 七月 2024 15:28:24 +0800
Subject: [PATCH] 优化:流媒体

---
 ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java |   93 ++++++++++++++++++++++------------------------
 1 files changed, 44 insertions(+), 49 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java b/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
index 6d89b58..c5d6bba 100644
--- a/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
+++ b/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
@@ -2,16 +2,14 @@
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
-import com.ruoyi.media.domain.Config;
-import com.ruoyi.media.domain.Paths;
-import com.ruoyi.media.domain.StreamInfo;
-import com.ruoyi.media.domain.Vtdu;
+import com.ruoyi.media.domain.*;
 import com.ruoyi.media.service.IMediaService;
 import com.ruoyi.media.service.IVtduService;
 import io.swagger.annotations.Api;
@@ -107,33 +105,21 @@
     }
 
     /**
-     * 绉婚櫎鎷夋祦
+     * 绉婚櫎webrtc鎷夋祦
      */
-    @ApiOperation("绉婚櫎鎷夋祦")
-    @ApiOperationSupport(order =4 )
+    @ApiOperation("绉婚櫎webrtc鎷夋祦")
+    @ApiOperationSupport(order = 4)
     @PreAuthorize("@ss.hasPermi('media:stream:remove')")
     @DeleteMapping("/{sessionId}")
-    public AjaxResult removePullStreamSession(@PathVariable String sessionId) {
-        List<StreamInfo> pullStreamList = mediaService.getPullStreamList(1,1000);
-        StreamInfo streamInfo = pullStreamList.stream()
-                .filter(object -> object.getId().equals(sessionId))
-                .collect(Collectors.toList()).get(0);
-        switch (streamInfo.getSessionType()) {
-            case "rtsp":
-                return AjaxResult.success(mediaService.kickRtspSession(sessionId));
-            case "webrtc":
-                return AjaxResult.success(mediaService.kickWebrtcSession(sessionId));
-            case "rtmp":
-                return AjaxResult.success(mediaService.kickRtmpSession(sessionId));
-        }
-        return AjaxResult.error();
+    public AjaxResult removeWebrtcPullStreamSession(@PathVariable String sessionId) {
+        return AjaxResult.success(mediaService.kickWebrtcSession(sessionId));
     }
 
     /**
      * 鑾峰彇閫氶亾璇︾粏淇℃伅
      */
     @ApiOperation("鑾峰彇閫氶亾璇︾粏淇℃伅")
-    @ApiOperationSupport(order =4 )
+    @ApiOperationSupport(order = 4)
     @GetMapping(value = "/{name}")
     public AjaxResult getInfo(@PathVariable("name") String name) {
         return success(mediaService.getPathInfo(name));
@@ -145,30 +131,18 @@
     @GetMapping("/path/list")
     @ApiOperation("鑾峰彇褰撳墠閫氶亾鍒楄〃")
     @ApiOperationSupport(order = 5)
-    public TableDataInfo getPaths(Integer pageNum,Integer pageSize) {
+    public TableDataInfo getPaths(Integer pageNum, Integer pageSize) {
         startPage();
-        return getDataTable(mediaService.paths(pageNum,pageSize));
+        return getDataTable(mediaService.paths(pageNum, pageSize));
     }
 
     /**
      * 鎸塈D鏌ヨ鎷夋祦璇︽儏
      */
-    @GetMapping("/getRtspSessionById")
-    @ApiOperation("鎸塈D鏌ヨ鎷夋祦璇︽儏")
-    public AjaxResult getRtspSessionById(String sessionId) {
-        List<StreamInfo> pullStreamList = mediaService.getPullStreamList(1,1000);
-        StreamInfo streamInfo = pullStreamList.stream()
-                .filter(object -> object.getId().equals(sessionId))
-                .collect(Collectors.toList()).get(0);
-        switch (streamInfo.getSessionType()) {
-            case "rtsp":
-                return AjaxResult.success(mediaService.getRtspSessionById(sessionId));
-            case "rtmp":
-                return AjaxResult.success(mediaService.getRtmpSessionById(sessionId));
-            case "webrtc":
-                return AjaxResult.success(mediaService.getWebrtcSessionById(sessionId));
-        }
-        return AjaxResult.error();
+    @GetMapping("/getWebrtcSessionById")
+    @ApiOperation("鎸塈D鏌ヨwebrtc鎷夋祦璇︽儏")
+    public AjaxResult getWebrtcSessionById(String sessionId) {
+        return AjaxResult.success(mediaService.getWebrtcSessionById(sessionId));
     }
 
     /**
@@ -178,21 +152,42 @@
     @GetMapping("/pushList")
     @ApiOperation("鑾峰彇鎺ㄦ祦鍒楄〃")
     @ApiOperationSupport(order = 6)
-    public TableDataInfo getPushStreamList(Integer pageNum,Integer pageSize) {
-        startPage();
-        return getDataTable(mediaService.getPushStreamList(pageNum,pageSize));
+    public TableDataInfo getPushStreamList(Integer pageNum, Integer pageSize) {
+        TableDataInfo tableDataInfo = mediaService.getPushStreamList(pageNum, pageSize);
+        return tableDataInfo;
     }
 
     /**
-     * 鑾峰彇鎷夋祦鍒楄〃
+     * 鑾峰彇WebRtc鎷夋祦鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('media:stream:list')")
-    @GetMapping("/pullList")
-    @ApiOperation("鑾峰彇鎷夋祦鍒楄〃")
+    @GetMapping("/getPullWebrtcStreamList")
+    @ApiOperation("鑾峰彇WebRtc鎷夋祦鍒楄〃")
     @ApiOperationSupport(order = 7)
-    public TableDataInfo getPullStreamList(Integer pageNum,Integer pageSize) {
-        startPage();
-        return getDataTable(mediaService.getPullStreamList(pageNum,pageSize));
+    public TableDataInfo getPullWebrtcStreamList(Integer pageNum, Integer pageSize) {
+        return mediaService.getPullWebrtcStreamList(pageNum, pageSize);
     }
 
+    /**
+     * 鑾峰彇rtsp鎷夋祦鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('media:stream:list')")
+    @GetMapping("/getPullRtspStreamList")
+    @ApiOperation("鑾峰彇rtsp鎷夋祦鍒楄〃")
+    @ApiOperationSupport(order = 8)
+    public TableDataInfo getPullRtspStreamList(Integer pageNum, Integer pageSize) {
+        return mediaService.getPullRtspStreamList(pageNum, pageSize);
+
+    }
+
+    /**
+     * 鑾峰彇rtmp鎷夋祦鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('media:stream:list')")
+    @GetMapping("/getPullRtmpStreamList")
+    @ApiOperation("鑾峰彇rtmp鎷夋祦鍒楄〃")
+    @ApiOperationSupport(order = 9)
+    public TableDataInfo getPullRtmpStreamList(Integer pageNum, Integer pageSize) {
+        return mediaService.getPullRtmpStreamList(pageNum, pageSize);
+    }
 }

--
Gitblit v1.9.3