2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-24 d019a929fc220ac5395d409f6c2ab4fab7653658
ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java
@@ -11,6 +11,7 @@
import com.sandu.ximon.admin.newnova.conf.ProgramPathConfig;
import com.sandu.ximon.admin.newnova.param.NewNovaLedParam;
import com.sandu.ximon.admin.newnova.param.ProgramPrarm;
import com.sandu.ximon.admin.newnova.program.LEDInfoParam;
import com.sandu.ximon.admin.newnova.program.NewNovaProgramService;
import com.sandu.ximon.admin.newnova.utils.NovaAPIUtil;
import com.sandu.ximon.admin.newnova.vo.ProWHVO;
@@ -128,18 +129,12 @@
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<NewNovaLed> newNovaListBos = baseMapper.listLed(keyword, groupId, SecurityUtils.getClientId());
        //获取在线状态
        instanceUtil.getOnlineStatus(newNovaListBos, onlineStatus);
        //获取屏幕开关
        instanceUtil.getScreenPowerState(newNovaListBos);
        //获取音量
        instanceUtil.getVolumeState(newNovaListBos);
        //获取亮度
        instanceUtil.getScreenBrightness(newNovaListBos);
        //获取同步状态
        instanceUtil.getSync(newNovaListBos);
        List<NewNovaLed> onLine = instanceUtil.getOnlineStatus(newNovaListBos, onlineStatus);
        //获取分辨率
        instanceUtil.getDisplayInfoAsync(onLine);
        updateBatchById(newNovaListBos);
        return newNovaListBos;
        updateBatchById(onLine);
        return onLine;
    }
    public NewNovaLed getInfo(Long ledId) {
@@ -169,6 +164,13 @@
        instanceUtil.getSync(list);
        //获取详情
        instanceUtil.getInfo(byId);
        //获取分辨率
        instanceUtil.getDisplayInfoAsync(list);
        //获取时区
        instanceUtil.getTimezone(list);
        //获取视频源
        instanceUtil.getVideoInfoAsync(list);
        return list.get(0);
    }
@@ -205,7 +207,7 @@
        A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage data = SpringContextHolder.getBean(AirDataService.class).getDataByPoleid(nova.getPoleId());
        //解析大气数据
        Map pageInfo = parseData(data, duration,fontSize);
        Map pageInfo = parseData(data, duration, fontSize);
        ProgramPrarm page = new ProgramPrarm();
        page.setPageInfo(pageInfo);
        page.setInsertPlay(true);
@@ -216,11 +218,11 @@
        page.setProgramID(pid);
        StatusVO editPro = apiUtil.editProgram(pid, pageInfo);
        if(editPro.getStatusCode()!=0){
        if (editPro.getStatusCode() != 0) {
            throw new BusinessException(editPro.getStatusData());
        }
        StatusVO genVO = apiUtil.genrateProgram(pid);
        if(genVO.getStatusCode()!=0){
        if (genVO.getStatusCode() != 0) {
            throw new BusinessException(genVO.getStatusData());
        }
        page.setProgramID(Integer.valueOf(createPro.getStatusData()));
@@ -249,7 +251,7 @@
    private Map parseData(A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage data, Long duration, Long fontSize) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z+8:00'");
        Date end = new Date();
        end.setTime(end.getTime()+duration);
        end.setTime(end.getTime() + duration);
        String str = "{\n" +
                "        \"name\": \"大气监测\",\n" +
                "        \"widgetContainers\": [\n" +
@@ -352,7 +354,7 @@
                "                                                        \"Helvetica\"\n" +
                "                                                    ],\n" +
                "                                                    \"isUnderline\": false,\n" +
                "                                                    \"size\": "+fontSize+",\n" +
                "                                                    \"size\": " + fontSize + ",\n" +
                "                                                    \"style\": \"NORMAL\"\n" +
                "                                                },\n" +
                "                                                \"letterSpacing\": 0,\n" +
@@ -377,4 +379,64 @@
    }
    /**
     * 获取状态信息
     *
     * @param param
     * @return
     */
    public Object infoList(LEDInfoParam param) {
        NovaAPIUtil instanceUtil = NovaAPIUtil.getInstanceUtil();
        List<NewNovaLed> newNovaLeds = listByIds(param.getLedIds());
        param.setLedList(newNovaLeds);
        switch (param.getType()) {
            case "all":
                //获取屏幕开关
                instanceUtil.getScreenPowerState(param.getLedList());
                //获取音量
                instanceUtil.getVolumeState(param.getLedList());
                //获取亮度
                instanceUtil.getScreenBrightness(param.getLedList());
                //获取同步状态
                instanceUtil.getSync(param.getLedList());
                //获取分辨率
                instanceUtil.getDisplayInfoAsync(param.getLedList());
                //获取时区
                instanceUtil.getTimezone(param.getLedList());
                //获取视频源
                instanceUtil.getVideoInfoAsync(param.getLedList());
                break;
            case "volumeValue":
                //获取音量
                instanceUtil.getVolumeState(param.getLedList());
                break;
            case "brightnessValue":
                //获取亮度
                instanceUtil.getScreenBrightness(param.getLedList());
                break;
            case "videoSourceValue":
                //获取视频源
                instanceUtil.getVideoInfoAsync(param.getLedList());
                break;
            case "timeValue":
                //获取时区
                instanceUtil.getTimezone(param.getLedList());
                break;
            case "screenPowerStatus":
                //获取屏幕开关
                instanceUtil.getScreenPowerState(param.getLedList());
                break;
            case "syncPlayStatus":
                //获取同步状态
                instanceUtil.getSync(param.getLedList());
                break;
            default:
        }
        return param.getLedList();
    }
}