From 5e2fe6ce6e80dea99f6eda304dba6fafbb30ad63 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 09 九月 2022 11:34:13 +0800
Subject: [PATCH] 灯杆解绑fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java |  195 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 127 insertions(+), 68 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
index 84aaf05..2ab4085 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -1,21 +1,20 @@
 package com.sandu.ximon.admin.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.api.R;
-import com.github.pagehelper.PageHelper;
 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.param.VnnoxParam;
-import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.service.LedPlayerEntityService;
 import com.sandu.ximon.admin.service.VnnoxService;
 import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
-import com.sandu.ximon.admin.utils.response.VnnoxResult;
+import com.sandu.ximon.admin.vo.NovaPushResultVO;
+import com.sandu.ximon.admin.vo.NovaResultParam;
 import com.sandu.ximon.dao.domain.LedPlayerEntity;
 import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
-import com.sandu.ximon.dao.enums.AdministratorEnums;
+import com.sandu.ximon.dao.enums.MenuEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,10 +30,10 @@
  * 璇虹摝LED澶勭悊
  */
 @RestController
-//@AllArgsConstructor
 @RequestMapping("/v1/Vnnox")
 public class VnnoxController {
-
+    @Autowired
+    private PermissionConfig permissionConfig;
     @Autowired
     private VnnoxService vnnoxService;
     @Autowired
@@ -48,35 +47,77 @@
      * @param vnnoxWebRequest
      * @return
      */
-    @GetMapping("/screenShot")
+    @PostMapping("/screenShot")
     public ResponseVO<Object> screenShot(@RequestBody VnnoxParam vnnoxWebRequest) {
+        if (!permissionConfig.check(MenuEnum.VNNOX_SCREENSHOT.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         Map<String, String> map = vnnoxService.getScreenShotUrl(vnnoxWebRequest.getId());
-        if(map.get("code").equals("500")) {
-            return  ResponseUtil.fail(map.get("msg"));
+        if (map.get("code").equals("500")) {
+            return ResponseUtil.fail(map.get("msg"));
         }
         return ResponseUtil.success(map.get("url"));
+    }
+
+
+    @PostMapping("/allScreenShot")
+    public ResponseVO<Object> allScreenShot(@RequestBody List<NovaPushResultVO> vnnoxWebRequest) throws InterruptedException {
+        return ResponseUtil.success(vnnoxService.getScreenShotUrl(vnnoxWebRequest));
     }
 
     /**
      * 閲嶅惎
      *
-     * @param vnnoxWebRequest
+     * @param
      * @return
      */
-    @GetMapping("/reboot")
-    public ResponseVO<Object> reboot(@RequestBody VnnoxParam vnnoxWebRequest) {
-        VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest.getPlayerList());
-        return ResponseUtil.success(vnnoxResult);
+    @PostMapping("/reboot")
+    public ResponseVO<Object> reboot(@RequestBody List<NovaPushResultVO> nova) {
+        if (!permissionConfig.check(MenuEnum.VNNOX_RESTART.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(vnnoxService.reboot(nova));
+    }
+
+    /**
+     * 鍚屾鎾斁
+     */
+    @PostMapping("/syncPlay")
+    public ResponseVO<Object> syncPlay(@RequestBody NovaResultParam vo) {
+        if (!permissionConfig.check(MenuEnum.VNNOX_SYNC_PLAY.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        List<NovaPushResultVO> playIdlist = vo.getPlayIdlist();
+        Integer option = vo.getOption();
+        if (option == null || vo.getOption() == null) {
+            throw new BusinessException("option涓嶈兘涓虹┖");
+        }
+        return ResponseUtil.success(vnnoxService.syncPlay(playIdlist, option));
+    }
+
+    /**
+     * ntp瀵规椂
+     */
+    @PostMapping("/ntp")
+    public ResponseVO<Object> ntp(@RequestBody NovaResultParam vo) {
+        if (!permissionConfig.check(MenuEnum.VNNOX_NTP.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        boolean enable = vo.isEnable();
+        List<NovaPushResultVO> playIdlist = vo.getPlayIdlist();
+        return ResponseUtil.success(vnnoxService.ntpSync(playIdlist, enable));
     }
 
     /**
      * @param vnnoxWebRequest
-     * @return
+     * @return 寮�鍏冲睆骞�
      */
-    @GetMapping("/screenStatusChange")
+    @PostMapping("/screenStatusChange")
     public ResponseVO<Object> screenStatusChange(@RequestBody VnnoxParam vnnoxWebRequest) {
-        VnnoxResult vnnoxResult = vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getScreenStatus());
-        return ResponseUtil.success(vnnoxResult);
+        if (!permissionConfig.check(MenuEnum.VNNOX_ON_OFF.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getScreenStatus()));
     }
 
     /**
@@ -85,10 +126,12 @@
      * @param vnnoxWebRequest
      * @return
      */
-    @GetMapping("/volChange")
+    @PostMapping("/volChange")
     public ResponseVO<Object> volChange(@RequestBody VnnoxParam vnnoxWebRequest) {
-        VnnoxResult vnnoxResult = vnnoxService.volChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getVol());
-        return ResponseUtil.success(vnnoxResult);
+        if (!permissionConfig.check(MenuEnum.VNNOX_VOL_CHANGE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(vnnoxService.volChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getVol()));
     }
 
     /**
@@ -97,20 +140,20 @@
      * @param vnnoxWebRequest
      * @return
      */
-    @GetMapping("/brightnessChange")
+    @PostMapping("/brightnessChange")
     public ResponseVO<Object> brightnessChange(@RequestBody VnnoxParam vnnoxWebRequest) {
-        VnnoxResult vnnoxResult = vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getBrightness());
-        return ResponseUtil.success(vnnoxResult);
+        if (!permissionConfig.check(MenuEnum.VNNOX_BRIGHTNESS_CHANGE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        return ResponseUtil.success(vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getBrightness()));
     }
 
-  /*  @RequestMapping("/changeLedName")
-    public R changeLedName(@RequestBody VnnoxParam vnnoxWebRequest) {
-        vnnoxService.changeLedName(vnnoxWebRequest.getId(),vnnoxWebRequest.getPlayerName());
-        return ResponseUtil.success();
-    }*/
 
     @PostMapping("/validateSN")
     public ResponseVO<Object> validateSN(@RequestBody Map map) throws URISyntaxException {
+        if (!permissionConfig.check(MenuEnum.VNNOX_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         String sn = (String) map.get("sn");
         String name = (String) map.get("name");
         LedV2RegisterResultEntity ledV2RegisterResultEntity = vnnoxService.validateSN(name, sn);
@@ -119,6 +162,9 @@
 
     @PostMapping("/updateLedName/{id}")
     public ResponseVO<Object> updateLedName(@PathVariable Long id, @RequestBody Map map) {
+        if (!permissionConfig.check(MenuEnum.VNNOX_NAME_UPDATE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         String name = (String) map.get("name");
         boolean b = vnnoxService.updateDataName(id, name);
         if (b) {
@@ -132,46 +178,59 @@
 
 
     @GetMapping("/list")
-    public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        LambdaQueryWrapper<LedPlayerEntity> wrapper = Wrappers.lambdaQuery(LedPlayerEntity.class);
-
-        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
-            //wrapper.eq(LedPlayerEntity::get)
-            return ResponseUtil.success(""); //  todo
-        } else {
-            wrapper.like(LedPlayerEntity::getPlayerName, keyword)
-                    .or(
-                            querywrapper->{
-                                querywrapper.like(LedPlayerEntity::getName, keyword);
-                            }
-                    );
-            List<LedPlayerEntity> list = ledPlayerEntityService.list(wrapper);
-            List<LedPlayerEntity> entities = vnnoxService.setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
-            return ResponseUtil.success(entities);
+    public ResponseVO<Object> list(BaseConditionVO baseConditionVO,
+                                   @RequestParam(value = "keyword", required = false) String keyword,
+                                   @RequestParam(value = "order", required = false) Integer order,
+                                   @RequestParam(value = "seq", required = false) Integer seq) {
+        if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
+        return ResponseUtil.successPage(ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword, order, seq));
     }
 
     @GetMapping("/onLineList")
-    public ResponseVO<Object> onLineList(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
-//    public ResponseVO<Object> onLineList(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        LambdaQueryWrapper<LedPlayerEntity> wrapper = Wrappers.lambdaQuery(LedPlayerEntity.class);
-
-        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
-            //wrapper.eq(LedPlayerEntity::get)
-            return ResponseUtil.success(""); //  todo
-        } else {
-            wrapper.like(LedPlayerEntity::getPlayerName, keyword);
-            List<LedPlayerEntity> list = ledPlayerEntityService.list(wrapper);
-            List<LedPlayerEntity> entities = vnnoxService.setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
-            List<LedPlayerEntity> online = new ArrayList<>();
-            for (LedPlayerEntity ledPlayer : entities) {
-                if (ledPlayer.getOnlineStatus() == 1) {
-                    online.add(ledPlayer);
-                }
-            }
-            return ResponseUtil.success(online);
+    public ResponseVO<Object> onLineList(BaseConditionVO baseConditionVO,
+                                         @RequestParam(value = "keyword", required = false) String keyword,
+                                         @RequestParam(value = "order", required = false) Integer order,
+                                         @RequestParam(value = "seq", required = false) Integer seq) {
+        if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
+        List<LedPlayerEntity> list = ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword, order, seq);
+        List<LedPlayerEntity> entities = vnnoxService.setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
+        List<LedPlayerEntity> online = new ArrayList<>();
+        for (LedPlayerEntity ledPlayer : entities) {
+            if (ledPlayer.getOnlineStatus() == 1) {
+                online.add(ledPlayer);
+            }
+        }
+        return ResponseUtil.success(online);
+
+    }
+
+    /**
+     * 灞忓箷璇︽儏
+     *
+     * @param sn
+     * @return
+     */
+    @GetMapping("/getVnnoxInfo/{sn}")
+    public ResponseVO<Object> getBySnAndPlayerId(@PathVariable String sn) {
+        return ResponseUtil.success(ledPlayerEntityService.getBySnAndPlayerSn(sn));
+    }
+
+
+    @AnonymousAccess
+    @PostMapping("/saveInfo")
+    public ResponseVO<Object> saveInfo() {
+        vnnoxService.saveInfo();
+        return ResponseUtil.success("鎵ц瀹屾瘯");
+    }
+
+    @AnonymousAccess
+    @PostMapping("/asyncStatus")
+    public ResponseVO<Object> asyncStatus(List<String> playerIds) {
+        vnnoxService.asyncStatus(playerIds);
+        return ResponseUtil.success("ok");
     }
 }

--
Gitblit v1.9.3