From 2e98b20bea4463e4465e3c19059d0744a09aec06 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 14:34:41 +0800
Subject: [PATCH] gb28181版本升级-补充
---
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java
new file mode 100644
index 0000000..5b15d8c
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java
@@ -0,0 +1,75 @@
+package com.genersoft.iot.vmp.storager.dao;
+
+import java.util.List;
+
+import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;
+import org.apache.ibatis.annotations.*;
+
+@Mapper
+public interface DeviceMobilePositionMapper {
+
+ @Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, longitudeGcj02, latitudeGcj02, longitudeWgs84, latitudeWgs84, createTime) " +
+ "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84}, '${createTime}')")
+ int insertNewPosition(MobilePosition mobilePosition);
+
+ /**
+ * 查询设备的历史轨迹
+ * @param deviceId
+ * @param channelId
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ @Select(value = {" <script>" +
+ "SELECT * FROM device_mobile_position" +
+ " WHERE deviceId = #{deviceId}" +
+ "<if test=\"channelId != null\"> and channelId = #{channelId}</if>" +
+ "<if test=\"startTime != null\"> AND time>=#{startTime}</if>" +
+ "<if test=\"endTime != null\"> AND time<=#{endTime}</if>" +
+ " ORDER BY time ASC" +
+ " </script>"})
+ List<MobilePosition> queryPositionByDeviceIdAndTime(String deviceId, String channelId, String startTime, String endTime);
+
+ @Select("SELECT * FROM device_mobile_position WHERE deviceId = #{deviceId}" +
+ " ORDER BY time DESC LIMIT 1")
+ MobilePosition queryLatestPositionByDevice(String deviceId);
+
+ @Delete("DELETE FROM device_mobile_position WHERE deviceId = #{deviceId}")
+ int clearMobilePositionsByDeviceId(String deviceId);
+
+ /**
+ * 查询手台的移动轨迹
+ * @param deviceId
+ * @param terminalNumber 终端编号
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ @Select(value = {" <script>" +
+ "SELECT id,terminal_number as channelId,latitude,longitude,receive_time as time FROM sys_talk_back_equipment_record" +
+ " WHERE 1=1" +
+ "<if test=\"terminalNumber != null and terminalNumber!=''\"> and terminal_number = #{terminalNumber}</if>" +
+ "<if test=\"startTime != null\"> AND receive_time>=#{startTime}</if>" +
+ "<if test=\"endTime != null\"> AND receive_time<=#{endTime}</if>" +
+ " ORDER BY receive_time ASC" +
+ " </script>"})
+ List<MobilePosition> queryTalkBackEquipmentPositionByDeviceIdAndTime(String deviceId, String terminalNumber, String startTime, String endTime);
+
+ /**
+ * 查询执法记录仪的移动轨迹
+ * @param deviceId
+ * @param channelId
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ @Select(value = {" <script>" +
+ "SELECT * FROM device_mobile_position_police_camera" +
+ " WHERE 1=1" +
+ "<if test=\"channelId != null\"> and channelId = #{channelId}</if>" +
+ "<if test=\"startTime != null\"> AND time>=#{startTime}</if>" +
+ "<if test=\"endTime != null\"> AND time<=#{endTime}</if>" +
+ " ORDER BY time ASC" +
+ " </script>"})
+ List<MobilePosition> queryPoliceCameraPositionByDeviceIdAndTime(String deviceId, String channelId, String startTime, String endTime);
+}
--
Gitblit v1.9.3