From 7db2bf7b51015a7e989ea5b0f4d9486dfd99d4bd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 02 九月 2022 10:51:55 +0800
Subject: [PATCH] 使用equalsIgnoreCase代替equals,忽略大小写差异

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 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 20316e7..98fd7a7 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.alibaba.fastjson.JSONObject;
 import com.genersoft.iot.vmp.conf.SipConfig;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.*;
@@ -21,6 +22,7 @@
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
 import javax.sip.InvalidArgumentException;
@@ -32,6 +34,9 @@
 
 import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.*;
 
+/**
+ * 鎶ヨ浜嬩欢鐨勫鐞嗭紝鍙傝�冿細9.4
+ */
 @Component
 public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
 
@@ -73,12 +78,8 @@
         // 鍥炲200 OK
         try {
             responseAck(evt, Response.OK);
-        } catch (SipException e) {
-            throw new RuntimeException(e);
-        } catch (InvalidArgumentException e) {
-            throw new RuntimeException(e);
-        } catch (ParseException e) {
-            throw new RuntimeException(e);
+        } catch (SipException | InvalidArgumentException | ParseException e) {
+            logger.error("[鏀跺埌鎶ヨ閫氱煡], 鍥炲200OK澶辫触", e);
         }
 
         Element deviceIdElement = rootElement.element("DeviceID");
@@ -114,7 +115,7 @@
             deviceAlarm.setLatitude(0.00);
         }
 
-        if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
+        if (!ObjectUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
             if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) {
                 MobilePosition mobilePosition = new MobilePosition();
                 mobilePosition.setCreateTime(DateUtil.getNow());
@@ -123,7 +124,6 @@
                 mobilePosition.setLongitude(deviceAlarm.getLongitude());
                 mobilePosition.setLatitude(deviceAlarm.getLatitude());
                 mobilePosition.setReportSource("GPS Alarm");
-
 
                 // 鏇存柊device channel 鐨勭粡绾害
                 DeviceChannel deviceChannel = new DeviceChannel();
@@ -144,22 +144,33 @@
                     storager.insertMobilePosition(mobilePosition);
                 }
                 storager.updateChannelPosition(deviceChannel);
+
+                // 鍙戦�乺edis娑堟伅銆� 閫氱煡浣嶇疆淇℃伅鐨勫彉鍖�
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("time", mobilePosition.getTime());
+                jsonObject.put("serial", deviceChannel.getDeviceId());
+                jsonObject.put("code", deviceChannel.getChannelId());
+                jsonObject.put("longitude", mobilePosition.getLongitude());
+                jsonObject.put("latitude", mobilePosition.getLatitude());
+                jsonObject.put("altitude", mobilePosition.getAltitude());
+                jsonObject.put("direction", mobilePosition.getDirection());
+                jsonObject.put("speed", mobilePosition.getSpeed());
+                redisCatchStorage.sendMobilePositionMsg(jsonObject);
             }
         }
-        if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
+        if (!ObjectUtils.isEmpty(deviceAlarm.getDeviceId())) {
             if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
                 deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
             }
         }
 
-        if (channelId.equals(sipConfig.getId())) {
+        if ("7".equals(deviceAlarm.getAlarmMethod()) ) {
             // 鍙戦�佺粰骞冲彴鐨勬姤璀︿俊鎭�� 鍙戦�乺edis閫氱煡
             AlarmChannelMessage alarmChannelMessage = new AlarmChannelMessage();
             alarmChannelMessage.setAlarmSn(Integer.parseInt(deviceAlarm.getAlarmMethod()));
             alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription());
             alarmChannelMessage.setGbId(channelId);
             redisCatchStorage.sendAlarmMsg(alarmChannelMessage);
-
             return;
         }
 
@@ -168,7 +179,6 @@
         if (sipConfig.isAlarm()) {
             deviceAlarmService.add(deviceAlarm);
         }
-
 
         if (redisCatchStorage.deviceIsOnline(device.getDeviceId())) {
             publisher.deviceAlarmEventPublish(deviceAlarm);
@@ -222,7 +232,7 @@
             deviceAlarm.setLatitude(0.00);
         }
 
-        if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
+        if (!ObjectUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
 
             if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
                 deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));

--
Gitblit v1.8.0