From 5e2fe6ce6e80dea99f6eda304dba6fafbb30ad63 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 09 九月 2022 11:34:13 +0800
Subject: [PATCH] 灯杆解绑fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java       |   26 ++++++++++++++++++++++++++
 dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java                      |    1 +
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java |    8 ++++++++
 3 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java b/dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java
index 42674f1..26e4e57 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/enums/MenuEnum.java
@@ -139,6 +139,7 @@
     UNBIND("瑙g粦璁惧"),
     GET_STATE_BY_DEVICECODE("鎵归噺鑾峰彇璁惧鐘舵��"),
     CLIENT_BINDING_POLE("鐏潌缁戝畾瀹㈡埛"),
+    CLIENT_UNBINDING_POLE("鐏潌瑙g粦瀹㈡埛"),
     GET_CLIENT_POLE("鏌ョ湅瀹㈡埛鐨勭伅鏉�"),
     GET_POLE_BINDING("鏌ョ湅鐏潌缁戝畾鐨勮澶�"),
     PUSH_AIR_DATA_TO_NOVA("鎺ㄩ�佸ぇ姘旀暟鎹埌璇虹摝"),
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index 54ff463..823041d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -351,6 +351,14 @@
         return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));
     }
 
+    @PostMapping("/ClientUnBindingPole")
+    public ResponseVO<Object> ClientUnBindingPole(@RequestBody PoleBindParam param) {
+        if (!permissionConfig.check(MenuEnum.CLIENT_UNBINDING_POLE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(poleService.ClientUnBindingPole(param.getClientId(), param.getPoleIds()));
+    }
+
 
     /**
      * 鏌ユ壘鎷ユ湁鐨勭伅鏉�
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index 5838125..9263b66 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -731,6 +731,32 @@
         return r;
     }
 
+    /**
+     * 鐢ㄦ埛瑙g粦鐏潌
+     *
+     * @param clientId
+     * @param poleIds
+     * @return
+     */
+    public boolean ClientUnBindingPole(long clientId, int[] poleIds) {
+        boolean r = false;
+        for (int poleId : poleIds) {
+            Pole pole = getById(poleId);
+            if (pole == null) {
+                throw new BusinessException("鐏潌涓嶅瓨鍦�");
+            }
+            pole.setUserId(-1L);
+            pole.setClientId(-1L);
+            r = updateById(pole);
+
+            if (!r) {
+                throw new BusinessException("鐏潌ID涓�" + poleId + "璁剧疆澶辫触,鑷姩鍋滄");
+            }
+
+        }
+        return r;
+    }
+
 
     public List<Pole> getOwnerPole(BaseConditionVO baseConditionVO, String keyword, Long cilentId) {
         LambdaQueryWrapper<Pole> eq;

--
Gitblit v1.9.3