From 5364db2982fb3dfff22659d535344d3df82e838a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 03 七月 2022 22:27:04 +0800
Subject: [PATCH] 优化对讲逻辑
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java | 52 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 34 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
index fa20d51..6a23dfa 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -9,9 +9,11 @@
import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
+import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import com.genersoft.iot.vmp.utils.DateUtil;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,7 +34,7 @@
@Component
public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
- private Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class);
+ private final Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class);
private final String cmdType = "Alarm";
@Autowired
@@ -84,25 +86,32 @@
deviceAlarm.setChannelId(channelId);
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));
deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod"));
- deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime"));
- if (getText(rootElement, "AlarmDescription") == null) {
+ String alarmTime = XmlUtil.getText(rootElement, "AlarmTime");
+ if (alarmTime == null) {
+ return;
+ }
+ deviceAlarm.setAlarmTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(alarmTime));
+ String alarmDescription = getText(rootElement, "AlarmDescription");
+ if (alarmDescription == null) {
deviceAlarm.setAlarmDescription("");
} else {
- deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription"));
+ deviceAlarm.setAlarmDescription(alarmDescription);
}
- if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) {
- deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude")));
+ String longitude = getText(rootElement, "Longitude");
+ if (longitude != null && NumericUtil.isDouble(longitude)) {
+ deviceAlarm.setLongitude(Double.parseDouble(longitude));
} else {
deviceAlarm.setLongitude(0.00);
}
- if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) {
- deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude")));
+ String latitude = getText(rootElement, "Latitude");
+ if (latitude != null && NumericUtil.isDouble(latitude)) {
+ deviceAlarm.setLatitude(Double.parseDouble(latitude));
} else {
deviceAlarm.setLatitude(0.00);
}
if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
- if ( deviceAlarm.getAlarmMethod().equals("4")) {
+ if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) {
MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
mobilePosition.setTime(deviceAlarm.getAlarmTime());
@@ -122,7 +131,7 @@
}
}
if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
- if (deviceAlarm.getAlarmMethod().equals("5")) {
+ if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
}
}
@@ -172,26 +181,33 @@
deviceAlarm.setChannelId(channelId);
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));
deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod"));
- deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime"));
- if (getText(rootElement, "AlarmDescription") == null) {
+ String alarmTime = XmlUtil.getText(rootElement, "AlarmTime");
+ if (alarmTime == null) {
+ return;
+ }
+ deviceAlarm.setAlarmTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(alarmTime));
+ String alarmDescription = getText(rootElement, "AlarmDescription");
+ if (alarmDescription == null) {
deviceAlarm.setAlarmDescription("");
} else {
- deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription"));
+ deviceAlarm.setAlarmDescription(alarmDescription);
}
- if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) {
- deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude")));
+ String longitude = getText(rootElement, "Longitude");
+ if (longitude != null && NumericUtil.isDouble(longitude)) {
+ deviceAlarm.setLongitude(Double.parseDouble(longitude));
} else {
deviceAlarm.setLongitude(0.00);
}
- if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) {
- deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude")));
+ String latitude = getText(rootElement, "Latitude");
+ if (latitude != null && NumericUtil.isDouble(latitude)) {
+ deviceAlarm.setLatitude(Double.parseDouble(latitude));
} else {
deviceAlarm.setLatitude(0.00);
}
if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
- if (deviceAlarm.getAlarmMethod().equals("5")) {
+ if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
}
}
--
Gitblit v1.8.0