From b34d941094d11e21e21a2ceead8a9fdeee640e2d Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 27 五月 2022 11:20:55 +0800
Subject: [PATCH] 列表

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java |  123 ++++++++++++++++++++++++++++++++++------
 1 files changed, 104 insertions(+), 19 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index dbb3a1b..8c0a542 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -8,14 +8,18 @@
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
+import com.sandu.ximon.admin.dto.YSY_MonitorDto;
 import com.sandu.ximon.admin.param.MonitorParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.ListPagingUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
+import com.sandu.ximon.admin.vo.EquipmentInfomation;
 import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
-import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
-import com.sandu.ximon.admin.dto.YSY_MonitorDto;
 import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.MonitorMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -99,6 +103,11 @@
             }
         }
 
+        if (baseConditionVO == null) {
+            baseConditionVO = new BaseConditionVO();
+            baseConditionVO.setPageSize(null);
+            baseConditionVO.setPageNo(null);
+        }
         CommonPage commonPage = ListPagingUtils.pages(temp, baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
         return commonPage;
     }
@@ -154,6 +163,16 @@
             //鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
             poleBindingService.unBindPole(null, monitor.getDeviceSerial());
         }
+        /**
+         * 鍒犻櫎鎽勫儚澶存棩蹇楄褰曞紑濮�
+         */
+        String content = "{鎽勫儚澶碈ode锛�" + monitor.getDeviceSerial() + "锛� 鎽勫儚澶村悕绉帮細" + monitor.getDeviceName() + " }";
+        List<String> listCode = new ArrayList<>();
+        listCode.add(monitor.getDeviceSerial());
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎鎽勫儚澶�", content);
+        /**
+         * 鍒犻櫎鎽勫儚澶存棩蹇楄褰曠粨鏉�
+         */
         return removeById(Id);
     }
 
@@ -206,20 +225,40 @@
      *
      * @return
      */
-    public YSY_MonitorDto.MonitorDto getMonitorInfo(String deviceSerial) {
+    public EquipmentInfomation getMonitorInfo(String deviceSerial) {
+        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
+        equipmentInfo.setEquipmentType("鎽勫儚澶�");
+        if (deviceSerial == null || deviceSerial.trim().length() == 0) {
+            return equipmentInfo;
+        }
+
+        Monitor one = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
+        if (one != null) {
+            equipmentInfo.setEquipmentCreateTime(one.getAddTime());
+            equipmentInfo.setEquipmentMac(one.getDeviceSerial());
+            equipmentInfo.setEquipmentName(one.getDeviceName());
+        }
+
         String token = getAccessToken();
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("accessToken", token);
         paramMap.put("deviceSerial", deviceSerial);
         String s = HttpUtil.post(YSY_URL + GET_DEVICE_URL, paramMap);
-        YSY_MonitorDto monitorDto = null;
+
         try {
-            monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
-            return monitorDto.getData();
+            YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
+            if (monitorDto != null) {
+                //鍦ㄧ嚎鐘舵�侊細0-涓嶅湪绾匡紝1-鍦ㄧ嚎
+                if (monitorDto.getData().getStatus() == 1) {
+                    equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+                } else {
+                    equipmentInfo.setEquipmentState("绂荤嚎");
+                }
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return null;
+        return equipmentInfo;
     }
 
     /**
@@ -229,6 +268,11 @@
      *                     //     * @param validateCode 璁惧楠岃瘉鐮侊紝璁惧鏈鸿韩涓婄殑鍏綅澶у啓瀛楁瘝
      */
     public boolean addYSYMonitor(String deviceSerial, String validateCode) {
+        List<Monitor> list = list(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
+        if (list.size() != 0) {
+            throw new BusinessException("璇ユ憚鍍忓ご宸插瓨鍦紝鏃犳硶閲嶅娣诲姞锛�");
+        }
+
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("accessToken", getAccessToken());
         paramMap.put("deviceSerial", deviceSerial);
@@ -236,21 +280,46 @@
             paramMap.put("validateCode", validateCode);
         }
         String s = HttpUtil.post(YSY_URL + ADD_DEVICE_URL, paramMap);
+        if (!s.startsWith("{") && !s.endsWith("}")) {
+            throw new BusinessException("钀ょ煶浜戞暟鎹紓甯�");
+        }
+
         YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
 
-        if ("200".equals(monitorDto.getCode()) || "20017".equals(monitorDto.getCode())) {
-            Monitor monitor = new Monitor();
-            monitor.setDeviceSerial(monitorDto.getData().getDeviceSerial());
-            monitor.setDevicesCode(validateCode);
-            monitor.setDeviceName(monitorDto.getData().getDeviceName());
-            monitor.setEquipmentState(monitorDto.getData().getStatus());
-            monitor.setIsEncrypt(monitorDto.getData().getIsEncrypt());
-            monitor.setDeviceType(monitorDto.getData().getModel());
-            monitor.setNetAddress(monitorDto.getData().getNetAddress());
-            return addMonitorInfoToTable(monitor);
-        } else {
-            return false;
+        boolean result;
+        if ("20017".equals(monitorDto.getCode())) {
+            //褰撳墠鎽勫儚澶村凡缁忚钀ょ煶浜戝畼缃戞坊鍔犺繃,Code:20017
+            monitorDto = getYSYMonitorInfo(getAccessToken(), deviceSerial);
+
+        } else if (!"200".equals(monitorDto.getCode())) {
+            //褰撳墠鎽勫儚澶存垚鍔熻钀ょ煶浜戝畼缃戞坊鍔�,Code:200
+            throw new BusinessException(monitorDto.getMsg());
         }
+
+        if (monitorDto.getData() == null) {
+            throw new BusinessException("钀ょ煶浜戞暟鎹紓甯革紒");
+        }
+        Monitor monitor = new Monitor();
+        monitor.setDeviceSerial(monitorDto.getData().getDeviceSerial());
+        monitor.setDevicesCode(validateCode);
+        monitor.setDeviceName(monitorDto.getData().getDeviceName());
+        monitor.setEquipmentState(monitorDto.getData().getStatus());
+        monitor.setIsEncrypt(monitorDto.getData().getIsEncrypt());
+        monitor.setDeviceType(monitorDto.getData().getModel());
+        monitor.setNetAddress(monitorDto.getData().getNetAddress());
+        result = addMonitorInfoToTable(monitor);
+
+        /**
+         * 鏂板鎽勫儚澶村紑濮�
+         */
+        String content = "{鎽勫儚澶碈ode锛�" + monitor.getDeviceSerial() + "锛� 鎽勫儚澶村悕绉帮細" + monitor.getDeviceName() + " }";
+        List<String> listCode = new ArrayList<>();
+        listCode.add(monitor.getDeviceSerial());
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鏂板鎽勫儚澶�", content);
+        /**
+         * 鏂板鎽勫儚澶寸粨鏉�
+         */
+        return result;
     }
 
     /**
@@ -371,8 +440,24 @@
             throw new BusinessException("淇敼澶囨敞鍙傛暟鏈夎锛�");
         }
         Monitor one = getOne(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, deviceSerial));
+
+        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(one.getDeviceSerial(), PoleBindingEnums.MONITOR);
+        if (!belong) {
+            throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+        }
         if (one != null) {
             one.setNote(notes);
+
+            /**
+             * 娣诲姞鎽勫儚澶村娉ㄦ棩蹇楄褰曞紑濮�
+             */
+            String content = "缂栬緫鎽勫儚澶达細" + deviceSerial + "缂栬緫鍐呭锛�" + notes;
+            List<String> list = new ArrayList<>();
+            list.add(deviceSerial);
+            StoreOperationRecordsUtils.storeOperationData(list, null, "缂栬緫鎽勫儚澶�", content);
+            /**
+             * 娣诲姞鎽勫儚澶村娉ㄦ棩蹇楄褰曠粨鏉�
+             */
             return updateById(one);
         } else {
             throw new BusinessException("鎽勫儚澶磋澶囦笉瀛樺湪锛�");

--
Gitblit v1.9.3