From c5f2aba9b20089f184ce175b58a33a881ea9e0b1 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期五, 16 四月 2021 18:23:13 +0800
Subject: [PATCH] 修复 流已经关闭后,再次调用关闭流的接口,返回超时

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java |   11 ++++++-----
 1 files changed, 6 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 5b04222..b98b66f 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,8 +1,7 @@
 package com.genersoft.iot.vmp.storager.dao;
 
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
-import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce;
+import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 
@@ -63,6 +62,7 @@
             " WHERE 1=1 " +
             " <if test=\"hasSubChannel == true\" >  AND subCount >0</if>" +
             " <if test=\"hasSubChannel == false\" >  AND subCount=0</if>" +
+            " ORDER BY channelId ASC" +
             " </script>"})
     List<DeviceChannel> queryChannelsByDeviceId(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online);
 
@@ -83,19 +83,20 @@
             "SELECT * FROM ( "+
                 " SELECT dc.channelId, dc.deviceId, dc.name, de.manufacturer, de.hostAddress, " +
                 "(SELECT count(0) FROM device_channel WHERE parentId=dc.channelId) as subCount, " +
-                "pc.platformId " +
+                "(SELECT pc.platformId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId ) as platformId " +
                 "FROM device_channel dc " +
                 "LEFT JOIN device de ON dc.deviceId = de.deviceId " +
-                "LEFT JOIN platform_gb_channel pc on pc.deviceId = dc.deviceId AND pc.channelId = dc.channelId " +
                 " 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=\"platformId != null and inPlatform == true\"> AND pc.platformId=#{platformId} </if> " +
             ") dcr" +
             " WHERE 1=1 " +
             " <if test=\"hasSubChannel!= null and hasSubChannel == true\" >  AND subCount >0</if> " +
             " <if test=\"hasSubChannel!= null and hasSubChannel == false\" >  AND subCount=0</if> " +
+            " <if test=\"platformId != null and inPlatform == true \" >  AND platformId='${platformId}'</if> " +
+            " <if test=\"platformId != null and inPlatform == false \" >  AND (platformId != '${platformId}' OR platformId is NULL )  </if> " +
+            " ORDER BY deviceId, channelId ASC" +
             " </script>"})
 
     List<ChannelReduce> queryChannelListInAll(String query, Boolean online, Boolean hasSubChannel, String platformId, Boolean inPlatform);

--
Gitblit v1.8.0