From 1553b39b4547418774ab2bd6da72f75bfd14b972 Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期二, 29 三月 2022 10:04:28 +0800
Subject: [PATCH] 修复级联的国标通道无经纬度问题

---
 src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java                                                     |    2 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java   |   16 ++++----
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannelInPlatform.java                                               |   23 +++++++++++
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java |   16 ++++----
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java                                             |    4 +-
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java                                                   |   12 +----
 6 files changed, 45 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannelInPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannelInPlatform.java
new file mode 100644
index 0000000..c61bb08
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannelInPlatform.java
@@ -0,0 +1,23 @@
+package com.genersoft.iot.vmp.gb28181.bean;
+
+public class DeviceChannelInPlatform extends DeviceChannel{
+
+	private String platFormId;
+	private String catalogId;
+
+	public String getPlatFormId() {
+		return platFormId;
+	}
+
+	public void setPlatFormId(String platFormId) {
+		this.platFormId = platFormId;
+	}
+
+	public String getCatalogId() {
+		return catalogId;
+	}
+
+	public void setCatalogId(String catalogId) {
+		this.catalogId = catalogId;
+	}
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
index 9550266..a77179c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
@@ -64,10 +64,10 @@
             Element snElement = rootElement.element("SN");
             String sn = snElement.getText();
             // 鍑嗗鍥炲閫氶亾淇℃伅
-            List<ChannelReduce> channelReduces = storager.queryChannelListInParentPlatform(parentPlatform.getServerGBId());
+            List<DeviceChannelInPlatform> deviceChannels = storager.queryChannelListInParentPlatform(parentPlatform.getServerGBId());
             // 鏌ヨ鍏宠仈鐨勭洿鎾�氶亾
             List<GbStream> gbStreams = storager.queryGbStreamListInPlatform(parentPlatform.getServerGBId());
-            int size = channelReduces.size() + gbStreams.size();
+            int size = deviceChannels.size() + gbStreams.size();
             // 鍥炲鐩綍淇℃伅
             List<PlatformCatalog> catalogs =  storager.queryCatalogInPlatform(parentPlatform.getServerGBId());
             if (catalogs.size() > 0) {
@@ -96,14 +96,14 @@
                 }
             }
             // 鍥炲绾ц仈鐨勯�氶亾
-            if (channelReduces.size() > 0) {
-                for (ChannelReduce channelReduce : channelReduces) {
-                    if (channelReduce.getCatalogId().equals(parentPlatform.getServerGBId())) {
-                        channelReduce.setCatalogId(parentPlatform.getDeviceGBId());
+            if (deviceChannels.size() > 0) {
+                for (DeviceChannelInPlatform channel : deviceChannels) {
+                    if (channel.getCatalogId().equals(parentPlatform.getServerGBId())) {
+                        channel.setCatalogId(parentPlatform.getDeviceGBId());
                     }
-                    DeviceChannel deviceChannel = storager.queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId());
+                    DeviceChannel deviceChannel = storager.queryChannel(channel.getDeviceId(), channel.getChannelId());
                     deviceChannel.setParental(0);
-                    deviceChannel.setParentId(channelReduce.getCatalogId());
+                    deviceChannel.setParentId(channel.getCatalogId());
                     deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0, 6));
                     cmderFroPlatform.catalogQuery(deviceChannel, parentPlatform, sn, fromHeader.getTag(), size);
                     // 闃叉鍙戦�佽繃蹇�
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
index 959432c..40e5297 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
@@ -67,12 +67,12 @@
             Element snElement = rootElement.element("SN");
             String sn = snElement.getText();
             // 鍑嗗鍥炲閫氶亾淇℃伅
-            List<ChannelReduce> channelReduces = storager.queryChannelListInParentPlatform(parentPlatform.getServerGBId());
+            List<DeviceChannelInPlatform> deviceChannelInPlatforms = storager.queryChannelListInParentPlatform(parentPlatform.getServerGBId());
             // 鏌ヨ鍏宠仈鐨勭洿鎾�氶亾
             List<GbStream> gbStreams = storager.queryGbStreamListInPlatform(parentPlatform.getServerGBId());
             // 鍥炲鐩綍淇℃伅
             List<PlatformCatalog> catalogs =  storager.queryCatalogInPlatform(parentPlatform.getServerGBId());
-            int size = catalogs.size() + channelReduces.size() + gbStreams.size();
+            int size = catalogs.size() + deviceChannelInPlatforms.size() + gbStreams.size();
             if (catalogs.size() > 0) {
                 for (PlatformCatalog catalog : catalogs) {
                     if (catalog.getParentId().equals(parentPlatform.getServerGBId())) {
@@ -99,14 +99,14 @@
                 }
             }
             // 鍥炲绾ц仈鐨勯�氶亾
-            if (channelReduces.size() > 0) {
-                for (ChannelReduce channelReduce : channelReduces) {
-                    if (channelReduce.getCatalogId().equals(parentPlatform.getServerGBId())) {
-                        channelReduce.setCatalogId(parentPlatform.getDeviceGBId());
+            if (deviceChannelInPlatforms.size() > 0) {
+                for (DeviceChannelInPlatform channel : deviceChannelInPlatforms) {
+                    if (channel.getCatalogId().equals(parentPlatform.getServerGBId())) {
+                        channel.setCatalogId(parentPlatform.getDeviceGBId());
                     }
-                    DeviceChannel deviceChannel = storager.queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId());
+                    DeviceChannel deviceChannel = storager.queryChannel(channel.getDeviceId(), channel.getChannelId());
                     deviceChannel.setParental(0);
-                    deviceChannel.setParentId(channelReduce.getCatalogId());
+                    deviceChannel.setParentId(channel.getCatalogId());
                     deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0, 6));
                     cmderFroPlatform.catalogQuery(deviceChannel, parentPlatform, sn, fromHeader.getTag(), size);
                     // 闃叉鍙戦�佽繃蹇�
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
index 710219e..abbe203 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -245,7 +245,7 @@
 	/**
 	 * 鏌ヨ璁惧鐨勯�氶亾淇℃伅
 	 */
-	List<ChannelReduce> queryChannelListInParentPlatform(String platformId);
+	List<DeviceChannelInPlatform> queryChannelListInParentPlatform(String platformId);
 
 
 	/**
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 f04b7c0..e132799 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,6 +1,7 @@
 package com.genersoft.iot.vmp.storager.dao;
 
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannelInPlatform;
 import com.genersoft.iot.vmp.vmanager.bean.DeviceChannelTree;
 import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
 import org.apache.ibatis.annotations.*;
@@ -114,22 +115,15 @@
 
     @Select(value = {" <script>" +
             "SELECT " +
-            "    dc.id,\n" +
-            "    dc.channelId,\n" +
-            "    dc.deviceId,\n" +
-            "    dc.name,\n" +
-            "    de.manufacturer,\n" +
-            "    de.hostAddress,\n" +
-            "    dc.subCount,\n" +
+            "    dc.*,\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 pgc.platformId = #{platformId} " +
             " ORDER BY dc.deviceId, dc.channelId ASC" +
             " </script>"})
-    List<ChannelReduce> queryChannelByPlatformId(String platformId);
+    List<DeviceChannelInPlatform> queryChannelByPlatformId(String platformId);
 
 
     @Select("SELECT * FROM device_channel WHERE channelId=#{channelId}")
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index 1f492c4..cd8141f 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -612,9 +612,9 @@
 	}
 
 	@Override
-	public List<ChannelReduce> queryChannelListInParentPlatform(String platformId) {
+	public List<DeviceChannelInPlatform> queryChannelListInParentPlatform(String platformId) {
 
-		return deviceChannelMapper.queryChannelByPlatformId( platformId);
+		return deviceChannelMapper.queryChannelByPlatformId(platformId);
 	}
 
 	@Override

--
Gitblit v1.8.0