From ba8fffd907b5c3a7acfd3348c80e557b816cec98 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 03 七月 2023 16:53:03 +0800 Subject: [PATCH] 增加与第三方对接的接口 --- src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 57 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 28 insertions(+), 29 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 89acb06..5b5cd0b 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 @@ -41,6 +41,9 @@ private PlatformGbStreamMapper platformGbStreamMapper; @Autowired + private SubscribeHolder subscribeHolder; + + @Autowired private ParentPlatformMapper platformMapper; @Autowired @@ -73,16 +76,23 @@ } try { List<DeviceChannel> deviceChannelList = new ArrayList<>(); - for (GbStream gbStream : gbStreams) { + + + for (int i = 0; i < gbStreams.size(); i++) { + GbStream gbStream = gbStreams.get(i); gbStream.setCatalogId(catalogId); gbStream.setPlatformId(platformId); // TODO 淇敼涓烘壒閲忔彁浜� platformGbStreamMapper.add(gbStream); + logger.info("[鍏宠仈閫氶亾]鐩存挱娴侀�氶亾 骞冲彴锛歿}, 鍏遍渶鍏宠仈閫氶亾鏁�:{}, 宸插叧鑱旓細{}", platformId, gbStreams.size(), i + 1); DeviceChannel deviceChannelListByStream = getDeviceChannelListByStreamWithStatus(gbStream, catalogId, parentPlatform); deviceChannelList.add(deviceChannelListByStream); } dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦 - eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.ADD); + if (subscribeHolder.getCatalogSubscribe(platformId) != null) { + eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.ADD); + } + result = true; }catch (Exception e) { logger.error("鎵归噺淇濆瓨娴佷笌骞冲彴鐨勫叧绯绘椂閿欒", e); @@ -103,20 +113,15 @@ deviceChannel.setStatus(gbStream.isStatus()?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()); - } - + PlatformCatalog catalog = catalogMapper.select(catalogId); + if (catalog != null) { + deviceChannel.setCivilCode(catalog.getCivilCode()); + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); + }else { + deviceChannel.setCivilCode(platform.getAdministrativeDivision()); + deviceChannel.setParentId(platform.getDeviceGBId()); } deviceChannel.setModel("live"); @@ -211,20 +216,14 @@ 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()); - } - + PlatformCatalog catalog = catalogMapper.select(catalogId); + if (catalog != null) { + deviceChannel.setCivilCode(catalog.getCivilCode()); + deviceChannel.setParentId(catalog.getParentId()); + deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId()); + }else { + deviceChannel.setCivilCode(platform.getAdministrativeDivision()); + deviceChannel.setParentId(platform.getDeviceGBId()); } deviceChannel.setModel("live"); -- Gitblit v1.8.0