|
|
@@ -1,10 +1,15 @@
|
|
|
package com.genersoft.iot.vmp.vmanager.gb28181.platform;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.genersoft.iot.vmp.gb28181.bean.CatalogData;
|
|
|
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
|
|
|
+import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
|
|
|
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
|
|
|
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
|
|
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
|
|
|
+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;
|
|
|
@@ -21,6 +26,8 @@ import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import com.genersoft.iot.vmp.conf.SipConfig;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* 级联平台管理
|
|
|
*/
|
|
|
@@ -253,7 +260,7 @@ public class PlatformController {
|
|
|
if (logger.isDebugEnabled()) {
|
|
|
logger.debug("给上级平台添加国标通道API调用");
|
|
|
}
|
|
|
- int result = storager.updateChannelForGB(param.getPlatformId(), param.getChannelReduces());
|
|
|
+ int result = storager.updateChannelForGB(param.getPlatformId(), param.getChannelReduces(), param.getCatalogId());
|
|
|
|
|
|
return new ResponseEntity<>(String.valueOf(result > 0), HttpStatus.OK);
|
|
|
}
|
|
|
@@ -279,5 +286,197 @@ public class PlatformController {
|
|
|
return new ResponseEntity<>(String.valueOf(result > 0), HttpStatus.OK);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取目录
|
|
|
+ * @param platformId 平台ID
|
|
|
+ * @param parentId 目录父ID
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("获取目录")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "platformId", value = "平台ID", dataTypeClass = String.class, required = true),
|
|
|
+ @ApiImplicitParam(name = "parentId", value = "目录父ID", dataTypeClass = String.class, required = true),
|
|
|
+ })
|
|
|
+ @GetMapping("/catalog")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<List<PlatformCatalog>>> getCatalogByPlatform(String platformId, String parentId){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("查询目录,platformId: {}, parentId: {}", platformId, parentId);
|
|
|
+ }
|
|
|
+ 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");
|
|
|
+ result.setData(platformCatalogList);
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加目录
|
|
|
+ * @param platformCatalog 目录
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("添加目录")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "platformCatalog", value = "目录信息", dataTypeClass = PlatformCatalog.class, required = true),
|
|
|
+ })
|
|
|
+ @PostMapping("/catalog/add")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<List<PlatformCatalog>>> addCatalog(@RequestBody PlatformCatalog platformCatalog){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("添加目录,{}", JSON.toJSONString(platformCatalog));
|
|
|
+ }
|
|
|
+ PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getId());
|
|
|
+ WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
|
|
|
+
|
|
|
+
|
|
|
+ if (platformCatalogInStore != null) {
|
|
|
+ result.setCode(-1);
|
|
|
+ result.setMsg( platformCatalog.getId() + " already exists");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ int addResult = storager.addCatalog(platformCatalog);
|
|
|
+ if (addResult > 0) {
|
|
|
+ result.setCode(0);
|
|
|
+ result.setMsg("success");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }else {
|
|
|
+ result.setCode(-500);
|
|
|
+ result.setMsg("save error");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑目录
|
|
|
+ * @param platformCatalog 目录
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("编辑目录")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "platformCatalog", value = "目录信息", dataTypeClass = PlatformCatalog.class, required = true),
|
|
|
+ })
|
|
|
+ @PostMapping("/catalog/edit")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<List<PlatformCatalog>>> editCatalog(@RequestBody PlatformCatalog platformCatalog){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("编辑目录,{}", JSON.toJSONString(platformCatalog));
|
|
|
+ }
|
|
|
+ PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getId());
|
|
|
+ WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
|
|
|
+ result.setCode(0);
|
|
|
+
|
|
|
+ if (platformCatalogInStore == null) {
|
|
|
+ result.setMsg( platformCatalog.getId() + " not exists");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ int addResult = storager.updateCatalog(platformCatalog);
|
|
|
+ if (addResult > 0) {
|
|
|
+ result.setMsg("success");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }else {
|
|
|
+ result.setMsg("save error");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除目录
|
|
|
+ * @param id 目录Id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("删除目录")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "目录Id", dataTypeClass = String.class, required = true),
|
|
|
+ })
|
|
|
+ @DeleteMapping("/catalog/del")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<List<PlatformCatalog>>> delCatalog(String id){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("删除目录,{}", id);
|
|
|
+ }
|
|
|
+ int delResult = storager.delCatalog(id);
|
|
|
+ WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
|
|
|
+ result.setCode(0);
|
|
|
+
|
|
|
+ if (delResult > 0) {
|
|
|
+ result.setMsg("success");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }else {
|
|
|
+ result.setMsg("save error");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除关联
|
|
|
+ * @param platformCatalog 关联的信息
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("删除关联")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "platformCatalog", value = "关联的信息", dataTypeClass = PlatformCatalog.class, required = true),
|
|
|
+ })
|
|
|
+ @DeleteMapping("/catalog/relation/del")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<List<PlatformCatalog>>> delRelation(@RequestBody PlatformCatalog platformCatalog){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("删除关联,{}", JSON.toJSONString(platformCatalog));
|
|
|
+ }
|
|
|
+ int delResult = storager.delRelation(platformCatalog);
|
|
|
+ WVPResult<List<PlatformCatalog>> result = new WVPResult<>();
|
|
|
+ result.setCode(0);
|
|
|
+
|
|
|
+ if (delResult > 0) {
|
|
|
+ result.setMsg("success");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }else {
|
|
|
+ result.setMsg("save error");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改默认目录
|
|
|
+ * @param platformId 平台Id
|
|
|
+ * @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),
|
|
|
+ })
|
|
|
+ @PostMapping("/catalog/default/update")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseEntity<WVPResult<String>> setDefaultCatalog(String platformId, String catalogId){
|
|
|
+
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
+ logger.debug("修改默认目录,{},{}", platformId, catalogId);
|
|
|
+ }
|
|
|
+ int updateResult = storager.setDefaultCatalog(platformId, catalogId);
|
|
|
+ WVPResult<String> result = new WVPResult<>();
|
|
|
+ result.setCode(0);
|
|
|
+
|
|
|
+ if (updateResult > 0) {
|
|
|
+ result.setMsg("success");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }else {
|
|
|
+ result.setMsg("save error");
|
|
|
+ return new ResponseEntity<>(result, HttpStatus.OK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|