From 9dd4f3549911f1253ccd9b934e8a5a90a7b2ce8c Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期四, 28 四月 2022 18:24:56 +0800
Subject: [PATCH] 大气数据推送到LED

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java |  199 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 190 insertions(+), 9 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
index 44647ba..1741ba0 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -1,10 +1,17 @@
 package com.sandu.ximon.admin.controller;
 
 import com.sandu.common.domain.ResponseVO;
+import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
+import com.sandu.ximon.admin.dto.YSY_MonitorDto;
 import com.sandu.ximon.admin.param.MonitorParam;
+import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.MonitorService;
+import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
+import com.sandu.ximon.dao.enums.MenuEnum;
+import com.sandu.ximon.dao.mapper.MonitorMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
@@ -19,23 +26,39 @@
 public class MonitorController {
     private final MonitorService monitorService;
 
-    @GetMapping
-    public ResponseVO<Object> listMonitor() {
-        List<Monitor> list = monitorService.listMonitor();
-        return ResponseUtil.successPage(list);
-    }
+    private final MonitorMapper monitorMapper;
+    private PermissionConfig permissionConfig;
+
 
     /**
      * 妯$硦鏌ヨ
      *
      * @return
      */
-    @GetMapping("/listMonitorByKeyword")
-    public ResponseVO<Object> listMonitorByKeyword(@RequestBody MonitorParam monitorParam) {
-        List<Monitor> list = monitorService.listMonitorByKeyword(monitorParam);
-        return ResponseUtil.successPage(list);
+    @PostMapping("/listMonitor")
+    public ResponseVO<Object> listMonitorByKeyword(BaseConditionVO baseConditionVO, @RequestBody(required = false) MonitorParam monitorParam) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+
+        //杩斿洖鏌ヨ鐨勬憚鍍忓ご淇℃伅鍒楄〃
+        List<MonitorBo> listresult;
+        if (monitorParam == null) {
+            listresult = monitorService.listMonitorByKeyword(baseConditionVO, new MonitorParam());
+        } else {
+            listresult = monitorService.listMonitorByKeyword(baseConditionVO, monitorParam);
+        }
+
+        return ResponseUtil.successPage(listresult);
     }
 
+
+    /**
+     * 鍒犻櫎鏁版嵁搴撲腑钀ょ煶浜戞憚鍍忓ご
+     *
+     * @param id
+     * @return
+     */
     @PostMapping("/delete/{id}")
     public ResponseVO<Object> deleteMonitor(@PathVariable Long id) {
         boolean result = monitorService.deleteMonitor(id);
@@ -45,4 +68,162 @@
             return ResponseUtil.fail("鎿嶄綔澶辫触");
         }
     }
+
+    /**
+     * 鑾峰彇钀ょ煶浜慉ccessToken
+     *
+     * @return AccessToken
+     */
+    @GetMapping("/getAccessToken")
+    public ResponseVO<Object> getAccessToken() {
+        return ResponseUtil.success(monitorService.getAccessToken());
+    }
+
+    /**
+     * 鑾峰彇钀ょ煶浜戞憚鍍忓ご淇℃伅
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/getYSYInfo/{deviceSerial}")
+    public ResponseVO<Object> getMonitorInfo(@PathVariable String deviceSerial) {
+        return ResponseUtil.success(monitorService.getMonitorInfo(deviceSerial));
+    }
+
+    /**
+     * 娣诲姞钀ょ煶浜戞憚鍍忓ご
+     *
+     * @param monitorParam 娣诲姞鎽勫儚澶寸粨鏋�
+     * @return
+     */
+    @PostMapping("/addYSYMonitor")
+    public ResponseVO<Object> addYSYMonitor(@RequestBody MonitorParam monitorParam) {
+        if (monitorParam == null || monitorParam.getDeviceSerial() == null) {
+            throw new BusinessException("鍙傛暟涓嶆纭紒");
+        }
+        YSY_MonitorDto addMonitorDto = monitorService.addYSYMonitor(monitorService.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getValidateCode());
+//        YSY_MonitorDto addMonitorDto = monitorService.addYSYMonitor(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
+
+        if ("200".equals(addMonitorDto.getCode())) {
+            getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
+            return ResponseUtil.success(addMonitorDto);
+        } else if ("20017".equals(addMonitorDto.getCode())) {
+            //宸茬粡琚嚜宸辨坊鍔犵殑鎽勫儚澶撮渶瑕佹坊鍔犲埌鏁版嵁搴�
+            boolean falg = getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
+            if (falg) {
+                return ResponseUtil.success("娣诲姞鎽勫儚澶存垚鍔燂紒");
+
+            } else {
+                return ResponseUtil.fail("娣诲姞鎽勫儚澶村け璐ワ紒");
+            }
+
+        } else {
+            return ResponseUtil.fail(addMonitorDto.getMsg());
+        }
+    }
+
+    /**
+     * 鍒犻櫎钀ょ煶浜戞憚鍍忓ご
+     *
+     * @param monitorParam 娣诲姞鎽勫儚澶寸粨鏋�
+     * @return
+     */
+    @PostMapping("/deleteYSYMonitor")
+    public ResponseVO<Object> deleteYSYMonitor(@RequestBody MonitorParam monitorParam) {
+        YSY_MonitorDto addMonitorDto = monitorService.deleteYSYMonitor(monitorService.getAccessToken(), monitorParam.getDeviceSerial());
+
+        if ("200".equals(addMonitorDto.getCode())) {
+            return ResponseUtil.success(addMonitorDto);
+        } else {
+            return ResponseUtil.fail(addMonitorDto.getMsg());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍗曚釜璁惧淇℃伅   getYSYMonitorInfo
+     */
+    @PostMapping("/getYSYMonitorInfo")
+    public ResponseVO<Object> getYSYMonitorInfo(@RequestBody MonitorParam monitorParam) {
+        YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorService.getAccessToken(), monitorParam.getDeviceSerial());
+
+        if ("200".equals(getMonitorDto.getCode())) {
+            Monitor monitor = new Monitor();
+            monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
+//            monitor.setDevicesCode(monitorParam.getValidateCode());
+            monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
+            monitor.setDeviceType(getMonitorDto.getData().getModel());
+            monitor.setEquipmentState(getMonitorDto.getData().getStatus());
+            monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
+            monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
+            monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
+            monitorService.addMonitorInfoToTable(monitor);
+
+            return ResponseUtil.success(getMonitorDto.getData());
+        } else {
+            return ResponseUtil.fail(getMonitorDto.getMsg());
+        }
+    }
+
+
+    /**
+     * 鑾峰彇鍗曚釜璁惧淇℃伅骞朵笖瀛樺偍鍒版暟鎹簱
+     *
+     * @param monitorParam
+     * @return
+     */
+    @PostMapping("/getYSYMonitorInfoAndaddMonitorToTable")
+    public boolean getYSYMonitorInfoAndaddMonitorToTable(@RequestBody MonitorParam monitorParam) {
+        Monitor monitor = monitorService.getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
+        return monitorService.addMonitorInfoToTable(monitor);
+    }
+
+    /**
+     * 缂栬緫鎽勫儚澶磋澶囦俊鎭�
+     */
+    @PostMapping("/UpDateMonitorInfo")
+    public ResponseVO<Object> UpDateMonitorInfo(@RequestBody MonitorParam monitorParam) {
+        Monitor monitor = new Monitor();
+        monitor.setId(monitorParam.getId());
+        monitor.setDeviceSerial(monitorParam.getDeviceSerial());
+        monitor.setDevicesCode(monitorParam.getDevicesCode());
+        monitor.setWorkState(monitorParam.getWorkState());
+        monitor.setNote(monitorParam.getNote());
+
+        boolean falg = monitorService.upDateMonitorInfo(monitorParam);
+
+        if (falg) {
+            return ResponseUtil.success("鏇存柊鏁版嵁鎴愬姛");
+        } else {
+            return ResponseUtil.fail("鏇存柊鏁版嵁澶辫触");
+        }
+    }
+
+    /**
+     * 鑾峰彇鎽勫儚澶碪RL鎾斁鍦板潃
+     */
+    @PostMapping("/getMonitorVideoUrl")
+    public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
+        String URL = monitorService.getMonitorVideoUrl(monitorService.getAccessToken(),
+                monitorParam.getDeviceSerial(), monitorParam.getProtocol(), monitorParam.getExpireTime());
+
+        return ResponseUtil.success(URL);
+    }
+
+
+    /**
+     * 淇敼澶囨敞
+     *
+     * @param monitorParam
+     * @return
+     */
+    @PostMapping("/updateNotes")
+    public ResponseVO<Object> updateNotes(@RequestBody MonitorParam monitorParam) {
+        boolean flag = monitorService.updateNotes(monitorParam.getDeviceSerial(), monitorParam.getNotes());
+        if (flag) {
+            return ResponseUtil.success("淇敼澶囨敞鎴愬姛锛�");
+        } else {
+            return ResponseUtil.fail("淇敼澶囨敞澶辫触锛�");
+        }
+    }
+
 }

--
Gitblit v1.9.3