| | |
| | | package com.sandu.ximon.admin.controller; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.sandu.common.domain.ResponseVO; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | 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.PoleBindingService; |
| | | import com.sandu.ximon.admin.service.PoleService; |
| | | 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.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.*; |
| | | |
| | | import java.net.URISyntaxException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | //@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 PoleBindingService bindingService; |
| | | @Autowired |
| | | private PoleService poleService; |
| | | |
| | | @GetMapping("/screenShot") |
| | | /** |
| | | * 截屏 |
| | | * |
| | | * @param vnnoxWebRequest |
| | | * @return |
| | | */ |
| | | @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")); |
| | | } |
| | | |
| | | @GetMapping("/reboot") |
| | | public ResponseVO<Object> reboot(@RequestBody VnnoxParam vnnoxWebRequest) { |
| | | VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest.getPlayerList()); |
| | | /** |
| | | * 重启 |
| | | * |
| | | * @param vnnoxWebRequest |
| | | * @return |
| | | */ |
| | | @PostMapping("/reboot") |
| | | public ResponseVO<Object> reboot(@RequestBody List<String> vnnoxWebRequest) { |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_RESTART.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | |
| | | List<List<String>> split = CollectionUtil.split(vnnoxWebRequest, 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<String> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.reboot(splist); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | @GetMapping("/screenStatusChange") |
| | | /** |
| | | * 同步播放 |
| | | */ |
| | | @PostMapping("/syncPlay") |
| | | public ResponseVO<Object> syncPlay(@RequestBody Map map) { |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_SYNC_PLAY.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | List playIdlist = (List) map.get("playIdlist"); |
| | | Integer option = (Integer) map.get("option"); |
| | | List<List<String>> split = CollectionUtil.split(playIdlist, 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<String> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.syncPlay(splist, option); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | /** |
| | | * ntp对时 |
| | | */ |
| | | @PostMapping("/ntp") |
| | | public ResponseVO<Object> ntp(@RequestBody Map map) { |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_NTP.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | boolean enable = (boolean) map.get("enable"); |
| | | List playIdlist = (List) map.get("playIdlist"); |
| | | |
| | | List<List<String>> split = CollectionUtil.split(playIdlist, 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<String> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.ntpSync(splist, enable); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | /** |
| | | * @param vnnoxWebRequest |
| | | * @return 开关屏幕 |
| | | */ |
| | | @PostMapping("/screenStatusChange") |
| | | public ResponseVO<Object> screenStatusChange(@RequestBody VnnoxParam vnnoxWebRequest) { |
| | | VnnoxResult vnnoxResult = vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getScreenStatus()); |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_ON_OFF.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | List<List<LedPlayerEntity>> split = CollectionUtil.split(vnnoxWebRequest.getPlayerList(), 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<LedPlayerEntity> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.screenStatusChange(splist, vnnoxWebRequest.getScreenStatus()); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | @GetMapping("/volChange") |
| | | /** |
| | | * 音量调节 |
| | | * |
| | | * @param vnnoxWebRequest |
| | | * @return |
| | | */ |
| | | @PostMapping("/volChange") |
| | | public ResponseVO<Object> volChange(@RequestBody VnnoxParam vnnoxWebRequest) { |
| | | VnnoxResult vnnoxResult = vnnoxService.volChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getVol()); |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_VOL_CHANGE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | |
| | | List<List<LedPlayerEntity>> split = CollectionUtil.split(vnnoxWebRequest.getPlayerList(), 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<LedPlayerEntity> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.volChange(splist, vnnoxWebRequest.getVol()); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | @GetMapping("/brightnessChange") |
| | | /** |
| | | * 亮度调节 |
| | | * |
| | | * @param vnnoxWebRequest |
| | | * @return |
| | | */ |
| | | @PostMapping("/brightnessChange") |
| | | public ResponseVO<Object> brightnessChange(@RequestBody VnnoxParam vnnoxWebRequest) { |
| | | VnnoxResult vnnoxResult = vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(),vnnoxWebRequest.getBrightness()); |
| | | if (!permissionConfig.check(MenuEnum.VNNOX_BRIGHTNESS_CHANGE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | |
| | | List<List<LedPlayerEntity>> split = CollectionUtil.split(vnnoxWebRequest.getPlayerList(), 100); |
| | | |
| | | VnnoxResult vnnoxResult=null; |
| | | for (List<LedPlayerEntity> splist : split) { |
| | | VnnoxResult vnnox = vnnoxService.brightnessChange(splist, vnnoxWebRequest.getBrightness()); |
| | | if(vnnoxResult!=null){ |
| | | vnnoxResult.getSuccess().addAll(vnnox.getSuccess()); |
| | | vnnoxResult.getFail().addAll(vnnox.getFail()); |
| | | } |
| | | } |
| | | return ResponseUtil.success(vnnoxResult); |
| | | } |
| | | |
| | | /* @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() { |
| | | if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) { |
| | | return ResponseUtil.success(""); |
| | | }else { |
| | | return ResponseUtil.success(ledPlayerEntityService.list()); |
| | | public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { |
| | | if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.successPage(ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword)); |
| | | } |
| | | |
| | | @GetMapping("/onLineList") |
| | | public ResponseVO<Object> onLineList(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { |
| | | if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | List<LedPlayerEntity> list = ledPlayerEntityService.ledPlayerEntityList(baseConditionVO, keyword); |
| | | List<LedPlayerEntity> online = new ArrayList<>(); |
| | | for (LedPlayerEntity ledPlayer : list) { |
| | | if (ledPlayer.getOnlineStatus() == 1) { |
| | | online.add(ledPlayer); |
| | | } |
| | | } |
| | | return ResponseUtil.success(online); |
| | | |
| | | } |
| | | |
| | | @GetMapping("/getVnnoxInfo/{sn}") |
| | | public ResponseVO<Object> getBySnAndPlayerId(@PathVariable String sn) { |
| | | return ResponseUtil.success(ledPlayerEntityService.getBySnAndPlayerSn(sn)); |
| | | } |
| | | } |