From 33ecbd69aca2ccc58d47f467f3f7266b37fa9dfc Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 27 五月 2022 18:44:38 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java |  195 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 145 insertions(+), 50 deletions(-)

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 fe7300e..e68119d 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
@@ -2,10 +2,12 @@
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ArrayUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.domain.CommonPage;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.object.BaseConditionVO;
+import com.sandu.common.security.annotation.AnonymousAccess;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.dto.DeviceStatus;
 import com.sandu.ximon.admin.param.PoleBindParam;
@@ -17,12 +19,15 @@
 import com.sandu.ximon.admin.service.IpVolumeService;
 import com.sandu.ximon.admin.service.MonitorService;
 import com.sandu.ximon.admin.service.PoleService;
+import com.sandu.ximon.admin.vo.PoleBindVO;
 import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.enums.MenuEnum;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -43,43 +48,79 @@
 
     @PostMapping("/add")
     public ResponseVO<Object> addPole(@RequestBody @Validated PoleParam param) {
+        if (!permissionConfig.check(MenuEnum.POLE_VIRTUAL_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.addPole(param));
     }
 
     @PostMapping("/update/{poleId}")
     public ResponseVO<Object> updatePole(@PathVariable Long poleId, @RequestBody @Validated PoleParam param) {
+        if (!permissionConfig.check(MenuEnum.POLE_UPDATE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.updatePole(poleId, param));
     }
 
     @PostMapping("/delete/{poleId}")
     public ResponseVO<Object> deletePole(@PathVariable Long poleId) {
+        if (!permissionConfig.check(MenuEnum.POLE_DELETE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.deletePole(poleId));
     }
 
-    @PostMapping("/list")
-    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
-        if(!permissionConfig.check(MenuEnum.POLE_LIST.getCode())){
+    @PostMapping("/listDetail")
+    public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO,
+                                             @RequestBody PoleStatesParam param,
+                                             @RequestParam(value = "order", required = false) Integer order,
+                                             @RequestParam(value = "seq", required = false) Integer seq) {
+        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        List<Pole> results = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),param);
-        CommonPage commonPage = CommonPage.restPage(results);
-        int size = results.size();
-        commonPage.setTotal((long) size);
-        commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
-        if (size % baseConditionVO.getPageSize() == 0) {
-            commonPage.setTotalPage(size / baseConditionVO.getPageSize());
+        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
+        List<Pole> listCommonPage = (List<Pole>) commonPage.getList();
+
+        List<PoleBindVO> listResult = new ArrayList<>();
+        for (Pole pole : listCommonPage) {
+            PoleBindVO bindByPoleId = poleService.getBindByPoleId(pole.getId());
+            bindByPoleId.setPole(pole);
+            listResult.add(bindByPoleId);
         }
+        commonPage.setList(listResult);
         return ResponseUtil.success(commonPage);
-       // return ResponseUtil.success(poles);
+    }
+
+    @PostMapping("/list")
+    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO,
+                                       @RequestBody PoleStatesParam param,
+                                       @RequestParam(value = "order", required = false) Integer order,
+                                       @RequestParam(value = "seq", required = false) Integer seq) {
+        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
+
+        return ResponseUtil.success(commonPage);
     }
 
     @GetMapping("/listPoleAndState")
     public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                                @RequestParam(value = "groupid", required = false) Long groupid) {
+        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),keyword,groupid);
+        List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), keyword, groupid);
         return ResponseUtil.successPage(poles);
+    }
+
+    /**
+     * 鍦ㄧ嚎鏁伴噺
+     */
+    @GetMapping("/online")
+    public ResponseVO<Object> online() {
+        return ResponseUtil.success(poleService.poleCount());
     }
 
 
@@ -88,9 +129,10 @@
      */
     @PostMapping("/setMac/{baseMac}")
     public ResponseVO<Object> setMac(@PathVariable String baseMac) {
-        //public ResponseVO<Object> setMac() {
+        if (!permissionConfig.check(MenuEnum.POLE_REAL_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.setMac(baseMac));
-        // return ResponseUtil.success(poleService.setMac());
     }
 
     /**
@@ -98,41 +140,56 @@
      */
     @PostMapping("/poleReset/{poleId}")
     public ResponseVO<Object> poleReset(@PathVariable Long poleId) {
+        if (!permissionConfig.check(MenuEnum.POLE_REAL_RESET.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.poleReset(poleId));
     }
 
-//TODO  璁惧鐨勭粦瀹氳В缁戦兘瑕佸崟鐙噸鏂板鐞�
 
     /**
      * 鐏潌缁戝畾璁惧
      */
     @PostMapping("/bind/{poleId}")
     public ResponseVO<Object> bindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+        if (!permissionConfig.check(MenuEnum.BINDING.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         boolean result = poleService.bindPole(poleId, param);
         if (result) {
-            //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�
-            switch (param.getDeviceType()) {
-                case 0:
+            //璁惧绫诲瀷锛�0璺伅锛�1nove锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+            switch (param.getDeviceType().toString()) {
+                case PoleBindingEnums.LIGHT:
+                    Pole pole = poleService.getById(poleId);
+                    if (pole != null) {
+                        pole.setPoleName(param.getDeviceName());
+                        pole.setDeviceCode(param.getDeviceCode());
+                        poleService.updateById(pole);
+                    }
                     break;
-                case 1:
+                case PoleBindingEnums.VONNOX:
                     break;
-                case 2:
+                case PoleBindingEnums.CHARGING_PILE:
                     break;
-                case 3:
+                case PoleBindingEnums.ATMOSPHERIC:
                     break;
-                case 4:
+                case PoleBindingEnums.WATER:
                     break;
-                case 5:
+                case PoleBindingEnums.IPVOLUME:
                     broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue());
                     break;
-                case 6:
+                case PoleBindingEnums.LCD_ADVERTISING:
                     break;
-                case 7:
+                case PoleBindingEnums.MONITOR:
                     monitorService.updateBingdingState(true, param.getDeviceCode());
                     break;
-                case 8:
+                case PoleBindingEnums.LIGHTPOLEHEELING:
                     break;
-                case 9:
+                case PoleBindingEnums.FOR_HELP:
+                    break;
+                case PoleBindingEnums.XIXUN:
+                    break;
+                case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
                     break;
                 default:
                     break;
@@ -149,31 +206,43 @@
      */
     @PostMapping("/unBind/{poleId}")
     public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+        if (!permissionConfig.check(MenuEnum.UNBIND.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
         if (result) {
-            //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�
-            switch (param.getDeviceType()) {
-                case 0:
+            //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
+            switch (param.getDeviceType().toString()) {
+                case PoleBindingEnums.LIGHT:
+                    //鍒犻櫎鐏潌鐨刣evicescode
+                    Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
+                    if (pole != null) {
+                        poleService.updateDeviceCode(pole.getId());
+                    }
                     break;
-                case 1:
+                case PoleBindingEnums.VONNOX:
                     break;
-                case 2:
+                case PoleBindingEnums.CHARGING_PILE:
                     break;
-                case 3:
+                case PoleBindingEnums.ATMOSPHERIC:
                     break;
-                case 4:
+                case PoleBindingEnums.WATER:
                     break;
-                case 5:
+                case PoleBindingEnums.IPVOLUME:
                     broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue());
                     break;
-                case 6:
+                case PoleBindingEnums.LCD_ADVERTISING:
                     break;
-                case 7:
+                case PoleBindingEnums.MONITOR:
                     monitorService.updateBingdingState(false, param.getDeviceCode());
                     break;
-                case 8:
+                case PoleBindingEnums.LIGHTPOLEHEELING:
                     break;
-                case 9:
+                case PoleBindingEnums.FOR_HELP:
+                    break;
+                case PoleBindingEnums.XIXUN:
+                    break;
+                case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
                     break;
                 default:
                     break;
@@ -187,6 +256,9 @@
 
     @PostMapping("/listStatusByDeviceCode")
     public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
+        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         for (String s : deviceCodeList) {
             if (s == null) {
                 return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
@@ -202,7 +274,10 @@
 
     @PostMapping("/ClientBindingPole")
     public ResponseVO<Object> ClientBindingPole(@RequestBody PoleBindParam param) {
-        return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));//////////////
+        if (!permissionConfig.check(MenuEnum.CLIENT_BINDING_POLE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));
     }
 
 
@@ -211,16 +286,11 @@
      */
     @PostMapping("/getOwnerPole/{cilentId}")
     public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
-            ,@PathVariable Long cilentId) {
+            , @PathVariable Long cilentId) {
+        if (!permissionConfig.check(MenuEnum.GET_CLIENT_POLE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         List<Pole> results = poleService.getOwnerPole(baseConditionVO, keyword, cilentId);
-//        CommonPage commonPage = CommonPage.restPage(results);
-//        int size = results.size();
-//        commonPage.setTotal((long) size);
-//        commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
-//        if (size % baseConditionVO.getPageSize() == 0) {
-//            commonPage.setTotalPage(size / baseConditionVO.getPageSize());
-//        }
-//        return ResponseUtil.success(commonPage);
         return ResponseUtil.success(results);
     }
 
@@ -229,8 +299,33 @@
      */
     @PostMapping("/getPoleBindDevice/{poleId}")
     public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
+        if (!permissionConfig.check(MenuEnum.GET_POLE_BINDING.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         return ResponseUtil.success(poleService.getBindByPoleId(poleId));
     }
 
 
+    /**
+     * 鎺ㄩ�佸ぇ姘旇澶囧埌璇虹摝
+     */
+    @GetMapping("/pushAidDataToNova/{poleId}")
+    public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) {
+        if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_NOVA.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(poleService.pushAirDataToNova(poleId));
+    }
+
+    /**
+     * 鎺ㄩ�佸ぇ姘旇澶囧埌鐔欒
+     */
+    @GetMapping("/pushAirDataToXiXun/{poleId}")
+    public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
+        if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_XIXUN.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
+    }
+
 }

--
Gitblit v1.9.3