From e14c003f6ff4e78740359828c39674507f134c45 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 11 五月 2022 11:43:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java |   96 +++++++++++++++++++++++++++++------------------
 1 files changed, 59 insertions(+), 37 deletions(-)

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 ae99367..b90a64b 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
@@ -75,6 +75,13 @@
         if (pole == null) {
             throw new BusinessException("鏈壘鍒拌鐏潌");
         }
+        Long clientId = SecurityUtils.getClientId();
+        //闈炶秴绠�
+        if (clientId != null) {
+            if (!Objects.equals(SecurityUtils.getUserId(), pole.getUserId()) && !Objects.equals(SecurityUtils.getUserId(), pole.getClientId())) {
+                throw new BusinessException("璇ョ伅鏉嗕笉灞炰簬鎮�");
+            }
+        }
         Pole update = new Pole();
         BeanUtils.copyProperties(param, update);
         update.setId(poleId);
@@ -286,28 +293,44 @@
             );
             list = pole;
         }
-
-        if (param.getBingStates() != 2) {//鏄惁缁戝畾
-            list = isBind(list, param);//   缁戝畾/鏈粦瀹�
-            if (param.getIsTrue() != 2) {//宸茬粦瀹氱殑鏄惁鏄湡瀹炵伅鏉�
+        //鏄惁缁戝畾
+        if (param.getBingStates() != 2) {
+            //   缁戝畾/鏈粦瀹�
+            list = isBind(list, param);
+            //宸茬粦瀹氱殑鏄惁鏄湡瀹炵伅鏉�
+            if (param.getIsTrue() != 2) {
                 list = isTrue(list, param);
-                if (param.getOnLineStates() != 2) {//缁戝畾鐨勭湡瀹炵伅鏉嗘槸鍚﹀湪绾�
-                    list = isOnLine(list, param);
-                }
-            } else {//鍏ㄩ儴鐏潌  瀹炰綋/铏氭嫙
-                if (param.getOnLineStates() != 2) {  //鏌ヨ鍏ㄩ儴鐏潌鏄惁鍦ㄧ嚎
+                //缁戝畾鐨勭湡瀹炵伅鏉嗘槸鍚﹀湪绾�
+                if (param.getOnLineStates() != 2) {
                     list = isOnLine(list, param);
                 }
             }
-        } else {//鍏ㄩ儴 缁戝畾/鏈粦瀹�
-            if (param.getIsTrue() != 2) {// 鍒ゆ柇鐏潌绫诲瀷
-                list = isTrue(list, param);// 瀹炰綋/铏氭嫙
-                if (param.getOnLineStates() != 2) {// 鐏潌鐨勫湪绾垮垽鏂�
-                    list = isOnLine(list, param);//鍦ㄧ嚎/绂荤嚎
+            //鍏ㄩ儴鐏潌  瀹炰綋/铏氭嫙
+            else {
+                //鏌ヨ鍏ㄩ儴鐏潌鏄惁鍦ㄧ嚎
+                if (param.getOnLineStates() != 2) {
+                    list = isOnLine(list, param);
                 }
-            } else {//鍏ㄧ被鍨嬬伅鏉�
-                if (param.getOnLineStates() != 2) {//鍒ゆ柇鍦ㄧ嚎鐘舵��
-                    list = isOnLine(list, param);//鍦ㄧ嚎/绂荤嚎
+            }
+        }
+        //鍏ㄩ儴 缁戝畾/鏈粦瀹�
+        else {
+            // 鍒ゆ柇鐏潌绫诲瀷
+            if (param.getIsTrue() != 2) {
+                // 瀹炰綋/铏氭嫙
+                list = isTrue(list, param);
+                // 鐏潌鐨勫湪绾垮垽鏂�
+                if (param.getOnLineStates() != 2) {
+                    //鍦ㄧ嚎/绂荤嚎
+                    list = isOnLine(list, param);
+                }
+            }
+            //鍏ㄧ被鍨嬬伅鏉�
+            else {
+                //鍒ゆ柇鍦ㄧ嚎鐘舵��
+                if (param.getOnLineStates() != 2) {
+                    //鍦ㄧ嚎/绂荤嚎
+                    list = isOnLine(list, param);
                 }
             }
         }
@@ -317,16 +340,21 @@
     }
 
     /**
-     * 璁剧疆缁戝畾璁惧鏁伴噺
+     * 鑾峰彇缁戝畾璁惧璇︽儏
      *
      * @param list
      * @return
      */
     public List<Pole> setCount(List<Pole> list) {
-        for (Pole post : list) {
-            int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-//                    System.out.println("size:----------------------"+size);
-            post.setBindingCount(size);
+        BindEquipments bindEquipments;
+        for (Pole pole : list) {
+            bindEquipments = new BindEquipments();
+            List<PoleBinding> poleBindings = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, pole.getId()));
+            pole.setBindingCount(poleBindings.size());
+            for (PoleBinding poleBinding : poleBindings) {
+                bindEquipments.setInfo(poleBinding.getDeviceType());
+            }
+            pole.setBindEquipments(bindEquipments);
         }
         return list;
     }
@@ -408,11 +436,14 @@
     }
 
     public List<Pole> isTrue(List<Pole> list, PoleStatesParam param) {
-        List<Pole> isTrue = new ArrayList<>();//瀹炰綋鐏潌
-        List<Pole> isFalse = new ArrayList<>();//铏氭嫙鐏潌
+        //瀹炰綋鐏潌
+        List<Pole> isTrue = new ArrayList<>();
+        //铏氭嫙鐏潌
+        List<Pole> isFalse = new ArrayList<>();
         list.forEach(bindwarpper -> {
 //                Long clientId = bindwarpper.getClientId();
-            if (bindwarpper.getDeviceCode() == null) {
+            //鍒ゆ柇鏄惁缁戝畾
+            if (bindwarpper.getDeviceType() == -1) {
                 isFalse.add(bindwarpper);
             } else {
                 isTrue.add(bindwarpper);
@@ -447,16 +478,13 @@
         if (deviceStatuses != null) {
             for (Pole post : list) {
                 for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
-//                System.out.println("DeviceCode:---------------------"+post.getDeviceCode());
-//                System.out.println("DeviceName:---------------------"+deviceStatus.getDeviceName());
+
                     if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
                         post.setOnLineState(deviceStatus.getStatus());
-//                        int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-////                    System.out.println("size:----------------------"+size);
-//                        post.setBindingCount(size);
+
                     }
                 }
-                //  MacCodes.add(post.getDeviceCode());
+
             }
         }
 
@@ -470,8 +498,6 @@
      * @return
      */
     public List<Pole> queryStatesAndList(Integer pageNo, Integer pageSize, String keyword, Long groupid) {
-        // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class).eq(LampPost::getClientId, SecurityUtils.getUserId()));
-        //List<Pole> list = list(Wrappers.lambdaQuery(Pole.class));
         PageHelper.startPage(pageNo, pageSize);
         List<Pole> list = new ArrayList<>();
         LambdaQueryWrapper<Pole> wrapper = new LambdaQueryWrapper<>();
@@ -496,16 +522,12 @@
         List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
         for (Pole post : list) {
             for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
-//                System.out.println("DeviceCode:---------------------"+post.getDeviceCode());
-//                System.out.println("DeviceName:---------------------"+deviceStatus.getDeviceName());
                 if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
                     post.setOnLineState(deviceStatus.getStatus());
                     int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-//                    System.out.println("size:----------------------"+size);
                     post.setBindingCount(size);
                 }
             }
-            //  MacCodes.add(post.getDeviceCode());
         }
 
 

--
Gitblit v1.9.3