From e09e541c827157884e013ff0b50aa88b8b0f46be Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期五, 15 一月 2021 17:47:58 +0800 Subject: [PATCH] 完成向上级联->点播--精简代码 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java index 1860ec7..06c4d68 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java @@ -15,6 +15,8 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; +import gov.nist.javax.sip.address.AddressImpl; +import gov.nist.javax.sip.address.SipUri; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -162,12 +164,19 @@ private void processMessageCatalogList(RequestEvent evt) { try { Element rootElement = getRootElement(evt); + String name = rootElement.getName(); Element deviceIdElement = rootElement.element("DeviceID"); String deviceId = deviceIdElement.getText(); Element deviceListElement = rootElement.element("DeviceList"); - if (deviceListElement == null) { // 瀛樺湪DeviceList鍒欎负鍝嶅簲 catalog锛� 涓嶅瓨鍦―eviceList鍒欎负鏌ヨ璇锋眰 - // TODO 鍚庣画灏嗕唬鐮佹媶鍒� - ParentPlatform parentPlatform = storager.queryParentPlatById(deviceId); + + FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME); + AddressImpl address = (AddressImpl) fromHeader.getAddress(); + SipUri uri = (SipUri) address.getURI(); + String platformId = uri.getUser(); + // if (deviceListElement == null) { // 瀛樺湪DeviceList鍒欎负鍝嶅簲 catalog锛� 涓嶅瓨鍦―eviceList鍒欎负鏌ヨ璇锋眰 + if (name == "Query") { // 鍖哄垎鏄疪esponse鈥斺�旀煡璇㈠搷搴旓紝杩樻槸Query鈥斺�旀煡璇㈣姹� + // TODO 鍚庣画灏嗕唬鐮佹媶鍒� + ParentPlatform parentPlatform = storager.queryParentPlatById(platformId); if (parentPlatform == null) { response404Ack(evt); return; @@ -177,9 +186,8 @@ Element snElement = rootElement.element("SN"); String sn = snElement.getText(); - FromHeader fromHeader = (FromHeader)evt.getRequest().getHeader(FromHeader.NAME); // 鍑嗗鍥炲閫氶亾淇℃伅 - List<ChannelReduce> channelReduces = storager.queryChannelListInParentPlatform(parentPlatform.getDeviceGBId()); + List<ChannelReduce> channelReduces = storager.queryChannelListInParentPlatform(parentPlatform.getServerGBId()); if (channelReduces.size() >0 ) { for (ChannelReduce channelReduce : channelReduces) { DeviceChannel deviceChannel = storager.queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId()); @@ -497,7 +505,7 @@ } /*** - * 鍥炲200 OK + * 鍥炲404 * @param evt * @throws SipException * @throws InvalidArgumentException -- Gitblit v1.8.0