From 221f99c764b51c3cd284c6e5a41492c26c5c7ffc Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 09 九月 2022 17:06:19 +0800 Subject: [PATCH] 优化sip消息 --- src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java index 0ce898e..da11b16 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import java.util.ArrayList; @@ -78,7 +79,7 @@ gbStream.setPlatformId(platformId); // TODO 淇敼涓烘壒閲忔彁浜� platformGbStreamMapper.add(gbStream); - DeviceChannel deviceChannelListByStream = getDeviceChannelListByStream(gbStream, catalogId, parentPlatform); + DeviceChannel deviceChannelListByStream = getDeviceChannelListByStreamWithStatus(gbStream, catalogId, parentPlatform); deviceChannelList.add(deviceChannelListByStream); } dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦 @@ -168,7 +169,7 @@ public void sendCatalogMsgs(List<GbStream> gbStreams, String type) { if (gbStreams.size() > 0) { for (GbStream gs : gbStreams) { - if (StringUtils.isEmpty(gs.getGbId())){ + if (ObjectUtils.isEmpty(gs.getGbId())){ continue; } List<ParentPlatform> parentPlatforms = platformGbStreamMapper.selectByAppAndStream(gs.getApp(), gs.getStream()); @@ -187,4 +188,46 @@ public int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate) { return gbStreamMapper.updateGbIdOrName(streamPushItemForUpdate); } + + @Override + public DeviceChannel getDeviceChannelListByStreamWithStatus(GbStream gbStream, String catalogId, ParentPlatform platform) { + DeviceChannel deviceChannel = new DeviceChannel(); + deviceChannel.setChannelId(gbStream.getGbId()); + deviceChannel.setName(gbStream.getName()); + deviceChannel.setLongitude(gbStream.getLongitude()); + deviceChannel.setLatitude(gbStream.getLatitude()); + deviceChannel.setDeviceId(platform.getDeviceGBId()); + deviceChannel.setManufacture("wvp-pro"); + // todo 鐩墠鏄瘡涓�鏉℃煡璇竴娆★紝闇�瑕佷紭鍖� + Boolean status = null; + if ("proxy".equals(gbStream.getStreamType())) { + status = gbStreamMapper.selectStatusForProxy(gbStream.getApp(), gbStream.getStream()); + }else { + status = gbStreamMapper.selectStatusForPush(gbStream.getApp(), gbStream.getStream()); + } + deviceChannel.setStatus((status != null && status )?1:0); + + deviceChannel.setRegisterWay(1); + deviceChannel.setCivilCode(platform.getAdministrativeDivision()); + + if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){ + deviceChannel.setCivilCode(catalogId); + }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){ + PlatformCatalog catalog = catalogMapper.select(catalogId); + if (catalog == null) { + deviceChannel.setParentId(platform.getDeviceGBId()); + deviceChannel.setBusinessGroupId(null); + }else { + deviceChannel.setParentId(catalog.getId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); + } + + } + + deviceChannel.setModel("live"); + deviceChannel.setOwner("wvp-pro"); + deviceChannel.setParental(0); + deviceChannel.setSecrecy("0"); + return deviceChannel; + } } -- Gitblit v1.8.0