From 0327d1602156510225e695a94147181d9f5db33b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 17 二月 2022 15:33:25 +0800
Subject: [PATCH] 优化级联平台删除

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java |    9 +++++++--
 web_src/src/components/dialog/getCatalog.vue                                 |    8 +++-----
 src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java    |    4 ++--
 3 files changed, 12 insertions(+), 9 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 5827985..b1158bc 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
@@ -118,14 +118,14 @@
         TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
         try {
             List<DeviceChannel> deviceChannelList = new ArrayList<>();
+            platformGbStreamMapper.delByAppAndStreamsByPlatformId(gbStreams, platformId);
             for (GbStream gbStream : gbStreams) {
-                platformGbStreamMapper.delByAppAndStreamAndPlatform(gbStream.getApp(), gbStream.getStream(), platformId);
                 DeviceChannel deviceChannel = new DeviceChannel();
                 deviceChannel.setChannelId(gbStream.getGbId());
                 deviceChannelList.add(deviceChannel);
-                eventPublisher.catalogEventPublish(platformId, deviceChannel, CatalogEvent.DEL);
             }
 
+            eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
             dataSourceTransactionManager.commit(transactionStatus);     //鎵嬪姩鎻愪氦
             result = true;
         }catch (Exception e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
index 1e15360..85310ed 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
@@ -95,6 +95,11 @@
             "</script>")
     void delByGbStreams(List<GbStream> gbStreams);
 
-
-
+    @Delete("<script> "+
+            "DELETE FROM platform_gb_stream where " +
+            "<foreach collection='gbStreams' item='item' separator='or'>" +
+            "(app=#{item.app} and stream=#{item.stream}) and platformId=#{platformId}" +
+            "</foreach>" +
+            "</script>")
+    void delByAppAndStreamsByPlatformId(List<GbStream> gbStreams, String platformId);
 }
diff --git a/web_src/src/components/dialog/getCatalog.vue b/web_src/src/components/dialog/getCatalog.vue
index a146889..62bacdb 100644
--- a/web_src/src/components/dialog/getCatalog.vue
+++ b/web_src/src/components/dialog/getCatalog.vue
@@ -119,12 +119,10 @@
                 if (res.data.code === 0) {
                   this.platformName = res.data.data.name;
                   this.defaultCatalogId = res.data.data.catalogId;
+                  this.defaultCatalogIdSign = res.data.data.catalogId;
+                  this.chooseId = res.data.data.catalogId;
                   resolve([
-                    {
-                      name: "鏈垎閰�",
-                      id:  null,
-                      type:  -1
-                    },{
+                   {
                       name: this.platformName,
                       id:  this.platformId,
                       type:  0

--
Gitblit v1.8.0