2021与蓝度共同重构项目,服务端
fix
zhanzhiqin
2022-05-07 8c46bedb1a637ba04bd406dab7bba889e1d5d658
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -7,7 +7,9 @@
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.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;
@@ -17,6 +19,7 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.admin.vo.LedScheduleVO;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
import com.sandu.ximon.dao.enums.MenuEnum;
@@ -130,6 +133,13 @@
        return ResponseUtil.success("推送成功");
    }
    //执行中的节目
    @GetMapping("/getProgram/{lightemitId}")
    public ResponseVO<Object> getProgram(@PathVariable Long lightemitId) {
        return ResponseUtil.success(xiXunPlayerService.getByPid(lightemitId));
    }
    /**
     * LED屏幕新增
     *
@@ -143,7 +153,11 @@
            throw new BusinessException("LED控制卡编号不能重复");
        }
        poleLightemit.setCreateUserId(SecurityUtils.getClientId());
        if (SecurityUtils.getClientId() == null) {
            poleLightemit.setClientId(clientService.getClientId());
            poleLightemit.setUserId(SecurityUtils.getUserId());
            poleLightemit.setCreateUserId(SecurityUtils.getUserId());
        }
        poleLightemitService.savePoleLightemit(poleLightemit);
@@ -194,6 +208,12 @@
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<PoleLightemitEntity> poleLightemitEntityList = poleLightemitService.listLed(keyword, isOnLine);
        poleLightemitEntityList.forEach(
                led -> {
                    led.setStreetlightId(led.getPoleId());
                    led.setStreetlightName(led.getPoleName());
                }
        );
        CommonPage commonPage = CommonPage.restPage(poleLightemitEntityList);
        int size = poleLightemitEntityList.size();
@@ -218,6 +238,7 @@
    设置屏幕开关
     */
    @AnonymousAccess
    @PostMapping("/setScreenOpen")
    public ResponseVO<Object> setScreenOpen(@RequestBody SetScreenOpenParam setScreenOpenEntity) {
        if (setScreenOpenEntity.getIds() == null || setScreenOpenEntity.getIds().length == 0 || setScreenOpenEntity.getBool() == null) {
@@ -280,6 +301,18 @@
        } else {
            throw new BusinessException("未选择LED屏");
        }
    }
    /**
     * 测试
     * @param
     * @return
     */
    @AnonymousAccess
    @PostMapping("/test/{str}")
    public ResponseVO<Object> setBrightness(@PathVariable String str) {
       return ResponseUtil.success(lightemitUtils.getIsScreenOpen(str));
    }
@@ -373,5 +406,51 @@
        return ResponseUtil.success("设置成功");
    }
    /**
     * 获取执行中的定时
     *
     * @param
     * @return
     */
    @GetMapping("/getPushSchedule")
    public ResponseVO<Object> getPushSchedule(@RequestBody List<Long> ids) {
        if (ids.isEmpty()) {
            throw new BusinessException("未选择LED屏");
        }
        List<LedScheduleVO> list = new ArrayList<>();
        for (Long id : ids) {
            LedScheduleVO ledScheduleVO = scheduleService.getledschedules(id);
            list.add(ledScheduleVO);
        }
        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<Long> ids) {
        List<PoleLightemitEntity> list = poleLightemitService.listByIds(ids);
        if (ids.isEmpty() && list.isEmpty()) {
            throw new BusinessException("未选择LED屏");
        }
        for (PoleLightemitEntity playerId : list) {
            lightemitUtils.clear(playerId.getLightemitControlCode());
        }
        return ResponseUtil.success("清屏成功");
    }
}