From f635f9c3003ae10f7be8e934b81bc480c82617ba Mon Sep 17 00:00:00 2001
From: xiaoxie <hotcoffie@163.com>
Date: 星期三, 20 四月 2022 13:56:30 +0800
Subject: [PATCH] 修复录像列表:实测部分厂家(TP-Link IPC43AW)录像列表接口,返回的xml报文数据中有多余的空格,导致解析String为Integer失败,增加trim修复这个问题
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
index 979849e..da1088a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
@@ -149,7 +149,6 @@
subscribeInfo.setDialog(dialog);
}
String sn = XmlUtil.getText(rootElement, "SN");
- String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "_MobilePosition_" + platformId;
logger.info("[鍥炲 绉诲姩浣嶇疆璁㈤槄]: {}", platformId);
StringBuilder resultXml = new StringBuilder(200);
resultXml.append("<?xml version=\"1.0\" ?>\r\n")
@@ -161,23 +160,25 @@
.append("</Response>\r\n");
if (subscribeInfo.getExpires() > 0) {
-
- if (subscribeHolder.getMobilePositionSubscribe(platformId) == null ) {
- String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
- subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
- dynamicTask.startCron(key, new MobilePositionSubscribeHandlerTask(redisCatchStorage, sipCommanderForPlatform, storager, platformId, sn, key, subscribeHolder), Integer.parseInt(interval));
+ String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
+ if (interval == null) {
+ subscribeInfo.setGpsInterval(5);
}else {
- if (subscribeHolder.getMobilePositionSubscribe(platformId).getDialog() != null
- && subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState() != null
- && !subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState().equals(DialogState.CONFIRMED)) {
- dynamicTask.stop(key);
- String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧
- subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
- dynamicTask.startCron(key, new MobilePositionSubscribeHandlerTask(redisCatchStorage, sipCommanderForPlatform, storager, platformId, sn, key, subscribeHolder), Integer.parseInt(interval));
- }
+ subscribeInfo.setGpsInterval(Integer.parseInt(interval));
}
+
+ subscribeInfo.setSn(sn);
+ subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// if (subscribeHolder.getMobilePositionSubscribe(platformId) == null ) {
+// subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// }else {
+// if (subscribeHolder.getMobilePositionSubscribe(platformId).getDialog() != null
+// && subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState() != null
+// && !subscribeHolder.getMobilePositionSubscribe(platformId).getDialog().getState().equals(DialogState.CONFIRMED)) {
+// subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+// }
+// }
}else if (subscribeInfo.getExpires() == 0) {
- dynamicTask.stop(key);
subscribeHolder.removeMobilePositionSubscribe(platformId);
}
@@ -211,7 +212,6 @@
subscribeInfo.setDialog(dialog);
}
String sn = XmlUtil.getText(rootElement, "SN");
- String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "_Catalog_" + platformId;
logger.info("[鍥炲 鐩綍璁㈤槄]: {}/{}", platformId, deviceID);
StringBuilder resultXml = new StringBuilder(200);
resultXml.append("<?xml version=\"1.0\" ?>\r\n")
--
Gitblit v1.8.0