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.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.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.dao.domain.LedPlayerEntity; import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity; import com.sandu.ximon.dao.enums.AdministratorEnums; 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; /** * @Author liuhaonan * @Date 2021/12/23 9:35 * @Version 1.0 * 诺瓦LED处理 */ @RestController //@AllArgsConstructor @RequestMapping("/v1/Vnnox") public class VnnoxController { @Autowired private VnnoxService vnnoxService; @Autowired private LedPlayerEntityService ledPlayerEntityService; @Autowired private VnnoxAPIUtil vnnoxAPIUtil; /** * 截屏 * * @param vnnoxWebRequest * @return */ @GetMapping("/screenShot") public ResponseVO screenShot(@RequestBody VnnoxParam vnnoxWebRequest) { Map map = vnnoxService.getScreenShotUrl(vnnoxWebRequest.getId()); return ResponseUtil.success(map.get("url")); } /** * 重启 * * @param vnnoxWebRequest * @return */ @GetMapping("/reboot") public ResponseVO reboot(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest.getPlayerList()); return ResponseUtil.success(vnnoxResult); } /** * @param vnnoxWebRequest * @return */ @GetMapping("/screenStatusChange") public ResponseVO screenStatusChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getScreenStatus()); return ResponseUtil.success(vnnoxResult); } /** * 音量调节 * * @param vnnoxWebRequest * @return */ @GetMapping("/volChange") public ResponseVO volChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.volChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getVol()); return ResponseUtil.success(vnnoxResult); } /** * 亮度调节 * * @param vnnoxWebRequest * @return */ @GetMapping("/brightnessChange") public ResponseVO brightnessChange(@RequestBody VnnoxParam vnnoxWebRequest) { VnnoxResult vnnoxResult = vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getBrightness()); 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 validateSN(@RequestBody Map map) throws URISyntaxException { 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 updateLedName(@PathVariable Long id, @RequestBody Map map) { String name = (String) map.get("name"); boolean b = vnnoxService.updateDataName(id, name); if (b) { return ResponseUtil.success("更改成功"); } { return ResponseUtil.success("更改失败"); } } @GetMapping("/list") public ResponseVO list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); LambdaQueryWrapper 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 list = ledPlayerEntityService.list(wrapper); List entities = vnnoxAPIUtil.syncCurrentInfo(list); return ResponseUtil.success(entities); } } @GetMapping("/onLineList") public ResponseVO onLineList(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { // public ResponseVO onLineList(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); LambdaQueryWrapper 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 list = ledPlayerEntityService.list(wrapper); List entities = vnnoxAPIUtil.syncCurrentInfo(list); List online = new ArrayList<>(); for (LedPlayerEntity ledPlayer : entities) { if (ledPlayer.getOnlineStatus() == 1) { online.add(ledPlayer); } } return ResponseUtil.success(online); } } }