From 191a9cb6a141fb39037c41d8c13e78bf0c1b1cde Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 19 七月 2023 16:00:20 +0800
Subject: [PATCH] 优化流媒体转码增删改查

---
 ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java |   61 +++++++++++++++++-------------
 1 files changed, 34 insertions(+), 27 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 088a8b5..52adb77 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
@@ -1,9 +1,13 @@
 package com.ruoyi.media.controller;
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.media.domain.StreamInfo;
 import com.ruoyi.media.service.IMediaService;
 import io.swagger.annotations.Api;
@@ -23,27 +27,48 @@
 @RestController
 @Api(tags = "娴佸獟浣撴帴鍙�")
 @RequestMapping("/media/stream")
+@Anonymous
 public class MediaController extends BaseController {
     @Resource
     private IMediaService mediaService;
 
-    @PostMapping("/add")
+    @PostMapping()
     @ApiOperation("澧炲姞杞爜")
-    @ApiOperationSupport(includeParameters = {"streamInfo.name","streamInfo.rtspSource"})
+    @PreAuthorize("@ss.hasPermi('media:stream:add')")
+    @ApiOperationSupport(includeParameters = {"streamInfo.name", "streamInfo.rtspSource", "streamInfo.mode"})
     public AjaxResult addPath(@RequestBody StreamInfo streamInfo) {
-        String rtsp = mediaService.addPath(streamInfo.getName(), streamInfo.getRtspSource());
+        String rtsp = mediaService.addPath(streamInfo.getName(), streamInfo.getRtspSource(), streamInfo.getMode());
+        return AjaxResult.success(rtsp);
+    }
+    /**
+     * 鑾峰彇杞爜璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇杞爜璇︾粏淇℃伅")
+    @GetMapping(value = "/{name}")
+    public AjaxResult getInfo(@PathVariable("name") String name) {
+        return success(mediaService.getPathInfo(name));
+    }
+    /**
+     * 淇敼杞爜
+     */
+    @ApiOperation("淇敼杞爜")
+    @PreAuthorize("@ss.hasPermi('media:stream:edit')")
+    @PutMapping
+    public AjaxResult edit(@RequestBody StreamInfo streamInfo) {
+        mediaService.removePath(new String[]{streamInfo.getName()});
+        String rtsp = mediaService.addPath(streamInfo.getName(), streamInfo.getRtspSource(), streamInfo.getMode());
         return AjaxResult.success(rtsp);
     }
 
-    @PostMapping("/remove")
+    @DeleteMapping("/path/{names}")
+    @PreAuthorize("@ss.hasPermi('media:stream:remove')")
     @ApiOperation("绉婚櫎杞爜")
-    @ApiOperationSupport(includeParameters = {"streamInfo.name"})
-    public AjaxResult removePath(@RequestBody StreamInfo streamInfo) {
-        mediaService.removePath(streamInfo.getName());
+    public AjaxResult removePath( @PathVariable String[] names) {
+        mediaService.removePath(names);
         return AjaxResult.success();
     }
 
-    @GetMapping("/getPaths")
+    @GetMapping("/path/list")
     @ApiOperation("鑾峰彇褰撳墠杞爜鍒楄〃")
     public TableDataInfo getPaths() {
         startPage();
@@ -87,25 +112,7 @@
         startPage();
         return getDataTable(mediaService.getPushStreamList());
     }
-    /**
-     * 鏂板娴佸獟浣撴帹娴�
-     */
-    @PreAuthorize("@ss.hasPermi('media:stream:add')")
-    @PostMapping
-    @ApiOperationSupport(includeParameters = {"streamInfo.name"})
-    public AjaxResult add(@RequestBody StreamInfo streamInfo) throws InterruptedException {
-        String rtsp = mediaService.addPath(streamInfo.getName(), streamInfo.getRtspSource());
-        return AjaxResult.success(rtsp);
-    }
-    /**
-     * 鍒犻櫎娴佸獟浣撴帹娴�
-     */
-    @PreAuthorize("@ss.hasPermi('media:stream:remove')")
-    @DeleteMapping("/path/{name}")
-    public AjaxResult remove(@PathVariable String name) {
-        mediaService.removePath(name);
-        return AjaxResult.success();
-    }
+
     /**
      * 鍒犻櫎娴佸獟浣撴媺娴�
      */

--
Gitblit v1.9.3