From 3496ca2378dccfbe37d2311e9d85e7c7b60726b0 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 02 八月 2022 15:41:07 +0800
Subject: [PATCH] Merge pull request #353 from mrjackwang/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java | 44 ++++++++++++++++++--------------------------
1 files changed, 18 insertions(+), 26 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 8dfd233..20316e7 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
@@ -11,6 +11,7 @@
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.service.IDeviceChannelService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
@@ -58,6 +59,9 @@
@Autowired
private IDeviceAlarmService deviceAlarmService;
+ @Autowired
+ private IDeviceChannelService deviceChannelService;
+
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
@@ -65,7 +69,7 @@
@Override
public void handForDevice(RequestEvent evt, Device device, Element rootElement) {
- logger.info("鏀跺埌鏉ヨ嚜璁惧[{}]鐨勬姤璀﹂�氱煡", device.getDeviceId());
+ logger.info("[鏀跺埌鎶ヨ閫氱煡]璁惧锛歿}", device.getDeviceId());
// 鍥炲200 OK
try {
responseAck(evt, Response.OK);
@@ -119,38 +123,26 @@
mobilePosition.setLongitude(deviceAlarm.getLongitude());
mobilePosition.setLatitude(deviceAlarm.getLatitude());
mobilePosition.setReportSource("GPS Alarm");
- if ("WGS84".equals(device.getGeoCoordSys())) {
- mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
- mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
- Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
- mobilePosition.setLongitudeGcj02(position[0]);
- mobilePosition.setLatitudeGcj02(position[1]);
- }else if ("GCJ02".equals(device.getGeoCoordSys())) {
- mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
- mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
- Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
- mobilePosition.setLongitudeWgs84(position[0]);
- mobilePosition.setLatitudeWgs84(position[1]);
- }else {
- mobilePosition.setLongitudeGcj02(0.00);
- mobilePosition.setLatitudeGcj02(0.00);
- mobilePosition.setLongitudeWgs84(0.00);
- mobilePosition.setLatitudeWgs84(0.00);
- }
- if (userSetting.getSavePositionHistory()) {
- storager.insertMobilePosition(mobilePosition);
- }
+
+
// 鏇存柊device channel 鐨勭粡绾害
DeviceChannel deviceChannel = new DeviceChannel();
deviceChannel.setDeviceId(device.getDeviceId());
deviceChannel.setChannelId(channelId);
deviceChannel.setLongitude(mobilePosition.getLongitude());
deviceChannel.setLatitude(mobilePosition.getLatitude());
- deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
- deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
- deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
- deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
+
+ deviceChannel = deviceChannelService.updateGps(deviceChannel, device);
+
+ mobilePosition.setLongitudeWgs84(deviceChannel.getLongitudeWgs84());
+ mobilePosition.setLatitudeWgs84(deviceChannel.getLatitudeWgs84());
+ mobilePosition.setLongitudeGcj02(deviceChannel.getLongitudeGcj02());
+ mobilePosition.setLatitudeGcj02(deviceChannel.getLatitudeGcj02());
+
+ if (userSetting.getSavePositionHistory()) {
+ storager.insertMobilePosition(mobilePosition);
+ }
storager.updateChannelPosition(deviceChannel);
}
}
--
Gitblit v1.8.0