From 3c00b686eb571770af1ca01179fca1e7833e9252 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 17:09:01 +0800
Subject: [PATCH] 目录订阅时同时插入实时位置信息

---
 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
index 2e0f993..f58befe 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
@@ -3,9 +3,11 @@
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;
 import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
 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.storager.dao.DeviceChannelMapper;
 import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
 import com.genersoft.iot.vmp.utils.DateUtil;
@@ -36,6 +38,10 @@
 
     @Autowired
     private DeviceMapper deviceMapper;
+
+
+    @Autowired
+    private IVideoManagerStorage storager;
 
     @Override
     public DeviceChannel updateGps(DeviceChannel deviceChannel, Device device) {
@@ -95,11 +101,33 @@
             channelMapper.update(channel);
         }
         channelMapper.updateChannelSubCount(deviceId,channel.getParentId());
+        // 更新移动位置信息
+        updateMobilePosition(channel);
         //更新坐标绑定关系
         handleBindPosition(deviceChannel,channel);
     }
 
     /**
+     * 添加移动位置信息
+     * @param channel
+     */
+    private void updateMobilePosition(DeviceChannel channel) {
+        MobilePosition mobilePosition = new MobilePosition();
+        mobilePosition.setDeviceId(channel.getDeviceId());
+        mobilePosition.setChannelId(channel.getChannelId());
+        mobilePosition.setLongitude(channel.getLongitude());
+        mobilePosition.setLatitude(channel.getLatitude());
+        mobilePosition.setTime(channel.getGpsTime());
+        mobilePosition.setCreateTime(channel.getGpsTime());
+
+        mobilePosition.setLongitudeWgs84(channel.getLongitudeWgs84());
+        mobilePosition.setLatitudeWgs84(channel.getLatitudeWgs84());
+        mobilePosition.setLongitudeGcj02(channel.getLongitudeGcj02());
+        mobilePosition.setLatitudeGcj02(channel.getLatitudeGcj02());
+        storager.insertMobilePosition(mobilePosition);
+    }
+
+    /**
      * 更新坐标绑定关系
      * @param deviceChannel
      * @param channel

--
Gitblit v1.9.3