From ba8633e99a27b90c55b47e8f7d6225f1f0efc6bb Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 08 四月 2022 18:09:23 +0800
Subject: [PATCH] 优化地图-添加地图页面以及设备树

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 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..8977fc4 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,15 +1,17 @@
 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd;
 
-import com.genersoft.iot.vmp.conf.UserSetup;
+import com.genersoft.iot.vmp.conf.SipConfig;
+import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector;
 import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
 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.service.IDeviceAlarmService;
-import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
+import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
 import com.genersoft.iot.vmp.utils.GpsUtil;
 import org.dom4j.Element;
 import org.slf4j.Logger;
@@ -21,7 +23,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 {
@@ -36,10 +38,13 @@
     private EventPublisher publisher;
 
     @Autowired
-    private UserSetup userSetup;
+    private UserSetting userSetting;
 
     @Autowired
-    private IVideoManagerStorager storager;
+    private SipConfig sipConfig;
+
+    @Autowired
+    private IVideoManagerStorage storager;
 
     @Autowired
     private IDeviceAlarmService deviceAlarmService;
@@ -54,6 +59,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();
@@ -86,18 +94,23 @@
                 mobilePosition.setLongitude(deviceAlarm.getLongitude());
                 mobilePosition.setLatitude(deviceAlarm.getLatitude());
                 mobilePosition.setReportSource("GPS Alarm");
-                BaiduPoint bp = new BaiduPoint();
-                bp = GpsUtil.Wgs84ToBd09(String.valueOf(mobilePosition.getLongitude()), String.valueOf(mobilePosition.getLatitude()));
-                logger.info("鐧惧害鍧愭爣锛�" + bp.getBdLng() + ", " + bp.getBdLat());
-                mobilePosition.setGeodeticSystem("BD-09");
-                mobilePosition.setCnLng(bp.getBdLng());
-                mobilePosition.setCnLat(bp.getBdLat());
-                if (!userSetup.getSavePositionHistory()) {
+                // 榛樿鏉ユ簮鍧愭爣绯讳负WGS-84澶勭悊
+                Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
+                logger.info("GCJ02鍧愭爣锛�" + gcj02Point[0] + ", " + gcj02Point[1]);
+                mobilePosition.setGeodeticSystem("GCJ-02");
+                mobilePosition.setCnLng(gcj02Point[0] + "");
+                mobilePosition.setCnLat(gcj02Point[1] + "");
+                if (!userSetting.getSavePositionHistory()) {
                     storager.clearMobilePositionsByDeviceId(device.getDeviceId());
                 }
                 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