From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java |  151 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 139 insertions(+), 12 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 84cc7e6..e057fee 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,45 +1,172 @@
 package com.sandu.ximon.admin.controller;
 
+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.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.domain.Monitor;
+import com.sandu.ximon.dao.enums.MenuEnum;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
+/**
+ * 鎽勫儚澶�
+ */
 @RestController
 @AllArgsConstructor
 @RequestMapping("/v1/admin/monitor")
 public class MonitorController {
     private final MonitorService monitorService;
 
-    @GetMapping
-    public ResponseVO<Object> listMonitor() {
-        List<Monitor> list = monitorService.listMonitor();
-        return ResponseUtil.successPage(list);
-    }
+    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,
+                                                   @RequestParam(value = "order", required = false) Integer order,
+                                                   @RequestParam(value = "seq", required = false) Integer seq,
+                                                   @RequestBody(required = false) MonitorParam monitorParam) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+
+        //杩斿洖鏌ヨ鐨勬憚鍍忓ご淇℃伅鍒楄〃
+        CommonPage commonPage;
+        if (monitorParam == null) {
+            commonPage = monitorService.listMonitorByKeyword(baseConditionVO, order, seq, new MonitorParam());
+        } else {
+            commonPage = monitorService.listMonitorByKeyword(baseConditionVO, order, seq, monitorParam);
+        }
+
+        return ResponseUtil.success(commonPage);
     }
 
-    @PostMapping("/delete/{id}")
-    public ResponseVO<Object> deleteMonitor(@PathVariable Long id) {
-        boolean result = monitorService.deleteMonitor(id);
+
+    /**
+     * 鍒犻櫎鏁版嵁搴撲腑钀ょ煶浜戞憚鍍忓ご
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/delete")
+    public ResponseVO<Object> deleteMonitor(@RequestBody List<Long> ids) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_DELETE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        boolean result = monitorService.deleteMonitor(ids);
         if (result) {
             return ResponseUtil.success(null);
         } else {
             return ResponseUtil.fail("鎿嶄綔澶辫触");
         }
     }
+
+    /**
+     * 鑾峰彇钀ょ煶浜慉ccessToken
+     *
+     * @return AccessToken
+     */
+    @GetMapping("/getAccessToken")
+    public ResponseVO<Object> getAccessToken() {
+        return ResponseUtil.success(monitorService.getAccessToken());
+    }
+
+    /**
+     * 娣诲姞钀ょ煶浜戞憚鍍忓ご
+     *
+     * @param monitorParam 娣诲姞鎽勫儚澶寸粨鏋�
+     * @return
+     */
+    @PostMapping("/addYSYMonitor")
+    public ResponseVO<Object> addYSYMonitor(@RequestBody MonitorParam monitorParam) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        if (monitorParam == null || monitorParam.getDeviceSerial() == null) {
+            throw new BusinessException("鍙傛暟涓嶆纭紒");
+        }
+        boolean flag = monitorService.addYSYMonitor(monitorParam.getDeviceSerial(), monitorParam.getValidateCode());
+
+        if (flag) {
+            return ResponseUtil.success("娣诲姞鎽勫儚澶存垚鍔燂紒");
+
+        } else {
+            return ResponseUtil.fail("娣诲姞鎽勫儚澶村け璐ワ紒");
+        }
+    }
+
+    /**
+     * 鑾峰彇鍗曚釜璁惧淇℃伅   getYSYMonitorInfo
+     */
+    @PostMapping("/getYSYMonitorInfo")
+    public ResponseVO<Object> getYSYMonitorInfo(@RequestBody MonitorParam monitorParam) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_INFO.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        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());
+        }
+    }
+
+    /**
+     * 鑾峰彇鎽勫儚澶碪RL鎾斁鍦板潃
+     */
+    @PostMapping("/getMonitorVideoUrl")
+    public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_VIDEO_URL.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        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) {
+        if (!permissionConfig.check(MenuEnum.MONITOR_NOTES.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        boolean flag = monitorService.updateNotes(monitorParam.getDeviceSerial(), monitorParam.getNotes());
+        if (flag) {
+            return ResponseUtil.success("淇敼澶囨敞鎴愬姛锛�");
+        } else {
+            return ResponseUtil.fail("淇敼澶囨敞澶辫触锛�");
+        }
+    }
+
 }

--
Gitblit v1.9.3