From 079041267873a043486db99671326e5323934c57 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期日, 16 七月 2023 16:16:38 +0800
Subject: [PATCH] 增加融云业务上传用户头像接口
---
ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java | 76 +++++++++++++++++++++++++++++++-------
1 files changed, 62 insertions(+), 14 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 72e1e2e..4d1121a 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,17 +1,15 @@
package com.ruoyi.media.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.media.domain.MediaInfo;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.media.domain.StreamInfo;
import com.ruoyi.media.service.IMediaService;
-import com.ruoyi.media.service.impl.MediaService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -24,39 +22,45 @@
**/
@RestController
@Api(tags = "娴佸獟浣撴帴鍙�")
-@Anonymous
-public class MediaController {
+@RequestMapping("/media/stream")
+public class MediaController extends BaseController {
@Resource
private IMediaService mediaService;
@PostMapping("/add")
@ApiOperation("澧炲姞杞爜")
- public AjaxResult addPath(@RequestBody MediaInfo mediaInfo) {
- String rtsp = mediaService.addPath(mediaInfo.getCameraId(), mediaInfo.getRtspPath());
+ @ApiOperationSupport(includeParameters = {"streamInfo.name","streamInfo.rtspSource"})
+ public AjaxResult addPath(@RequestBody StreamInfo streamInfo) {
+ String rtsp = mediaService.addPath(streamInfo.getName(), streamInfo.getRtspSource());
return AjaxResult.success(rtsp);
}
+
@PostMapping("/remove")
@ApiOperation("绉婚櫎杞爜")
- @ApiOperationSupport(includeParameters={"mediaInfo.cameraId"})
- public AjaxResult removePath(@RequestBody MediaInfo mediaInfo) {
- mediaService.removePath(mediaInfo.getCameraId());
+ @ApiOperationSupport(includeParameters = {"streamInfo.name"})
+ public AjaxResult removePath(@RequestBody StreamInfo streamInfo) {
+ mediaService.removePath(streamInfo.getName());
return AjaxResult.success();
}
+
@GetMapping("/getPaths")
@ApiOperation("鑾峰彇褰撳墠杞爜鍒楄〃")
public AjaxResult getPaths() {
return AjaxResult.success(mediaService.paths());
}
+
@GetMapping("/getRtspSessions")
@ApiOperation("鑾峰彇rtsp浼氳瘽鍒楄〃")
public AjaxResult getRtspSessions() {
return AjaxResult.success(mediaService.rtspsessions());
}
+
@GetMapping("/getRtspConns")
@ApiOperation("鑾峰彇rtsp杩炴帴鍒楄〃")
public AjaxResult getRtspConns() {
return AjaxResult.success(mediaService.rtspconns());
}
+
@GetMapping("/getRtspSessionById")
@ApiOperation("鎸塈D鏌ヨ浼氳瘽")
public AjaxResult getRtspSessionById(String sessionId) {
@@ -68,9 +72,53 @@
public AjaxResult getPushStreams() {
return AjaxResult.success(mediaService.getPushStreams());
}
+
@GetMapping("/getPullStreams")
@ApiOperation("鑾峰彇鎷夋祦淇℃伅")
public AjaxResult getPullStreams() {
return AjaxResult.success(mediaService.getPullStreams());
}
+
+ @PreAuthorize("@ss.hasPermi('media:stream:list')")
+ @GetMapping("/pushList")
+ @ApiOperation("鑾峰彇鎺ㄦ祦鍒楄〃")
+ public TableDataInfo getPushStreamList() {
+ 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();
+ }
+ /**
+ * 鍒犻櫎娴佸獟浣撴媺娴�
+ */
+ @PreAuthorize("@ss.hasPermi('media:stream:remove')")
+ @DeleteMapping("/{id}")
+ public AjaxResult removePullStreamSession(@PathVariable String id) {
+ return AjaxResult.success(mediaService.kickRtspSession(id));
+ }
+
+ @PreAuthorize("@ss.hasPermi('media:stream:list')")
+ @GetMapping("/pullList")
+ @ApiOperation("鑾峰彇鎷夋祦鍒楄〃")
+ public TableDataInfo getPullStreamList() {
+ startPage();
+ return getDataTable(mediaService.getPullStreamList());
+ }
}
--
Gitblit v1.9.3