From c5ddf5985892f052263240a02e21215027e6ee05 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 19 一月 2022 17:40:03 +0800
Subject: [PATCH] 修改readme
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java | 39 ++++++++++++++++++++++++++++++++++++---
1 files changed, 36 insertions(+), 3 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 9c5be8e..13335d6 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
@@ -85,9 +85,9 @@
// } else if (CmdType.ALARM.equals(cmd)) {
// logger.info("鎺ユ敹鍒癆larm璁㈤槄");
// processNotifyAlarm(evt, rootElement);
-// } else if (CmdType.CATALOG.equals(cmd)) {
-// logger.info("鎺ユ敹鍒癈atalog璁㈤槄");
-// processNotifyCatalogList(evt, rootElement);
+ } else if (CmdType.CATALOG.equals(cmd)) {
+ logger.info("鎺ユ敹鍒癈atalog璁㈤槄");
+ processNotifyCatalogList(evt, rootElement);
} else {
logger.info("鎺ユ敹鍒版秷鎭細" + cmd);
// responseAck(evt, Response.OK);
@@ -177,7 +177,40 @@
}
private void processNotifyCatalogList(RequestEvent evt, Element rootElement) {
+ String platformId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
+ String deviceID = XmlUtil.getText(rootElement, "DeviceID");
+ SubscribeInfo subscribeInfo = new SubscribeInfo(evt, platformId);
+ String sn = XmlUtil.getText(rootElement, "SN");
+ String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetup.getServerId() + "_Catalog_" + platformId;
+ StringBuilder resultXml = new StringBuilder(200);
+ resultXml.append("<?xml version=\"1.0\" ?>\r\n")
+ .append("<Response>\r\n")
+ .append("<CmdType>Catalog</CmdType>\r\n")
+ .append("<SN>" + sn + "</SN>\r\n")
+ .append("<DeviceID>" + deviceID + "</DeviceID>\r\n")
+ .append("<Result>OK</Result>\r\n")
+ .append("</Response>\r\n");
+
+ if (subscribeInfo.getExpires() > 0) {
+ redisCatchStorage.updateSubscribe(key, subscribeInfo);
+ }else if (subscribeInfo.getExpires() == 0) {
+ redisCatchStorage.delSubscribe(key);
+ }
+
+ try {
+ Response response = responseXmlAck(evt, resultXml.toString());
+ ToHeader toHeader = (ToHeader)response.getHeader(ToHeader.NAME);
+ subscribeInfo.setToTag(toHeader.getTag());
+ redisCatchStorage.updateSubscribe(key, subscribeInfo);
+
+ } catch (SipException e) {
+ e.printStackTrace();
+ } catch (InvalidArgumentException e) {
+ e.printStackTrace();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
}
--
Gitblit v1.8.0