ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -7,6 +7,7 @@ import com.sandu.common.domain.CommonPage; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.security.annotation.AnonymousAccess; import com.sandu.common.util.ResponseUtil; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.dto.DeviceStatus; @@ -266,6 +267,7 @@ /** * 推送大气设备到诺瓦 */ @AnonymousAccess @GetMapping("/pushAidDataToNova/{poleId}") public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) { return ResponseUtil.success(poleService.pushAirDataToNova(poleId)); @@ -274,6 +276,7 @@ /** * 推送大气设备到熙讯 */ @AnonymousAccess @GetMapping("/pushAirDataToXiXun/{poleId}") public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) { return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId)); ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -8,6 +8,7 @@ import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.common.util.SpringContextHolder; import com.sandu.ximon.admin.entity.ProgramPro; import com.sandu.ximon.admin.param.LEDScheduleParam_xixun; import com.sandu.ximon.admin.param.SetBrightnessParam; @@ -409,4 +410,32 @@ } return ResponseUtil.success(list); } /** * 关闭天气推送 */ @GetMapping("/closeWeatherPush/{id}") public ResponseVO<Object> closeWeatherPush(@PathVariable Long id) { if(id==null){ throw new BusinessException("未选择LED屏"); } SpringContextHolder.getBean(PoleService.class).closeXiXunAirPush(id); return ResponseUtil.success("关闭成功"); } /** * 清屏操作 */ @GetMapping("/clearScreen") public ResponseVO<Object> clearScreen(@RequestBody List<String> codes) { if(codes.isEmpty()){ throw new BusinessException("未选择LED屏"); } for(String playerId : codes) { lightemitUtils.clear(playerId); } return ResponseUtil.success("清屏成功"); } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -30,6 +30,7 @@ import com.sandu.ximon.admin.param.*; import com.sandu.ximon.admin.redis.LightKey; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.utils.LightemitUtils; import com.sandu.ximon.admin.utils.RedisUtils; import com.sandu.ximon.admin.utils.response.VnnoxResult; import com.sandu.ximon.admin.vo.PoleBindVO; @@ -873,6 +874,12 @@ */ public boolean pushAirDataToXiXun(Long poleId) { Pole pole = getById(poleId); //判断归属权 if (SecurityUtils.getClientId() != null) { if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) { throw new BusinessException("无权限操作"); } } PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3)); PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10)); if (pole == null) { @@ -890,6 +897,27 @@ return SpringContextHolder.getBean(XiXunPlayerService.class).pushWeather(xixun.getDeviceCode(), data, pole); } /** * 关闭熙讯大气推送 */ public void closeXiXunAirPush(Long poleId) { Pole pole = getById(poleId); if (SecurityUtils.getClientId() != null) { if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) { throw new BusinessException("无权限操作"); } } PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3)); PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10)); if (pole == null || air == null || xixun == null) { throw new BusinessException("设备不存在"); } //关闭推送 SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode()); } /** * 推送大气监测数据到novaLED */ ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
@@ -81,7 +81,6 @@ poleXixunPlayer.setRequestBody(json); poleXixunPlayer.setScreenShot(programPro.getScreenShot()); // poleXixunPlayer.setCreatTime(sdf.format(date)); poleXixunPlayer.setCreateUserId(SecurityUtils.getUserId()); if (SecurityUtils.getClientId() != null) { poleXixunPlayer.setCreateUserId(SecurityUtils.getUserId()); if (clientService.findClientId()) { ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
@@ -34,6 +34,7 @@ program.toJson(), new CommonHeader(CommonHeader.JSON, true) ); System.out.println(program.toJson()); LogUtils.error("节目播放response:"+result); return JSON.parseObject(result,VnnoxResultResponse.class); }