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/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) 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 6ca608c..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,14 +67,17 @@ 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())) { + catalog.setParentId(parentPlatform.getDeviceGBId()); + } DeviceChannel deviceChannel = new DeviceChannel(); deviceChannel.setChannelId(catalog.getId()); deviceChannel.setName(catalog.getName()); @@ -86,30 +89,36 @@ deviceChannel.setParental(1); deviceChannel.setParentId(catalog.getParentId()); deviceChannel.setRegisterWay(1); - deviceChannel.setCivilCode(config.getDomain()); + deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6)); deviceChannel.setModel("live"); deviceChannel.setOwner("wvp-pro"); deviceChannel.setSecrecy("0"); cmderFroPlatform.catalogQuery(deviceChannel, parentPlatform, sn, fromHeader.getTag(), size); // 闃叉鍙戦�佽繃蹇� - Thread.sleep(10); + Thread.sleep(100); } } // 鍥炲绾ц仈鐨勯�氶亾 - if (channelReduces.size() > 0) { - for (ChannelReduce channelReduce : channelReduces) { - DeviceChannel deviceChannel = storager.queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId()); - // TODO 鐩墠鏆傛椂璁や负杩欓噷鍙敤閫氶亾娌℃湁鐩綍 + if (deviceChannelInPlatforms.size() > 0) { + for (DeviceChannelInPlatform channel : deviceChannelInPlatforms) { + if (channel.getCatalogId().equals(parentPlatform.getServerGBId())) { + channel.setCatalogId(parentPlatform.getDeviceGBId()); + } + 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); // 闃叉鍙戦�佽繃蹇� - Thread.sleep(10); + Thread.sleep(100); } } // 鍥炲鐩存挱鐨勯�氶亾 if (gbStreams.size() > 0) { for (GbStream gbStream : gbStreams) { + if (gbStream.getCatalogId().equals(parentPlatform.getServerGBId())) { + gbStream.setCatalogId(parentPlatform.getDeviceGBId()); + } DeviceChannel deviceChannel = new DeviceChannel(); deviceChannel.setChannelId(gbStream.getGbId()); deviceChannel.setName(gbStream.getName()); @@ -120,13 +129,15 @@ deviceChannel.setStatus(gbStream.isStatus()?1:0); deviceChannel.setParentId(gbStream.getCatalogId()); deviceChannel.setRegisterWay(1); - deviceChannel.setCivilCode(config.getDomain()); + deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6)); deviceChannel.setModel("live"); deviceChannel.setOwner("wvp-pro"); deviceChannel.setParental(0); deviceChannel.setSecrecy("0"); cmderFroPlatform.catalogQuery(deviceChannel, parentPlatform, sn, fromHeader.getTag(), size); + // 闃叉鍙戦�佽繃蹇� + Thread.sleep(100); } } if (size == 0) { -- Gitblit v1.8.0