From c7be2ef037c5aebb0cd8f1f33e5fa934389e6083 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 26 十月 2022 17:51:43 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java |  159 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 120 insertions(+), 39 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 bbc1931..675a20b 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
@@ -6,19 +6,19 @@
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.domain.CommonPage;
 import com.sandu.common.domain.ResponseVO;
+import com.sandu.common.execption.BusinessException;
 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;
-import com.sandu.ximon.admin.param.PoleBindingParam;
-import com.sandu.ximon.admin.param.PoleParam;
-import com.sandu.ximon.admin.param.PoleStatesParam;
+import com.sandu.ximon.admin.dto.DeviceStatusDto;
+import com.sandu.ximon.admin.param.*;
 import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.AirEquipmentService;
 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.utils.response.VnnoxResult;
 import com.sandu.ximon.admin.vo.PoleBindVO;
 import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.enums.MenuEnum;
@@ -71,48 +71,40 @@
     }
 
     @PostMapping("/listDetail")
-    public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
+    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 = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
+        List<Pole> listCommonPage = (List<Pole>) commonPage.getList();
 
         List<PoleBindVO> listResult = new ArrayList<>();
-        for (Pole pole : results) {
+        for (Pole pole : listCommonPage) {
             PoleBindVO bindByPoleId = poleService.getBindByPoleId(pole.getId());
             bindByPoleId.setPole(pole);
             listResult.add(bindByPoleId);
         }
-
-        CommonPage commonPage = CommonPage.restPage(listResult);
-        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.setList(listResult);
         return ResponseUtil.success(commonPage);
     }
 
     @PostMapping("/list")
-    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
+    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("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        List<Pole> results = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param);
+        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
 
-        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);
     }
 
+    //宸插惎鐢�
     @GetMapping("/listPoleAndState")
     public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                                @RequestParam(value = "groupid", required = false) Long groupid) {
@@ -127,7 +119,7 @@
     /**
      * 鍦ㄧ嚎鏁伴噺
      */
-    @AnonymousAccess
+//    @AnonymousAccess
     @GetMapping("/online")
     public ResponseVO<Object> online() {
         return ResponseUtil.success(poleService.poleCount());
@@ -137,17 +129,29 @@
     /**
      * 璁剧疆涓夊厓鐮�
      */
+    @AnonymousAccess
     @PostMapping("/setMac/{baseMac}")
     public ResponseVO<Object> setMac(@PathVariable String baseMac) {
-        if (!permissionConfig.check(MenuEnum.POLE_REAL_ADD.getCode())) {
+        //鍒ゆ柇鏄惁鏄湁璁剧疆涓夊厓鐮佹潈闄�
+        if (!permissionConfig.check(MenuEnum.BASE_DEVICE_01.getCode()) && MenuEnum.BASE_DEVICE_01.getCode().equals(baseMac)) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_02.getCode()) && MenuEnum.BASE_DEVICE_02.getCode().equals(baseMac)) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_03.getCode()) && MenuEnum.BASE_DEVICE_03.getCode().equals(baseMac)) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_04.getCode()) && MenuEnum.BASE_DEVICE_04.getCode().equals(baseMac)) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_05.getCode()) && MenuEnum.BASE_DEVICE_05.getCode().equals(baseMac)) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
+
         return ResponseUtil.success(poleService.setMac(baseMac));
     }
 
     /**
      * 鎭㈠鐏潌鍑哄巶璁剧疆
      */
+    @AnonymousAccess
     @PostMapping("/poleReset/{poleId}")
     public ResponseVO<Object> poleReset(@PathVariable Long poleId) {
         if (!permissionConfig.check(MenuEnum.POLE_REAL_RESET.getCode())) {
@@ -156,7 +160,6 @@
         return ResponseUtil.success(poleService.poleReset(poleId));
     }
 
-//TODO  璁惧鐨勭粦瀹氳В缁戦兘瑕佸崟鐙噸鏂板鐞�
 
     /**
      * 鐏潌缁戝畾璁惧
@@ -213,14 +216,14 @@
     }
 
     /**
-     * 鐏潌缁戝畾璁惧
+     * 鐏潌瑙g粦璁惧
      */
     @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());
+        boolean result = poleService.unBindPole(poleId, param.getDeviceCode(),param.getDeviceType());
         if (result) {
             //璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�, 10鐔欒, 11鍐滆��
             switch (param.getDeviceType().toString()) {
@@ -265,6 +268,7 @@
         }
     }
 
+    @AnonymousAccess
     @PostMapping("/listStatusByDeviceCode")
     public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
         if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
@@ -283,6 +287,62 @@
         return ResponseUtil.success(statusList);
     }
 
+
+    /**
+     * 鏌ヨ鏄惁瀛樺湪鍙敞鍐岃澶�
+     *
+     * @param
+     * @return
+     */
+    @AnonymousAccess
+    @PostMapping("/isRegisterByCode")
+    public ResponseVO<Object> getStatusByCode() {
+        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        ArrayList<String> deviceCodeList = new ArrayList<>();
+        deviceCodeList.add("baseDevice01");
+        deviceCodeList.add("baseDevice02");
+        deviceCodeList.add("baseDevice03");
+        deviceCodeList.add("baseDevice04");
+        deviceCodeList.add("baseDevice05");
+        for (String s : deviceCodeList) {
+            if (s == null) {
+                return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
+            }
+
+        }
+        if (ArrayUtil.isEmpty(deviceCodeList)) {
+            return ResponseUtil.fail("鍙傛暟涓嶈兘涓虹┖");
+        }
+        List<DeviceStatus> statusList = poleService.listStatusByDeviceCode(deviceCodeList);
+        List<DeviceStatusDto> list = new ArrayList<>();
+        String s = "baseDevice0";
+        for (int i = 0; i < deviceCodeList.size(); i++) {
+            DeviceStatusDto dto = new DeviceStatusDto();
+            dto.setDeviceCode(s + (i + 1));
+            dto.setName(s + (i + 1));
+            list.add(dto);
+        }
+
+        statusList.forEach(
+                status -> {
+                    list.forEach(
+                            dto -> {
+                                if (status.getDeviceCode().equals(dto.getDeviceCode())) {
+                                    //status=1鏃�  璁惧鍙互娉ㄥ唽
+                                    if (status.getStatus() == 1) {
+                                        dto.setStatus(1);
+                                    }
+                                }
+                            }
+                    );
+                }
+        );
+        return ResponseUtil.success(list);
+    }
+
+
     @PostMapping("/ClientBindingPole")
     public ResponseVO<Object> ClientBindingPole(@RequestBody PoleBindParam param) {
         if (!permissionConfig.check(MenuEnum.CLIENT_BINDING_POLE.getCode())) {
@@ -291,9 +351,17 @@
         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()));
+    }
+
 
     /**
-     * 鏌ユ壘鑷繁鎷ユ湁鐨勭伅鏉�
+     * 鏌ユ壘鎷ユ湁鐨勭伅鏉�
      */
     @PostMapping("/getOwnerPole/{cilentId}")
     public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
@@ -306,9 +374,8 @@
     }
 
     /**
-     * 鏌ョ湅鐏潌缁戝畾鐨勮澶�
+     * 鏌ョ湅鐏潌缁戝畾鐨勮澶�   //宸插悎骞跺埌鍒楄〃鍔熻兘 姝ゆ帴鍙e凡搴熷純
      */
-    @AnonymousAccess
     @PostMapping("/getPoleBindDevice/{poleId}")
     public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
         if (!permissionConfig.check(MenuEnum.GET_POLE_BINDING.getCode())) {
@@ -321,19 +388,25 @@
     /**
      * 鎺ㄩ�佸ぇ姘旇澶囧埌璇虹摝
      */
-    @AnonymousAccess
-    @GetMapping("/pushAidDataToNova/{poleId}")
-    public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) {
+    @PostMapping("/pushAidDataToNova")
+    public ResponseVO<Object> pushAirDataToNova(@RequestBody @Validated PushAirDataToNovaParam param) {
         if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_NOVA.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        return ResponseUtil.success(poleService.pushAirDataToNova(poleId));
+        if (param.getDuration() <= 0 || param.getDuration() > 86400000) {
+            throw new BusinessException("鎾斁鏃堕棿闇�澶т簬闆朵笖灏忎簬86400000 !");
+        }
+        VnnoxResult vnnoxResult = poleService.pushAirDataToNova(param);
+        if (vnnoxResult == null && vnnoxResult.getSuccess() != null && vnnoxResult.getSuccess().size() != 0) {
+            return ResponseUtil.success("鎺ㄩ�佹垚鍔�");
+        } else {
+            return ResponseUtil.fail("鎺ㄩ�佸け璐�");
+        }
     }
 
     /**
      * 鎺ㄩ�佸ぇ姘旇澶囧埌鐔欒
      */
-    @AnonymousAccess
     @GetMapping("/pushAirDataToXiXun/{poleId}")
     public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
         if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_XIXUN.getCode())) {
@@ -342,4 +415,12 @@
         return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
     }
 
+
+    @AnonymousAccess
+    @PostMapping("/setRedis")
+    public ResponseVO<Object> pushAirDataToXiXun() {
+        poleService.setRedis();
+        return ResponseUtil.success("鏇存柊鐘舵�佸畬鎴�");
+    }
+
 }

--
Gitblit v1.9.3