From 613399cc6d14cfe5b8a245d462629ecee5deb2db Mon Sep 17 00:00:00 2001
From: xiaoQQya <xiaoQQya@126.com>
Date: 星期二, 17 十月 2023 17:49:31 +0800
Subject: [PATCH] fix(play): 修复单端口推流下级自定义 ssrc 时, 流注册后接口仍然超时的问题
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java | 108 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 74 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
old mode 100644
new mode 100755
index a2fcf15..3bdee76
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
@@ -1,21 +1,28 @@
package com.genersoft.iot.vmp.vmanager.gb28181.gbStream;
+import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
-import com.genersoft.iot.vmp.vmanager.gb28181.gbStream.bean.GbStreamParam;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.service.IGbStreamService;
+import com.genersoft.iot.vmp.service.IPlatformService;
+import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
+import com.genersoft.iot.vmp.vmanager.gb28181.gbStream.bean.GbStreamParam;
import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
-@Api(tags = "瑙嗛娴佸叧鑱斿埌绾ц仈骞冲彴")
-@CrossOrigin
+import java.util.ArrayList;
+import java.util.List;
+
+@Tag(name = "瑙嗛娴佸叧鑱斿埌绾ц仈骞冲彴")
+
@RestController
@RequestMapping("/api/gbStream")
public class GbStreamController {
@@ -26,26 +33,44 @@
private IGbStreamService gbStreamService;
@Autowired
- private IVideoManagerStorager storager;
+ private IPlatformService platformService;
/**
* 鏌ヨ鍥芥爣閫氶亾
* @param page 褰撳墠椤�
* @param count 姣忛〉鏉℃暟
+ * @param platformId 骞冲彴ID
* @return
*/
- @ApiOperation("鏌ヨ鍥芥爣閫氶亾")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "page", value = "褰撳墠椤�", required = true , dataTypeClass = Integer.class),
- @ApiImplicitParam(name = "count", value = "姣忛〉鏉℃暟", required = true , dataTypeClass = Integer.class),
- })
+ @Operation(summary = "鏌ヨ鍥芥爣閫氶亾")
+ @Parameter(name = "page", description = "褰撳墠椤�", required = true)
+ @Parameter(name = "count", description = "姣忛〉鏉℃暟", required = true)
+ @Parameter(name = "platformId", description = "骞冲彴ID", required = true)
+ @Parameter(name = "catalogId", description = "鐩綍ID")
+ @Parameter(name = "query", description = "鏌ヨ鍐呭")
+ @Parameter(name = "mediaServerId", description = "娴佸獟浣揑D")
@GetMapping(value = "/list")
@ResponseBody
- public PageInfo<GbStream> list(@RequestParam(required = false)Integer page,
- @RequestParam(required = false)Integer count){
+ public PageInfo<GbStream> list(@RequestParam(required = true)Integer page,
+ @RequestParam(required = true)Integer count,
+ @RequestParam(required = true)String platformId,
+ @RequestParam(required = false)String catalogId,
+ @RequestParam(required = false)String query,
+ @RequestParam(required = false)String mediaServerId){
+ if (ObjectUtils.isEmpty(catalogId)) {
+ catalogId = null;
+ }
+ if (ObjectUtils.isEmpty(query)) {
+ query = null;
+ }
+ if (ObjectUtils.isEmpty(mediaServerId)) {
+ mediaServerId = null;
+ }
- return gbStreamService.getAll(page, count);
+ // catalogId 涓簄ull 鏌ヨ鏈湪骞冲彴涓嬪垎閰嶇殑鏁版嵁
+ // catalogId 涓嶄负null 鏌ヨ骞冲彴涓嬭繖涓紝鐩綍涓嬬殑閫氶亾
+ return gbStreamService.getAll(page, count, platformId, catalogId, query, mediaServerId);
}
@@ -54,18 +79,17 @@
* @param gbStreamParam
* @return
*/
- @ApiOperation("绉婚櫎鍥芥爣鍏宠仈")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true,
- dataTypeClass = GbStreamParam.class),
- })
+ @Operation(summary = "绉婚櫎鍥芥爣鍏宠仈")
@DeleteMapping(value = "/del")
@ResponseBody
- public Object del(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamService.delPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getGbStreams())) {
- return "success";
+ public void del(@RequestBody GbStreamParam gbStreamParam){
+
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.isAll()) {
+ gbStreamService.delAllPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
+ }
}else {
- return "fail";
+ gbStreamService.delPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getGbStreams());
}
}
@@ -75,17 +99,33 @@
* @param gbStreamParam
* @return
*/
- @ApiOperation("淇濆瓨鍥芥爣鍏宠仈")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true, dataTypeClass = GbStreamParam.class),
- })
+ @Operation(summary = "淇濆瓨鍥芥爣鍏宠仈")
@PostMapping(value = "/add")
@ResponseBody
- public Object add(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamService.addPlatformInfo(gbStreamParam.getGbStreams(), gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId())) {
- return "success";
+ public void add(@RequestBody GbStreamParam gbStreamParam){
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.isAll()) {
+ List<GbStream> allGBChannels = gbStreamService.getAllGBChannels(gbStreamParam.getPlatformId());
+ gbStreamService.addPlatformInfo(allGBChannels, gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
+ }
}else {
- return "fail";
+ gbStreamService.addPlatformInfo(gbStreamParam.getGbStreams(), gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
}
}
+
+ /**
+ * 淇濆瓨鍥芥爣鍏宠仈
+ * @param gbId
+ * @return
+ */
+ @Operation(summary = "淇濆瓨鍥芥爣鍏宠仈")
+ @GetMapping(value = "/addWithGbid")
+ @ResponseBody
+ public void add(String gbId, String platformGbId, @RequestParam(required = false) String catalogGbId){
+ List<GbStream> gbStreams = gbStreamService.getGbChannelWithGbid(gbId);
+ if (gbStreams.isEmpty()) {
+ throw new ControllerException(ErrorCode.ERROR100.getCode(), "gbId鐨勪俊鎭湭鎵惧埌");
+ }
+ gbStreamService.addPlatformInfo(gbStreams, platformGbId, catalogGbId);
+ }
}
--
Gitblit v1.8.0