From bea63f67e75ea6c38d946c2ee463260fcf815f87 Mon Sep 17 00:00:00 2001 From: Fang <costa11@qq.com> Date: 星期一, 07 三月 2022 14:21:29 +0800 Subject: [PATCH] Merge branch '648540858:wvp-28181-2.0' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java | 25 +++++++++---------------- 1 files changed, 9 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 13335d6..a765b3a 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 @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.UserSetup; import com.genersoft.iot.vmp.gb28181.bean.CmdType; +import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo; import com.genersoft.iot.vmp.gb28181.task.GPSSubscribeTask; import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver; @@ -26,9 +27,7 @@ import javax.sip.RequestEvent; import javax.sip.ServerTransaction; import javax.sip.SipException; -import javax.sip.header.CallIdHeader; import javax.sip.header.ExpiresHeader; -import javax.sip.header.Header; import javax.sip.header.ToHeader; import javax.sip.message.Request; import javax.sip.message.Response; @@ -80,17 +79,14 @@ Element rootElement = getRootElement(evt); String cmd = XmlUtil.getText(rootElement, "CmdType"); if (CmdType.MOBILE_POSITION.equals(cmd)) { - logger.info("鎺ユ敹鍒癕obilePosition璁㈤槄"); processNotifyMobilePosition(evt, rootElement); // } 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 { logger.info("鎺ユ敹鍒版秷鎭細" + cmd); -// responseAck(evt, Response.OK); Response response = null; response = getMessageFactory().createResponse(200, request); @@ -108,9 +104,6 @@ logger.info("processRequest serverTransactionId is null."); } } - - - } catch (ParseException e) { e.printStackTrace(); } catch (SipException e) { @@ -132,7 +125,7 @@ SubscribeInfo subscribeInfo = new SubscribeInfo(evt, platformId); String sn = XmlUtil.getText(rootElement, "SN"); String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetup.getServerId() + "_MobilePosition_" + platformId; - + logger.info("鎺ユ敹鍒皗}鐨凪obilePosition璁㈤槄", platformId); StringBuilder resultXml = new StringBuilder(200); resultXml.append("<?xml version=\"1.0\" ?>\r\n") .append("<Response>\r\n") @@ -144,21 +137,20 @@ if (subscribeInfo.getExpires() > 0) { if (redisCatchStorage.getSubscribe(key) != null) { - dynamicTask.stopCron(key); + dynamicTask.stop(key); } String interval = XmlUtil.getText(rootElement, "Interval"); // GPS涓婃姤鏃堕棿闂撮殧 dynamicTask.startCron(key, new GPSSubscribeTask(redisCatchStorage, sipCommanderForPlatform, storager, platformId, sn, key), Integer.parseInt(interval)); redisCatchStorage.updateSubscribe(key, subscribeInfo); }else if (subscribeInfo.getExpires() == 0) { - dynamicTask.stopCron(key); + dynamicTask.stop(key); redisCatchStorage.delSubscribe(key); } - - try { - Response response = responseXmlAck(evt, resultXml.toString()); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); + Response response = responseXmlAck(evt, resultXml.toString(), parentPlatform); ToHeader toHeader = (ToHeader)response.getHeader(ToHeader.NAME); subscribeInfo.setToTag(toHeader.getTag()); redisCatchStorage.updateSubscribe(key, subscribeInfo); @@ -182,7 +174,7 @@ SubscribeInfo subscribeInfo = new SubscribeInfo(evt, platformId); String sn = XmlUtil.getText(rootElement, "SN"); String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetup.getServerId() + "_Catalog_" + platformId; - + logger.info("鎺ユ敹鍒皗}鐨凜atalog璁㈤槄", platformId); StringBuilder resultXml = new StringBuilder(200); resultXml.append("<?xml version=\"1.0\" ?>\r\n") .append("<Response>\r\n") @@ -199,7 +191,8 @@ } try { - Response response = responseXmlAck(evt, resultXml.toString()); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); + Response response = responseXmlAck(evt, resultXml.toString(), parentPlatform); ToHeader toHeader = (ToHeader)response.getHeader(ToHeader.NAME); subscribeInfo.setToTag(toHeader.getTag()); redisCatchStorage.updateSubscribe(key, subscribeInfo); -- Gitblit v1.8.0