From fe0b5c33f92e11f51574deb2c589a31b34a6e720 Mon Sep 17 00:00:00 2001
From: chenjialing <595168663@qq.com>
Date: 星期三, 02 三月 2022 09:18:17 +0800
Subject: [PATCH] 告警信息上报过程中,AlarmType存储失败的解决

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 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 511083c..8f412f7 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
@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd;
 
+import com.genersoft.iot.vmp.conf.SipConfig;
 import com.genersoft.iot.vmp.conf.UserSetup;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector;
@@ -21,7 +22,7 @@
 
 import javax.sip.RequestEvent;
 
-import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.getText;
+import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.*;
 
 @Component
 public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
@@ -39,6 +40,9 @@
     private UserSetup userSetup;
 
     @Autowired
+    private SipConfig sipConfig;
+
+    @Autowired
     private IVideoManagerStorager storager;
 
     @Autowired
@@ -54,6 +58,9 @@
 
     @Override
     public void handForDevice(RequestEvent evt, Device device, Element rootElement) {
+        if (!sipConfig.isAlarm()) {
+            return;
+        }
         Element deviceIdElement = rootElement.element("DeviceID");
         String channelId = deviceIdElement.getText().toString();
         DeviceAlarm deviceAlarm = new DeviceAlarm();
@@ -98,6 +105,11 @@
                 storager.insertMobilePosition(mobilePosition);
             }
         }
+        if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
+            if (deviceAlarm.getAlarmMethod().equals("5")) {
+                deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
+            }
+        }
         logger.debug("瀛樺偍鎶ヨ淇℃伅銆佹姤璀﹀垎绫�");
         // 瀛樺偍鎶ヨ淇℃伅銆佹姤璀﹀垎绫�
         deviceAlarmService.add(deviceAlarm);

--
Gitblit v1.8.0