From 44b06e1b6e2cfcaf4c637ea66a375bf6fcbcf901 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 11 七月 2022 15:26:25 +0800
Subject: [PATCH] 修复默认用户信息插入
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 51 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 37 insertions(+), 14 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 caca64e..44de6c9 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
@@ -2,13 +2,16 @@
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.common.VideoManagerConstants;
+import com.genersoft.iot.vmp.conf.DynamicTask;
+import com.genersoft.iot.vmp.conf.UserSetting;
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.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
-import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
+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;
@@ -40,16 +43,25 @@
private final static Logger logger = LoggerFactory.getLogger(PlatformController.class);
@Autowired
- private IVideoManagerStorager storager;
+ private UserSetting userSetting;
+
+ @Autowired
+ private IVideoManagerStorage storager;
@Autowired
private IRedisCatchStorage redisCatchStorage;
+
+ @Autowired
+ private SubscribeHolder subscribeHolder;
@Autowired
private ISIPCommanderForPlatform commanderForPlatform;
@Autowired
private SipConfig sipConfig;
+
+ @Autowired
+ private DynamicTask dynamicTask;
/**
* 鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃�
@@ -103,10 +115,14 @@
})
public PageInfo<ParentPlatform> platforms(@PathVariable int page, @PathVariable int count) {
-// if (logger.isDebugEnabled()) {
-// logger.debug("鏌ヨ鎵�鏈変笂绾ц澶嘇PI璋冪敤");
-// }
- return storager.queryParentPlatformList(page, count);
+ PageInfo<ParentPlatform> parentPlatformPageInfo = storager.queryParentPlatformList(page, count);
+ if (parentPlatformPageInfo.getList().size() > 0) {
+ for (ParentPlatform platform : parentPlatformPageInfo.getList()) {
+ platform.setMobilePositionSubscribe(subscribeHolder.getMobilePositionSubscribe(platform.getServerGBId()) != null);
+ platform.setCatalogSubscribe(subscribeHolder.getCatalogSubscribe(platform.getServerGBId()) != null);
+ }
+ }
+ return parentPlatformPageInfo;
}
/**
@@ -154,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) {
@@ -215,14 +233,15 @@
wvpResult.setMsg("missing parameters");
return new ResponseEntity<>(wvpResult, HttpStatus.BAD_REQUEST);
}
+ parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase());
ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
-
+ parentPlatform.setUpdateTime(DateUtil.getNow());
boolean updateResult = storager.updateParentPlatform(parentPlatform);
if (updateResult) {
// 淇濆瓨鏃跺惎鐢ㄥ氨鍙戦�佹敞鍐�
if (parentPlatform.isEnable()) {
- if (parentPlatformOld.isStatus()) {
+ if (parentPlatformOld != null && parentPlatformOld.isStatus()) {
commanderForPlatform.unregister(parentPlatformOld, null, null);
try {
Thread.sleep(500);
@@ -270,7 +289,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缂撳瓨
@@ -287,8 +308,11 @@
boolean deleteResult = storager.deleteParentPlatform(parentPlatform);
storager.delCatalogByPlatformId(parentPlatform.getServerGBId());
storager.delRelationByPlatformId(parentPlatform.getServerGBId());
-
-
+ // 鍋滄鍙戦�佷綅缃闃呭畾鏃朵换鍔�
+ String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "_MobilePosition_" + parentPlatform.getServerGBId();
+ dynamicTask.stop(key);
+ // 鍒犻櫎缂撳瓨鐨勮闃呬俊鎭�
+ subscribeHolder.removeAllSubscribe(parentPlatform.getServerGBId());
if (deleteResult) {
return new ResponseEntity<>("success", HttpStatus.OK);
} else {
@@ -325,7 +349,6 @@
* @param platformId 涓婄骇骞冲彴ID
* @param query 鏌ヨ鍐呭
* @param online 鏄惁鍦ㄧ嚎
- * @param choosed 鏄惁宸查�変腑
* @param channelType 閫氶亾绫诲瀷
* @return
*/
--
Gitblit v1.8.0