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/VnnoxController.java | 278 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 222 insertions(+), 56 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 7419f13..f985e3f 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,23 +1,32 @@
package com.sandu.ximon.admin.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-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.NovaAStateInfoParam;
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.LedNovaGroupRelationService;
+import com.sandu.ximon.admin.service.LedNovaGroupService;
import com.sandu.ximon.admin.service.LedPlayerEntityService;
import com.sandu.ximon.admin.service.VnnoxService;
-import com.sandu.ximon.admin.utils.response.VnnoxResult;
+import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
+import com.sandu.ximon.admin.vo.NovaAStateInfoVO;
+import com.sandu.ximon.admin.vo.NovaPushResultVO;
+import com.sandu.ximon.admin.vo.NovaResultParam;
+import com.sandu.ximon.dao.domain.LedNovaGroup;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
/**
@@ -27,97 +36,254 @@
* 璇虹摝LED澶勭悊
*/
@RestController
-//@AllArgsConstructor
@RequestMapping("/v1/Vnnox")
public class VnnoxController {
-
+ @Autowired
+ private PermissionConfig permissionConfig;
@Autowired
private VnnoxService vnnoxService;
@Autowired
private LedPlayerEntityService ledPlayerEntityService;
+ @Autowired
+ private VnnoxAPIUtil vnnoxAPIUtil;
+ @Autowired
+ private LedNovaGroupRelationService relationService;
+ @Autowired
+ private LedNovaGroupService groupService;
+
/**
* 鎴睆
- * @param vnnoxWebRequest
- * @return
- */
- @GetMapping("/screenShot")
- public ResponseVO<Object> screenShot(@RequestBody VnnoxParam vnnoxWebRequest) {
- Map<String, String> map = vnnoxService.getScreenShotUrl(vnnoxWebRequest.getId());
- return ResponseUtil.success(map.get("url"));
- }
-
- /**
- * 閲嶅惎
- * @param vnnoxWebRequest
- * @return
- */
- @GetMapping("/reboot")
- public ResponseVO<Object> reboot(@RequestBody VnnoxParam vnnoxWebRequest) {
- VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest.getPlayerList());
- return ResponseUtil.success(vnnoxResult);
- }
-
- /**
*
* @param vnnoxWebRequest
* @return
*/
- @GetMapping("/screenStatusChange")
+ @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"));
+ }
+ 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
+ * @return
+ */
+ @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 寮�鍏冲睆骞�
+ */
+ @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()));
}
/**
* 闊抽噺璋冭妭
+ *
* @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()));
}
/**
* 浜害璋冭妭
+ *
* @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 {
- String sn = (String)map.get("sn");
- String name = (String)map.get("name");
- LedV2RegisterResultEntity ledV2RegisterResultEntity = vnnoxService.validateSN(name,sn);
+ 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);
return ResponseUtil.success(ledV2RegisterResultEntity);
+ }
+
+ @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) {
+ return ResponseUtil.success("鏇存敼鎴愬姛");
+ }
+ {
+ return ResponseUtil.success("鏇存敼澶辫触");
+ }
+
}
@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);
- return ResponseUtil.success(ledPlayerEntityService.list(wrapper));
+ 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,
+ @RequestParam(value = "groupId", required = false) Long groupId) {
+ if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
+ return ResponseUtil.successPage(ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword, order, seq, groupId));
+ }
+ @GetMapping("/onLineList")
+ 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,
+ @RequestParam(value = "groupId", required = false) Long groupId) {
+ if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ List<LedPlayerEntity> list = ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword, order, seq, groupId);
+ 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) {
+ if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ 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(@RequestBody List<String> playerIds) {
+// vnnoxService.asyncStatus(playerIds);
+// return ResponseUtil.success("ok");
+// }
+
+
+ /**
+ * 鑾峰彇灞忓箷淇℃伅
+ *
+ * @param param
+ * @return
+ */
+ @PostMapping("/getInfo")
+ public ResponseVO<Object> getInfo(@RequestBody @Validated NovaAStateInfoParam param) {
+ if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ //鍚屾鐘舵��
+ vnnoxService.getAsyncStatus(param.getPlayerIdList(), param.getStateValue());
+ //鑾峰彇鍚屾
+ List<NovaAStateInfoVO> info = vnnoxService.getInfo(param.getStateValue(), param.getPlayerIdList());
+ return ResponseUtil.success(info);
+ }
+
+ /**
+ * 鏍规嵁鍒嗙粍id鑾峰彇缁勫唴鐨勫睆骞�
+ */
+ @GetMapping("/getByGroupId")
+ public ResponseVO<Object> getByGroupId(@RequestParam(value = "groupId", required = true) Long groupId) {
+// if (!permissionConfig.check(MenuEnum.LED_N_GROUP_INFO.getCode())) {
+// return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+// }
+ if (groupId == null) {
+ throw new BusinessException("groupId涓嶈兘涓虹┖");
+ }
+ LedNovaGroup byId = groupService.getById(groupId);
+ if (byId == null) {
+ throw new BusinessException("鍒嗙粍涓嶅瓨鍦�");
+ }
+ return ResponseUtil.success(ledPlayerEntityService.getListByGroupId(groupId));
}
}
--
Gitblit v1.9.3