From 25102229f6ac19d9376309e7917f0da7cd2c8d56 Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 15 四月 2022 18:04:19 +0800
Subject: [PATCH] 接收所有notify请求,即使没有订阅
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java | 46 +++++++++++++++++++++++++++++-----------------
1 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
index 47ef6fa..dbc25fc 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
@@ -2,7 +2,7 @@
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.conf.SipConfig;
-import com.genersoft.iot.vmp.conf.UserSetup;
+import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
@@ -15,7 +15,7 @@
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
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.GpsUtil;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import org.dom4j.DocumentException;
@@ -34,11 +34,8 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
-
-import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.getText;
@Component
public class CatalogResponseMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
@@ -52,7 +49,7 @@
private ResponseMessageHandler responseMessageHandler;
@Autowired
- private IVideoManagerStorager storager;
+ private IVideoManagerStorage storager;
@Autowired
private DeferredResultHolder deferredResultHolder;
@@ -71,7 +68,7 @@
//by brewswang
@Autowired
- private UserSetup userSetup;
+ private UserSetting userSetting;
@Autowired
private IRedisCatchStorage redisCatchStorage;
@@ -118,16 +115,15 @@
continue;
}
//by brewswang
- if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Longitude"))) {//濡傛灉鍖呭惈浣嶇疆淇℃伅锛屽氨鏇存柊涓�涓嬩綅缃�
- processNotifyMobilePosition(evt, itemDevice);
- }
-
+// if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Longitude"))) {//濡傛灉鍖呭惈浣嶇疆淇℃伅锛屽氨鏇存柊涓�涓嬩綅缃�
+// processNotifyMobilePosition(evt, itemDevice);
+// }
DeviceChannel deviceChannel = XmlUtil.channelContentHander(itemDevice);
deviceChannel.setDeviceId(device.getDeviceId());
- logger.debug("鏀跺埌鏉ヨ嚜璁惧銆恵}銆戠殑閫氶亾: {}銆恵}銆�", device.getDeviceId(), deviceChannel.getName(), deviceChannel.getChannelId());
+
channelList.add(deviceChannel);
}
-
+ logger.info("鏀跺埌鏉ヨ嚜璁惧銆恵}銆戠殑閫氶亾: {}涓紝{}/{}", device.getDeviceId(), channelList.size(), catalogDataCatch.get(key) == null ? 0 :catalogDataCatch.get(key).size(), sumNum);
catalogDataCatch.put(key, sumNum, device, channelList);
if (catalogDataCatch.get(key).size() == sumNum) {
// 鏁版嵁宸茬粡瀹屾暣鎺ユ敹
@@ -149,9 +145,6 @@
}
// 鍥炲200 OK
responseAck(evt, Response.OK);
- if (offLineDetector.isOnline(device.getDeviceId())) {
- publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_MESSAGE);
- }
}
} catch (DocumentException e) {
e.printStackTrace();
@@ -224,7 +217,7 @@
mobilePosition.setGeodeticSystem("BD-09");
mobilePosition.setCnLng(bp.getBdLng());
mobilePosition.setCnLat(bp.getBdLat());
- if (!userSetup.getSavePositionHistory()) {
+ if (!userSetting.getSavePositionHistory()) {
storager.clearMobilePositionsByDeviceId(deviceId);
}
storager.insertMobilePosition(mobilePosition);
@@ -233,4 +226,23 @@
e.printStackTrace();
}
}
+
+ public SyncStatus getChannelSyncProgress(String deviceId) {
+ String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
+ if (catalogDataCatch.get(key) == null) {
+ return null;
+ }else {
+ return catalogDataCatch.getSyncStatus(key);
+ }
+ }
+
+ public void setChannelSyncReady(String deviceId) {
+ String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
+ catalogDataCatch.addReady(key);
+ }
+
+ public void setChannelSyncEnd(String deviceId, String errorMsg) {
+ String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
+ catalogDataCatch.setChannelSyncEnd(key, errorMsg);
+ }
}
--
Gitblit v1.8.0