From 1efabbe4cc672fcf2ce589bdad1bce66c897a225 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 24 五月 2024 10:50:29 +0800
Subject: [PATCH] 支持把推流的额外参数加入redis缓存

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java |   34 +++++++++++++++++++++++++++++-----
 1 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index c751b91..1555221 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -52,8 +52,8 @@
             "<if test='status != null'>, status=#{status}</if>" +
             "<if test='streamId != null'>, stream_id=#{streamId}</if>" +
             "<if test='hasAudio != null'>, has_audio=#{hasAudio}</if>" +
-            ", custom_longitude=#{longitude}" +
-            ", custom_latitude=#{latitude}" +
+            "<if test='customLongitude != null'>, custom_longitude=#{customLongitude}</if>" +
+            "<if test='customLatitude != null'>, custom_latitude=#{customLatitude}</if>" +
             "<if test='longitudeGcj02 != null'>, longitude_gcj02=#{longitudeGcj02}</if>" +
             "<if test='latitudeGcj02 != null'>, latitude_gcj02=#{latitudeGcj02}</if>" +
             "<if test='longitudeWgs84 != null'>, longitude_wgs84=#{longitudeWgs84}</if>" +
@@ -89,8 +89,10 @@
             "dc.password, " +
             "COALESCE(dc.custom_ptz_type, dc.ptz_type) AS ptz_type, " +
             "dc.status, " +
-            "COALESCE(dc.custom_longitude, dc.longitude) AS longitude, " +
-            "COALESCE(dc.custom_latitude, dc.latitude) AS latitude, " +
+            "dc.longitude, " +
+            "dc.latitude, " +
+            "dc.custom_longitude, " +
+            "dc.custom_latitude, " +
             "dc.stream_id, " +
             "dc.device_id, " +
             "dc.parental, " +
@@ -345,6 +347,8 @@
             "<if test='item.hasAudio != null'>, has_audio=#{item.hasAudio}</if>" +
             "<if test='item.longitude != null'>, longitude=#{item.longitude}</if>" +
             "<if test='item.latitude != null'>, latitude=#{item.latitude}</if>" +
+            "<if test='item.customLongitude != null'>, custom_longitude=#{item.customLongitude}</if>" +
+            "<if test='item.customLatitude != null'>, custom_latitude=#{item.customLatitude}</if>" +
             "<if test='item.longitudeGcj02 != null'>, longitude_gcj02=#{item.longitudeGcj02}</if>" +
             "<if test='item.latitudeGcj02 != null'>, latitude_gcj02=#{item.latitudeGcj02}</if>" +
             "<if test='item.longitudeWgs84 != null'>, longitude_wgs84=#{item.longitudeWgs84}</if>" +
@@ -395,7 +399,7 @@
             "WHERE device_id=#{deviceId} " +
             " <if test='channelId != null' >  AND channel_id=#{channelId}</if>" +
             " </script>"})
-    void updatePosition(DeviceChannel deviceChannel);
+    int updatePosition(DeviceChannel deviceChannel);
 
     @Select("SELECT * FROM wvp_device_channel WHERE length(trim(stream_id)) > 0")
     List<DeviceChannel> getAllChannelInPlay();
@@ -550,4 +554,24 @@
             " <if test='channelId != null'> and channel_id = #{channelId} </if>" +
             "</script>")
     void updateChannelStreamIdentification(DeviceChannel channel);
+
+
+    @Update({"<script>" +
+            "<foreach collection='channelList' item='item' separator=';'>" +
+            " UPDATE" +
+            " wvp_device_channel" +
+            " SET update_time=#{item.updateTime}" +
+            "<if test='item.longitude != null'>, longitude=#{item.longitude}</if>" +
+            "<if test='item.latitude != null'>, latitude=#{item.latitude}</if>" +
+            "<if test='item.longitudeGcj02 != null'>, longitude_gcj02=#{item.longitudeGcj02}</if>" +
+            "<if test='item.latitudeGcj02 != null'>, latitude_gcj02=#{item.latitudeGcj02}</if>" +
+            "<if test='item.longitudeWgs84 != null'>, longitude_wgs84=#{item.longitudeWgs84}</if>" +
+            "<if test='item.latitudeWgs84 != null'>, latitude_wgs84=#{item.latitudeWgs84}</if>" +
+            "<if test='item.gpsTime != null'>, gps_time=#{item.gpsTime}</if>" +
+            "<if test='item.id > 0'>WHERE id=#{item.id}</if>" +
+            "<if test='item.id == 0'>WHERE device_id=#{item.deviceId} AND channel_id=#{item.channelId}</if>" +
+            "</foreach>" +
+            "</script>"})
+    void batchUpdatePosition(List<DeviceChannel> channelList);
+
 }

--
Gitblit v1.8.0