From e7f5cfc422cb9ac8dc72f0c0faf063bf5fcb711c Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 06 五月 2022 17:26:36 +0800
Subject: [PATCH] test
---
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 111 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 79 insertions(+), 32 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 6d9cd00..312d3e0 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -1,7 +1,7 @@
package com.genersoft.iot.vmp.storager.dao;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
-import com.genersoft.iot.vmp.vmanager.bean.DeviceChannelTree;
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannelInPlatform;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@@ -87,29 +87,43 @@
void startPlay(String deviceId, String channelId, String streamId);
@Select(value = {" <script>" +
- "SELECT dc.channelId, "+
- "dc.deviceId, " +
- "dc.name, " +
- "de.manufacturer, " +
- "de.hostAddress, " +
- "dc.subCount, " +
- "pgc.platformId as platformId, " +
- "pgc.catalogId as catalogId " +
- "FROM device_channel dc " +
- "LEFT JOIN device de ON dc.deviceId = de.deviceId " +
- "LEFT JOIN platform_gb_channel pgc on de.deviceId = pgc.deviceId and pgc.channelId = dc.channelId " +
- "LEFT JOIN device_channel dc2 ON dc2.deviceId = de.deviceId AND dc2.parentId = dc.channelId " +
+ "SELECT " +
+ " dc.id,\n" +
+ " dc.channelId,\n" +
+ " dc.deviceId,\n" +
+ " dc.name,\n" +
+ " de.manufacturer,\n" +
+ " de.hostAddress,\n" +
+ " dc.subCount,\n" +
+ " pgc.platformId as platformId,\n" +
+ " pgc.catalogId as catalogId " +
+ " FROM device_channel dc " +
+ " LEFT JOIN device de ON dc.deviceId = de.deviceId " +
+ " LEFT JOIN platform_gb_channel pgc on pgc.deviceChannelId = dc.id " +
" WHERE 1=1 " +
" <if test='query != null'> AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%' OR dc.name LIKE '%${query}%')</if> " +
" <if test='online == true' > AND dc.status=1</if> " +
" <if test='online == false' > AND dc.status=0</if> " +
- " <if test='hasSubChannel!= null and hasSubChannel == true' > AND dc2.channelId is not null</if> " +
- " <if test='hasSubChannel!= null and hasSubChannel == false' > AND dc2.channelId is null</if> " +
- " <if test='catalogId == null ' > AND ((pgc.platformId IS NULL AND pgc.catalogId IS NULL) or (pgc.platformId != #{platformId}))</if> " +
- " <if test='catalogId != null ' > AND pgc.platformId =#{platformId} AND pgc.catalogId = #{catalogId}</if> " +
+ " <if test='hasSubChannel!= null and hasSubChannel == true' > AND dc.subCount > 0</if> " +
+ " <if test='hasSubChannel!= null and hasSubChannel == false' > AND dc.subCount = 0</if> " +
+ " <if test='catalogId == null ' > AND dc.id not in (select deviceChannelId from platform_gb_channel where platformId=#{platformId} ) </if> " +
+ " <if test='catalogId != null ' > AND pgc.platformId = #{platformId} and pgc.catalogId=#{catalogId} </if> " +
" ORDER BY dc.deviceId, dc.channelId ASC" +
" </script>"})
List<ChannelReduce> queryChannelListInAll(String query, Boolean online, Boolean hasSubChannel, String platformId, String catalogId);
+
+ @Select(value = {" <script>" +
+ "SELECT " +
+ " dc.*,\n" +
+ " pgc.platformId as platformId,\n" +
+ " pgc.catalogId as catalogId " +
+ " FROM device_channel dc " +
+ " LEFT JOIN platform_gb_channel pgc on pgc.deviceChannelId = dc.id " +
+ " WHERE pgc.platformId = #{platformId} " +
+ " ORDER BY dc.deviceId, dc.channelId ASC" +
+ " </script>"})
+ List<DeviceChannelInPlatform> queryChannelByPlatformId(String platformId);
+
@Select("SELECT * FROM device_channel WHERE channelId=#{channelId}")
List<DeviceChannel> queryChannelByChannelId( String channelId);
@@ -134,6 +148,32 @@
"'${item.ipAddress}', ${item.port}, '${item.password}', ${item.PTZType}, ${item.status}, " +
"'${item.streamId}', ${item.longitude}, ${item.latitude},'${item.createTime}', '${item.updateTime}')" +
"</foreach> " +
+ "ON DUPLICATE KEY UPDATE " +
+ "updateTime=VALUES(updateTime), " +
+ "name=VALUES(name), " +
+ "manufacture=VALUES(manufacture), " +
+ "model=VALUES(model), " +
+ "owner=VALUES(owner), " +
+ "civilCode=VALUES(civilCode), " +
+ "block=VALUES(block), " +
+ "subCount=VALUES(subCount), " +
+ "address=VALUES(address), " +
+ "parental=VALUES(parental), " +
+ "parentId=VALUES(parentId), " +
+ "safetyWay=VALUES(safetyWay), " +
+ "registerWay=VALUES(registerWay), " +
+ "certNum=VALUES(certNum), " +
+ "certifiable=VALUES(certifiable), " +
+ "errCode=VALUES(errCode), " +
+ "secrecy=VALUES(secrecy), " +
+ "ipAddress=VALUES(ipAddress), " +
+ "port=VALUES(port), " +
+ "password=VALUES(password), " +
+ "PTZType=VALUES(PTZType), " +
+ "status=VALUES(status), " +
+ "streamId=VALUES(streamId), " +
+ "longitude=VALUES(longitude), " +
+ "latitude=VALUES(latitude)" +
"</script>")
int batchAdd(List<DeviceChannel> addChannels);
@@ -195,19 +235,26 @@
@Select("SELECT * FROM device_channel WHERE deviceId=#{deviceId} AND status=1")
List<DeviceChannel> queryOnlineChannelsByDeviceId(String deviceId);
- @Select(" SELECT\n" +
- " channelId,\n" +
- " channelId as id,\n" +
- " deviceId,\n" +
- " parentId,\n" +
- " status,\n" +
- " name as title,\n" +
- " channelId as \"value\",\n" +
- " channelId as \"key\",\n" +
- " channelId,\n" +
- " longitude,\n" +
- " latitude\n" +
- " from device_channel\n" +
- " where deviceId = #{deviceId}")
- List<DeviceChannelTree> tree(String deviceId);
+ @Delete(value = {" <script>" +
+ "DELETE " +
+ "from " +
+ "device_channel " +
+ "WHERE " +
+ "deviceId = #{deviceId} " +
+ " AND channelId NOT IN " +
+ "<foreach collection='channels' item='item' open='(' separator=',' close=')' > #{item.channelId}</foreach>" +
+ " </script>"})
+ int cleanChannelsNotInList(String deviceId, List<DeviceChannel> channels);
+
+ @Update(" update device_channel" +
+ " set subCount = (select *" +
+ " from (select count(0)" +
+ " from device_channel" +
+ " where deviceId = #{deviceId} and parentId = #{channelId}) as temp)" +
+ " where deviceId = #{deviceId} " +
+ " and channelId = #{channelId}")
+ int updateChannelSubCount(String deviceId, String channelId);
+
+ @Update(value = {"UPDATE device_channel SET latitude=${latitude}, longitude=${longitude} WHERE deviceId=#{deviceId} AND channelId=#{channelId}"})
+ void updatePotion(String deviceId, String channelId, double longitude, double latitude);
}
--
Gitblit v1.8.0