2021与蓝度共同重构项目,服务端
liuhaonan
2022-04-28 9dd4f3549911f1253ccd9b934e8a5a90a7b2ce8c
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -1,15 +1,14 @@
package com.sandu.ximon.admin.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
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;
@@ -19,11 +18,9 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
import com.sandu.ximon.admin.utils.LightemitUtils;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleBinding;
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.AdministratorEnums;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -115,31 +112,10 @@
        if (!permissionConfig.check(MenuEnum.LED_PROGRAM_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        LambdaQueryWrapper<PoleXixunPlayerEntity> wrapper = xiXunPlayerService.XixunPlayerList(keyword);
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        LambdaQueryWrapper<PoleXixunPlayerEntity> wrapper = Wrappers.lambdaQuery(PoleXixunPlayerEntity.class).like(PoleXixunPlayerEntity::getProgramName, keyword);
//        if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())){
//            boolean clientId = clientService.findClientId();
//            if(clientId){
//                wrapper= wrapper.eq(PoleXixunPlayerEntity::getUserId,SecurityUtils.getUserId());
//            }
//            wrapper= wrapper.eq(PoleXixunPlayerEntity::getClientId,clientService.getClientId());
//        }
//        wrapper=Wrappers.lambdaQuery(PoleXixunPlayerEntity.class);
//        if(StrUtil.isNotBlank(keyword)){
//            wrapper.like(PoleXixunPlayerEntity::getLightemitName,keyword).or(
//                    lambdaQueryWrapper -> {
//                        lambdaQueryWrapper.like(PoleXixunPlayerEntity::getLightemitControlCode, keyword);
//                    }
//            );
//        }
//        return ResponseUtil.success(poleLightemitService.list(wrapper));
        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
            return ResponseUtil.success(xiXunPlayerService.list(wrapper)); //  todo
        } else {
            return ResponseUtil.success(xiXunPlayerService.list(wrapper));
        }
        return ResponseUtil.success(xiXunPlayerService.list(wrapper));
    }
@@ -156,6 +132,13 @@
        return ResponseUtil.success("推送成功");
    }
    //执行中的节目
    @GetMapping("/getProgram/{lightemitId}")
    public ResponseVO<Object> getProgram(@PathVariable Long lightemitId) {
        return ResponseUtil.success(xiXunPlayerService.getByPid(lightemitId));
    }
    /**
     * LED屏幕新增
     *
@@ -169,7 +152,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);
@@ -216,8 +203,16 @@
    @GetMapping("/listLed")
    public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                      @RequestParam(value = "isOnLine", required = false) boolean isOnLine) {
        if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
            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();
@@ -227,89 +222,14 @@
            commonPage.setTotalPage(size / baseConditionVO.getPageSize());
        }
        return ResponseUtil.success(commonPage);
//        if (!permissionConfig.check(MenuEnum.LED_LIST.getCode())) {
//            return ResponseUtil.fail("缺少对应用户权限");
//        }
//        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
//        LambdaQueryWrapper<PoleLightemitEntity> wrapper = Wrappers.lambdaQuery(PoleLightemitEntity.class);
//        if (AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
//            boolean clientId = clientService.findClientId();
//            if (clientId) {
//                wrapper = wrapper.eq(PoleLightemitEntity::getUserId, SecurityUtils.getUserId());
//            }
//            wrapper = wrapper.eq(PoleLightemitEntity::getClientId, clientService.getClientId());
//        }
//        wrapper = Wrappers.lambdaQuery(PoleLightemitEntity.class);
//        if (StrUtil.isNotBlank(keyword)) {
//            wrapper.like(PoleLightemitEntity::getLightemitName, keyword).or(
//                    lambdaQueryWrapper -> {
//                        lambdaQueryWrapper.like(PoleLightemitEntity::getLightemitControlCode, keyword);
//                    }
//            );
//        }
//        List<PoleBinding> bindings = bindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceType, 1));
//        List<PoleLightemitEntity> list = poleLightemitService.list(wrapper);
//        if (isOnLine) {
//            List<PoleLightemitEntity> results = poleLightemitService.ledOnline(list);
//            results.forEach(
//                    led -> {
//                        bindings.forEach(
//                                bind -> {
//                                    if (bind.getDeviceCode() != null && led.getLightemitControlCode() == bind.getDeviceCode()) {
//                                        led.setStreetlightId(bind.getPoleId());
//                                        System.out.println("有没有运行到这里?---------------" + bind.getPoleId());
//                                        led.setStreetlightName(poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, bind.getPoleId())).getPoleName());
//                                    }
//                                }
//                        );
//                    }
//            );
//            CommonPage commonPage = CommonPage.restPage(results);
//            int size = results.size();
//            commonPage.setTotal((long) size);
//            commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
//            if (size % baseConditionVO.getPageSize() == 0) {
//                commonPage.setTotalPage(size / baseConditionVO.getPageSize());
//            }
//            return ResponseUtil.success(commonPage);
//        } else {
//            poleLightemitService.ledOnlineCheck(list);
//            list.forEach(
//                    led -> {
//                        bindings.forEach(
//                                bind -> {
//                                    if (bind.getDeviceCode() != null && led.getLightemitControlCode().equals(bind.getDeviceCode())) {
//                                        led.setStreetlightId(bind.getPoleId());
//                                        System.out.println("有没有运行到这里?---------------" + bind.getPoleId());
//                                        led.setStreetlightName(poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, bind.getPoleId())).getPoleName());
//                                    }
//                                }
//                        );
//                    }
//            );
//            CommonPage commonPage = CommonPage.restPage(list);
//            int size = list.size();
//            commonPage.setTotal((long) size);
//            commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
//            if (size % baseConditionVO.getPageSize() == 0) {
//                commonPage.setTotalPage(size / baseConditionVO.getPageSize());
//            }
//            return ResponseUtil.success(commonPage);
//            // return ResponseUtil.success(list);
//        }
////        return ResponseUtil.success(poleLightemitService.list(wrapper));
    }
    /**
     *
     *
     * @param
     * @return
     */
    @GetMapping("/getbycode")
  public ResponseVO<Object> getLedByLightControlCode(String lightemitControlCode) {
    public ResponseVO<Object> getLedByLightControlCode(String lightemitControlCode) {
        return ResponseUtil.success(poleLightemitService.getLedByLightControlCode(lightemitControlCode));
    }
@@ -472,7 +392,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("清屏成功");
    }
}