From 42a2772d1aa7493bcc4fac3e24ee8eda4eebc23d Mon Sep 17 00:00:00 2001
From: xubinbin <1323875150@qq.com>
Date: 星期二, 12 十二月 2023 17:09:04 +0800
Subject: [PATCH] bugfix:请求头带token, SecurityUtils 获取用户id 一直为0 #1195

---
 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