From 335916f1f15eb9d0b34dea38cacee2300eac0606 Mon Sep 17 00:00:00 2001
From: 李防 <liguofang0703@126.com>
Date: 星期一, 07 三月 2022 14:20:27 +0800
Subject: [PATCH] InviteRequestProcessor类中,channelid从invite消息的header subject获取,不再从第一行request line获取。原因是和第三方平台对接时,发送的invite消息第一行为国标平台编码而不是设备通道编码,导致报错通道不存在,返回404。

---
 src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index 94e0cd8..ba6eed5 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -191,7 +191,7 @@
         String channelId = channdelIdElement != null ? channdelIdElement.getTextTrim().toString() : "";
         deviceChannel.setChannelId(channelId);
         // ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR鐨勫吋瀹规�у鐞�
-        if (status.equals("ON") || status.equals("On") || status.equals("ONLINE")) {
+        if (status.equals("ON") || status.equals("On") || status.equals("ONLINE") || status.equals("OK")) {
             deviceChannel.setStatus(1);
         }
         if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) {
@@ -255,9 +255,14 @@
         } else {
             deviceChannel.setLatitude(0.00);
         }
-        if (XmlUtil.getText(itemDevice, "PTZType") == null
-                || XmlUtil.getText(itemDevice, "PTZType") == "") {
-            deviceChannel.setPTZType(0);
+        if (XmlUtil.getText(itemDevice, "PTZType") == null || "".equals(XmlUtil.getText(itemDevice, "PTZType"))) {
+            //鍏煎INFO涓殑淇℃伅
+            Element info = itemDevice.element("Info");
+            if(XmlUtil.getText(info, "PTZType") == null || "".equals(XmlUtil.getText(info, "PTZType"))){
+                deviceChannel.setPTZType(0);
+            }else{
+                deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(info, "PTZType")));
+            }
         } else {
             deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType")));
         }

--
Gitblit v1.8.0