From 0858f7995b8236d79c6e39a5974cb7a13bcb4e3e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期六, 08 四月 2023 15:22:18 +0800
Subject: [PATCH] 优化ssrc存储结构,避免因为大量ssrc存在MediaServer中导致redis读取超时

---
 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 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 7527631..9223ced 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
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * @author lin
@@ -43,6 +44,8 @@
             if (device == null) {
                 device = deviceMapper.getDeviceByDeviceId(deviceChannel.getDeviceId());
             }
+
+
 
             if ("WGS84".equals(device.getGeoCoordSys())) {
                 deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude());
@@ -179,11 +182,13 @@
     @Override
     public boolean updateAllGps(Device device) {
         List<DeviceChannel> deviceChannels = channelMapper.getChannelsWithoutTransform(device.getDeviceId());
-        List<DeviceChannel> result = new ArrayList<>();
+        List<DeviceChannel> result = new CopyOnWriteArrayList<>();
         if (deviceChannels.size() == 0) {
             return true;
         }
+        String now = DateUtil.getNow();
         deviceChannels.parallelStream().forEach(deviceChannel -> {
+            deviceChannel.setUpdateTime(now);
             result.add(updateGps(deviceChannel, device));
         });
         int limitCount = 300;
@@ -201,4 +206,9 @@
 
         return true;
     }
+
+    @Override
+    public List<Device> getDeviceByChannelId(String channelId) {
+        return channelMapper.getDeviceByChannelId(channelId);
+    }
 }

--
Gitblit v1.8.0