From b64d778d7ea64b2c6517b4ec34646be50a930151 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 02 六月 2022 12:41:30 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java |  103 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 28 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 9202b91..8af864d 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
@@ -19,6 +19,7 @@
 import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
 import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.enums.OrderByEnums;
 import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.MonitorMapper;
 import lombok.AllArgsConstructor;
@@ -58,17 +59,47 @@
     /**
      * 妯$硦鏌ヨ
      */
-    public CommonPage listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
+    public CommonPage listMonitorByKeyword(BaseConditionVO baseConditionVO,Integer order,Integer seq, MonitorParam monitorParam) {
         //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
         if (monitorParam.getBindingState() == null) {
             //鍏ㄩ儴
             monitorParam.setBindingState(2);
         }
+        //鎺掑簭瀛楁
+        String orderByResult = "id";
+        //姝e簭銆佸�掑彊
+        String orderBySeq =OrderByEnums.ASC.getCode();
+        if (order != null) {
+            switch (order) {
+                case 1:
+                    orderByResult = OrderByEnums.MONITOR_POLE_NAME.getCode();
+                    break;
+                case 2:
+                    orderByResult = OrderByEnums.MONITOR_CREATE_TIME.getCode();
+                    break;
+                default:
+            }
+        }
+        if (seq != null) {
+            switch (seq) {
+                case 1:
+                    orderBySeq = " ASC";
+                    break;
+                case 2:
+                    orderBySeq = " DESC";
+                    break;
+                default:
+                    break;
+            }
+        }
+        //鎺掑簭鏂瑰紡
+        String orderBy = orderByResult + " " + orderBySeq;
+
         List<MonitorBo> list;
         if (SecurityUtils.getClientId() == null) {
-            list = monitorMapper.listMonitorDeviceSerial1(null, monitorParam.getKeyword(), monitorParam.getBindingState());
+            list = monitorMapper.listMonitorDeviceSerial1(null, monitorParam.getKeyword(), monitorParam.getBindingState(),orderBy);
         } else {
-            list = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), monitorParam.getKeyword(), monitorParam.getBindingState());
+            list = monitorMapper.listMonitorDeviceSerial1(SecurityUtils.getUserId(), monitorParam.getKeyword(), monitorParam.getBindingState(),orderBy);
         }
 
         //娌℃湁鏁版嵁鏃跺�欑洿鎺ヨ繑鍥炵┖鏁扮粍
@@ -268,6 +299,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);
@@ -275,34 +311,45 @@
             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);
 
         boolean result;
-        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());
-            result = addMonitorInfoToTable(monitor);
+        if ("20017".equals(monitorDto.getCode())) {
+            //褰撳墠鎽勫儚澶村凡缁忚钀ょ煶浜戝畼缃戞坊鍔犺繃,Code:20017
+            monitorDto = getYSYMonitorInfo(getAccessToken(), deviceSerial);
 
-            /**
-             * 鏂板鎽勫儚澶村紑濮�
-             */
-            String content = "{鎽勫儚澶碈ode锛�" + monitor.getDeviceSerial() + "锛� 鎽勫儚澶村悕绉帮細" + monitor.getDeviceName() + " }";
-            List<String> listCode = new ArrayList<>();
-            listCode.add(monitor.getDeviceSerial());
-            StoreOperationRecordsUtils.storeOperationData(listCode, null, "鏂板鎽勫儚澶�", content);
-            /**
-             * 鏂板鎽勫儚澶寸粨鏉�
-             */
-
-        } else {
-            result = false;
+        } 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;
     }
 
@@ -435,8 +482,8 @@
             /**
              * 娣诲姞鎽勫儚澶村娉ㄦ棩蹇楄褰曞紑濮�
              */
-            String content = "缂栬緫鎽勫儚澶达細" +deviceSerial+"缂栬緫鍐呭锛�"+notes;
-            List<String> list  = new ArrayList<>();
+            String content = "缂栬緫鎽勫儚澶达細" + deviceSerial + "缂栬緫鍐呭锛�" + notes;
+            List<String> list = new ArrayList<>();
             list.add(deviceSerial);
             StoreOperationRecordsUtils.storeOperationData(list, null, "缂栬緫鎽勫儚澶�", content);
             /**

--
Gitblit v1.9.3