From 1a9e49d9ff210e39f6297150db758906a4f02e6f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 19 八月 2022 17:11:51 +0800
Subject: [PATCH] 依赖包版本升级

---
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java |  154 ++++++++++++++++++++++-----------------------------
 1 files changed, 67 insertions(+), 87 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
index ff424a0..8b5229c 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -8,17 +8,19 @@
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
 import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
+import com.genersoft.iot.vmp.gb28181.bean.TreeType;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
+import com.genersoft.iot.vmp.service.IPlatformChannelService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import com.genersoft.iot.vmp.utils.DateUtil;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
 import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.UpdateChannelParam;
 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;
@@ -33,7 +35,7 @@
 /**
  * 绾ц仈骞冲彴绠$悊
  */
-@Api(tags = "绾ц仈骞冲彴绠$悊")
+@Tag(name  = "绾ц仈骞冲彴绠$悊")
 @CrossOrigin
 @RestController
 @RequestMapping("/api/platform")
@@ -46,6 +48,9 @@
 
     @Autowired
     private IVideoManagerStorage storager;
+
+    @Autowired
+    private IPlatformChannelService platformChannelService;
 
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
@@ -67,7 +72,7 @@
      *
      * @return
      */
-    @ApiOperation("鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃�")
+    @Operation(summary = "鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃�")
     @GetMapping("/server_config")
     public ResponseEntity<JSONObject> serverConfig() {
         JSONObject result = new JSONObject();
@@ -83,7 +88,8 @@
      *
      * @return
      */
-    @ApiOperation("鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃�")
+    @Operation(summary = "鑾峰彇绾ц仈鏈嶅姟鍣ㄤ俊鎭�")
+    @Parameter(name = "id", description = "骞冲彴鍥芥爣缂栧彿", required = true)
     @GetMapping("/info/{id}")
     public ResponseEntity<WVPResult<ParentPlatform>> getPlatform(@PathVariable String id) {
         ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(id);
@@ -106,12 +112,10 @@
      * @param count 姣忛〉鏉℃暟
      * @return
      */
-    @ApiOperation("鍒嗛〉鏌ヨ绾ц仈骞冲彴")
     @GetMapping("/query/{count}/{page}")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "page", value = "褰撳墠椤�", dataTypeClass = Integer.class),
-            @ApiImplicitParam(name = "count", value = "姣忛〉鏉℃暟", dataTypeClass = Integer.class),
-    })
+    @Operation(summary = "鍒嗛〉鏌ヨ绾ц仈骞冲彴")
+    @Parameter(name = "page", description = "褰撳墠椤�", required = true)
+    @Parameter(name = "count", description = "姣忛〉鏉℃暟", required = true)
     public PageInfo<ParentPlatform> platforms(@PathVariable int page, @PathVariable int count) {
 
         PageInfo<ParentPlatform> parentPlatformPageInfo = storager.queryParentPlatformList(page, count);
@@ -130,10 +134,7 @@
      * @param parentPlatform
      * @return
      */
-    @ApiOperation("娣诲姞涓婄骇骞冲彴淇℃伅")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "parentPlatform", value = "涓婄骇骞冲彴淇℃伅", dataTypeClass = ParentPlatform.class),
-    })
+    @Operation(summary = "娣诲姞涓婄骇骞冲彴淇℃伅")
     @PostMapping("/add")
     @ResponseBody
     public ResponseEntity<WVPResult<String>> addPlatform(@RequestBody ParentPlatform parentPlatform) {
@@ -169,6 +170,8 @@
             wvpResult.setMsg("骞冲彴 " + parentPlatform.getServerGBId() + " 宸插瓨鍦�");
             return new ResponseEntity<>(wvpResult, HttpStatus.OK);
         }
+        parentPlatform.setCreateTime(DateUtil.getNow());
+        parentPlatform.setUpdateTime(DateUtil.getNow());
         boolean updateResult = storager.updateParentPlatform(parentPlatform);
 
         if (updateResult) {
@@ -203,10 +206,7 @@
      * @param parentPlatform
      * @return
      */
-    @ApiOperation("淇濆瓨涓婄骇骞冲彴淇℃伅")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "parentPlatform", value = "涓婄骇骞冲彴淇℃伅", dataTypeClass = ParentPlatform.class),
-    })
+    @Operation(summary = "淇濆瓨涓婄骇骞冲彴淇℃伅")
     @PostMapping("/save")
     @ResponseBody
     public ResponseEntity<WVPResult<String>> savePlatform(@RequestBody ParentPlatform parentPlatform) {
@@ -232,7 +232,13 @@
         }
         parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase());
         ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
+        parentPlatform.setUpdateTime(DateUtil.getNow());
+        if (!parentPlatformOld.getTreeType().equals(parentPlatform.getTreeType())) {
+             // 鐩綍缁撴瀯鍙戠敓鍙樺寲锛屾竻绌轰箣鍓嶇殑鍏宠仈鍏崇郴
+             logger.info("淇濆瓨骞冲彴{}鏃跺彂鐜扮洰褰曠粨鏋勫彉鍖栵紝娓呯┖鍏宠仈鍏崇郴", parentPlatform.getDeviceGBId());
+             storager.cleanContentForPlatform(parentPlatform.getServerGBId());
 
+        }
         boolean updateResult = storager.updateParentPlatform(parentPlatform);
 
         if (updateResult) {
@@ -253,6 +259,8 @@
                 }
             } else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()) { // 鍏抽棴鍚敤鏃舵敞閿�
                 commanderForPlatform.unregister(parentPlatformOld, null, null);
+                // 鍋滄璁㈤槄鐩稿叧鐨勫畾鏃朵换鍔�
+                subscribeHolder.removeAllSubscribe(parentPlatform.getServerGBId());
             }
             wvpResult.setCode(0);
             wvpResult.setMsg("success");
@@ -270,10 +278,8 @@
      * @param serverGBId 涓婄骇骞冲彴鍥芥爣ID
      * @return
      */
-    @ApiOperation("鍒犻櫎涓婄骇骞冲彴")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "serverGBId", value = "涓婄骇骞冲彴鍥芥爣ID", dataTypeClass = String.class),
-    })
+    @Operation(summary = "鍒犻櫎涓婄骇骞冲彴")
+    @Parameter(name = "serverGBId", description = "涓婄骇骞冲彴鐨勫浗鏍囩紪鍙�")
     @DeleteMapping("/delete/{serverGBId}")
     @ResponseBody
     public ResponseEntity<String> deletePlatform(@PathVariable String serverGBId) {
@@ -286,7 +292,9 @@
             return new ResponseEntity<>("missing parameters", HttpStatus.BAD_REQUEST);
         }
         ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(serverGBId);
-        if (parentPlatform == null) return new ResponseEntity<>("fail", HttpStatus.OK);
+        if (parentPlatform == null) {
+            return new ResponseEntity<>("fail", HttpStatus.OK);
+        }
         // 鍙戦�佺绾挎秷鎭�,鏃犺鏄惁鎴愬姛閮藉垹闄ょ紦瀛�
         commanderForPlatform.unregister(parentPlatform, (event -> {
             // 娓呯┖redis缂撳瓨
@@ -321,17 +329,12 @@
      * @param serverGBId 涓婄骇骞冲彴鍥芥爣ID
      * @return
      */
-    @ApiOperation("鏌ヨ涓婄骇骞冲彴鏄惁瀛樺湪")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "serverGBId", value = "涓婄骇骞冲彴鍥芥爣ID", dataTypeClass = String.class),
-    })
+    @Operation(summary = "鏌ヨ涓婄骇骞冲彴鏄惁瀛樺湪")
+    @Parameter(name = "serverGBId", description = "涓婄骇骞冲彴鐨勫浗鏍囩紪鍙�")
     @GetMapping("/exit/{serverGBId}")
     @ResponseBody
     public ResponseEntity<String> exitPlatform(@PathVariable String serverGBId) {
 
-//        if (logger.isDebugEnabled()) {
-//            logger.debug("鏌ヨ涓婄骇骞冲彴鏄惁瀛樺湪API璋冪敤锛�" + serverGBId);
-//        }
         ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(serverGBId);
         return new ResponseEntity<>(String.valueOf(parentPlatform != null), HttpStatus.OK);
     }
@@ -347,16 +350,14 @@
      * @param channelType 閫氶亾绫诲瀷
      * @return
      */
-    @ApiOperation("鍒嗛〉鏌ヨ绾ц仈骞冲彴鐨勬墍鏈夋墍鏈夐�氶亾")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "page", value = "褰撳墠椤�", dataTypeClass = Integer.class),
-            @ApiImplicitParam(name = "count", value = "姣忛〉鏉℃暟", dataTypeClass = Integer.class),
-            @ApiImplicitParam(name = "platformId", value = "涓婄骇骞冲彴ID", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "catalogId", value = "鐩綍ID", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "query", value = "鏌ヨ鍐呭", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "online", value = "鏄惁鍦ㄧ嚎", dataTypeClass = Boolean.class),
-            @ApiImplicitParam(name = "channelType", value = "閫氶亾绫诲瀷", dataTypeClass = Boolean.class),
-    })
+    @Operation(summary = "鏌ヨ涓婄骇骞冲彴鏄惁瀛樺湪")
+    @Parameter(name = "page", description = "褰撳墠椤�", required = true)
+    @Parameter(name = "count", description = "姣忛〉鏉℃暟", required = true)
+    @Parameter(name = "platformId", description = "涓婄骇骞冲彴鐨勫浗鏍囩紪鍙�")
+    @Parameter(name = "catalogId", description = "鐩綍ID")
+    @Parameter(name = "query", description = "鏌ヨ鍐呭")
+    @Parameter(name = "online", description = "鏄惁鍦ㄧ嚎")
+    @Parameter(name = "channelType", description = "閫氶亾绫诲瀷")
     @GetMapping("/channel_list")
     @ResponseBody
     public PageInfo<ChannelReduce> channelList(int page, int count,
@@ -366,9 +367,6 @@
                                                @RequestParam(required = false) Boolean online,
                                                @RequestParam(required = false) Boolean channelType) {
 
-//        if (logger.isDebugEnabled()) {
-//            logger.debug("鏌ヨ鎵�鏈夋墍鏈夐�氶亾API璋冪敤");
-//        }
         if (StringUtils.isEmpty(platformId)) {
             platformId = null;
         }
@@ -389,10 +387,7 @@
      * @param param 閫氶亾鍏宠仈鍙傛暟
      * @return
      */
-    @ApiOperation("鍚戜笂绾у钩鍙版坊鍔犲浗鏍囬�氶亾")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "param", value = "閫氶亾鍏宠仈鍙傛暟", dataTypeClass = UpdateChannelParam.class),
-    })
+    @Operation(summary = "鍚戜笂绾у钩鍙版坊鍔犲浗鏍囬�氶亾")
     @PostMapping("/update_channel_for_gb")
     @ResponseBody
     public ResponseEntity<String> updateChannelForGB(@RequestBody UpdateChannelParam param) {
@@ -400,7 +395,7 @@
         if (logger.isDebugEnabled()) {
             logger.debug("缁欎笂绾у钩鍙版坊鍔犲浗鏍囬�氶亾API璋冪敤");
         }
-        int result = storager.updateChannelForGB(param.getPlatformId(), param.getChannelReduces(), param.getCatalogId());
+        int result = platformChannelService.updateChannelForGB(param.getPlatformId(), param.getChannelReduces(), param.getCatalogId());
 
         return new ResponseEntity<>(String.valueOf(result > 0), HttpStatus.OK);
     }
@@ -411,10 +406,7 @@
      * @param param 閫氶亾鍏宠仈鍙傛暟
      * @return
      */
-    @ApiOperation("浠庝笂绾у钩鍙扮Щ闄ゅ浗鏍囬�氶亾")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "param", value = "閫氶亾鍏宠仈鍙傛暟", dataTypeClass = UpdateChannelParam.class),
-    })
+    @Operation(summary = "浠庝笂绾у钩鍙扮Щ闄ゅ浗鏍囬�氶亾")
     @DeleteMapping("/del_channel_for_gb")
     @ResponseBody
     public ResponseEntity<String> delChannelForGB(@RequestBody UpdateChannelParam param) {
@@ -434,11 +426,9 @@
      * @param parentId   鐩綍鐖禝D
      * @return
      */
-    @ApiOperation("鑾峰彇鐩綍")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "platformId", value = "骞冲彴ID", dataTypeClass = String.class, required = true),
-            @ApiImplicitParam(name = "parentId", value = "鐩綍鐖禝D", dataTypeClass = String.class, required = true),
-    })
+    @Operation(summary = "鑾峰彇鐩綍")
+    @Parameter(name = "platformId", description = "涓婄骇骞冲彴鐨勫浗鏍囩紪鍙�", required = true)
+    @Parameter(name = "parentId", description = "鐖剁骇鐩綍鐨勫浗鏍囩紪鍙�", required = true)
     @GetMapping("/catalog")
     @ResponseBody
     public ResponseEntity<WVPResult<List<PlatformCatalog>>> getCatalogByPlatform(String platformId, String parentId) {
@@ -446,13 +436,15 @@
         if (logger.isDebugEnabled()) {
             logger.debug("鏌ヨ鐩綍,platformId: {}, parentId: {}", platformId, parentId);
         }
+        ParentPlatform platform = storager.queryParentPlatByServerGBId(platformId);
+        if (platform == null) {
+            return new ResponseEntity<>(new WVPResult<>(400, "骞冲彴鏈壘鍒�", null), HttpStatus.OK);
+        }
+        if (platformId.equals(parentId)) {
+            parentId = platform.getDeviceGBId();
+        }
         List<PlatformCatalog> platformCatalogList = storager.getChildrenCatalogByPlatform(platformId, parentId);
-        // 鏌ヨ涓嬪睘鐨勫浗鏍囬�氶亾
-//        List<PlatformCatalog> catalogsForChannel = storager.queryChannelInParentPlatformAndCatalog(platformId, parentId);
-        // 鏌ヨ涓嬪睘鐨勭洿鎾祦閫氶亾
-//        List<PlatformCatalog> catalogsForStream = storager.queryStreamInParentPlatformAndCatalog(platformId, parentId);
-//        platformCatalogList.addAll(catalogsForChannel);
-//        platformCatalogList.addAll(catalogsForStream);
+
         WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
         result.setCode(0);
         result.setMsg("success");
@@ -466,10 +458,7 @@
      * @param platformCatalog 鐩綍
      * @return
      */
-    @ApiOperation("娣诲姞鐩綍")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "platformCatalog", value = "鐩綍淇℃伅", dataTypeClass = PlatformCatalog.class, required = true),
-    })
+    @Operation(summary = "娣诲姞鐩綍")
     @PostMapping("/catalog/add")
     @ResponseBody
     public ResponseEntity<WVPResult<List<PlatformCatalog>>> addCatalog(@RequestBody PlatformCatalog platformCatalog) {
@@ -479,7 +468,6 @@
         }
         PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getId());
         WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
-
 
         if (platformCatalogInStore != null) {
             result.setCode(-1);
@@ -504,10 +492,7 @@
      * @param platformCatalog 鐩綍
      * @return
      */
-    @ApiOperation("缂栬緫鐩綍")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "platformCatalog", value = "鐩綍淇℃伅", dataTypeClass = PlatformCatalog.class, required = true),
-    })
+    @Operation(summary = "缂栬緫鐩綍")
     @PostMapping("/catalog/edit")
     @ResponseBody
     public ResponseEntity<WVPResult<List<PlatformCatalog>>> editCatalog(@RequestBody PlatformCatalog platformCatalog) {
@@ -537,12 +522,12 @@
      * 鍒犻櫎鐩綍
      *
      * @param id 鐩綍Id
+     * @param platformId 骞冲彴Id
      * @return
      */
-    @ApiOperation("鍒犻櫎鐩綍")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "鐩綍Id", dataTypeClass = String.class, required = true),
-    })
+    @Operation(summary = "鍒犻櫎鐩綍")
+    @Parameter(name = "id", description = "鐩綍Id", required = true)
+    @Parameter(name = "platformId", description = "骞冲彴Id", required = true)
     @DeleteMapping("/catalog/del")
     @ResponseBody
     public ResponseEntity<WVPResult<String>> delCatalog(String id, String platformId) {
@@ -585,10 +570,7 @@
      * @param platformCatalog 鍏宠仈鐨勪俊鎭�
      * @return
      */
-    @ApiOperation("鍒犻櫎鍏宠仈")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "platformCatalog", value = "鍏宠仈鐨勪俊鎭�", dataTypeClass = PlatformCatalog.class, required = true),
-    })
+    @Operation(summary = "鍒犻櫎鍏宠仈")
     @DeleteMapping("/catalog/relation/del")
     @ResponseBody
     public ResponseEntity<WVPResult<List<PlatformCatalog>>> delRelation(@RequestBody PlatformCatalog platformCatalog) {
@@ -617,11 +599,9 @@
      * @param catalogId  鐩綍Id
      * @return
      */
-    @ApiOperation("淇敼榛樿鐩綍")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "platformId", value = "骞冲彴Id", dataTypeClass = String.class, required = true),
-            @ApiImplicitParam(name = "catalogId", value = "鐩綍Id", dataTypeClass = String.class, required = true),
-    })
+    @Operation(summary = "淇敼榛樿鐩綍")
+    @Parameter(name = "catalogId", description = "鐩綍Id", required = true)
+    @Parameter(name = "platformId", description = "骞冲彴Id", required = true)
     @PostMapping("/catalog/default/update")
     @ResponseBody
     public ResponseEntity<WVPResult<String>> setDefaultCatalog(String platformId, String catalogId) {

--
Gitblit v1.8.0