From f1c7d612ca0e9dc9a7b0a7aebc0be17365883d3f Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 08 九月 2022 09:19:57 +0800 Subject: [PATCH] Merge pull request #590 from ixingqiao/wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 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 ced97ef..2d568a1 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 @@ -14,6 +14,7 @@ import org.dom4j.io.SAXReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import javax.sip.RequestEvent; @@ -118,12 +119,12 @@ // 濡傛灉鏄睘鎬� for (Object o : element.attributes()) { Attribute attr = (Attribute) o; - if (!StringUtils.isEmpty(attr.getValue())) { + if (!ObjectUtils.isEmpty(attr.getValue())) { json.put("@" + attr.getName(), attr.getValue()); } } List<Element> chdEl = element.elements(); - if (chdEl.isEmpty() && !StringUtils.isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓�� + if (chdEl.isEmpty() && !ObjectUtils.isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓�� json.put(element.getName(), element.getText()); } @@ -154,7 +155,7 @@ } else { // 瀛愬厓绱犳病鏈夊瓙鍏冪礌 for (Object o : element.attributes()) { Attribute attr = (Attribute) o; - if (!StringUtils.isEmpty(attr.getValue())) { + if (!ObjectUtils.isEmpty(attr.getValue())) { json.put("@" + attr.getName(), attr.getValue()); } } @@ -197,11 +198,17 @@ return null; } String channelId = channdelIdElement.getTextTrim(); - if (StringUtils.isEmpty(channelId)) { + if (ObjectUtils.isEmpty(channelId)) { logger.warn("瑙f瀽Catalog娑堟伅鏃跺彂鐜扮己灏� DeviceID"); return null; } deviceChannel.setChannelId(channelId); + int channelTypeCode = Integer.parseInt(channelId.substring(10, 13)); + if (channelTypeCode == 136 || channelTypeCode == 137 || channelTypeCode == 138) { + deviceChannel.setHasAudio(true); + }else { + deviceChannel.setHasAudio(false); + } if (event != null && !event.equals(CatalogEvent.ADD) && !event.equals(CatalogEvent.UPDATE)) { // 闄や簡ADD鍜寀pdate鎯呭喌涓嬮渶瑕佽瘑鍒叏閮ㄥ唴瀹癸紝 return deviceChannel; @@ -316,7 +323,7 @@ // 璇嗗埆鑷甫鐨勭洰褰曟爣璇� String parental = XmlUtil.getText(itemDevice, "Parental"); // 鐢变簬娴峰悍浼氶敊璇殑鍙戦��65535浣滀负杩欓噷鐨勫彇鍊�,鎵�浠ヨ繖閲岄櫎闈炴槸0鍚﹀垯璁や负鏄�1 - if (!StringUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) { + if (!ObjectUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) { deviceChannel.setParental(0); }else { deviceChannel.setParental(1); @@ -332,14 +339,14 @@ deviceChannel.setPassword(XmlUtil.getText(itemDevice, "Password")); String safetyWay = XmlUtil.getText(itemDevice, "SafetyWay"); - if (StringUtils.isEmpty(safetyWay)) { + if (ObjectUtils.isEmpty(safetyWay)) { deviceChannel.setSafetyWay(0); } else { deviceChannel.setSafetyWay(Integer.parseInt(safetyWay)); } String registerWay = XmlUtil.getText(itemDevice, "RegisterWay"); - if (StringUtils.isEmpty(registerWay)) { + if (ObjectUtils.isEmpty(registerWay)) { deviceChannel.setRegisterWay(1); } else { deviceChannel.setRegisterWay(Integer.parseInt(registerWay)); @@ -395,7 +402,6 @@ } else { deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType"))); } - deviceChannel.setHasAudio(true); // 榛樿鍚湁闊抽锛屾挱鏀炬椂鍐嶆鏌ユ槸鍚︽湁闊抽鍙婃槸鍚AC return deviceChannel; } } \ No newline at end of file -- Gitblit v1.8.0