dao/src/main/java/com/sandu/ximon/dao/domain/PushToLed.java
@@ -15,4 +15,8 @@ private String schedule; private String pages; /** * 音量 */ private String volume; } dao/src/main/resources/mapper/PlayPlanNvMapper.xml
@@ -16,7 +16,8 @@ <result property="startDate" column="start_date" jdbcType="VARCHAR"/> <result property="endDate" column="end_date" jdbcType="VARCHAR"/> <result property="status" column="status" jdbcType="INTEGER"/> <result property="weekDays" column="week_days" typeHandler="com.sandu.common.mybatis.JsonStringArrayTypeHandler"/> <result property="weekDays" column="week_days" typeHandler="com.sandu.common.mybatis.JsonStringArrayTypeHandler"/> <result property="startTime" column="start_time" jdbcType="VARCHAR"/> <result property="endTime" column="end_time" jdbcType="VARCHAR"/> <result property="schedule" column="schedule" jdbcType="VARCHAR"/> @@ -37,6 +38,7 @@ <select id="pushToLed" resultType="com.sandu.ximon.dao.domain.PushToLed" parameterType="java.lang.Long"> SELECT t1.SCHEDULE, t1.volume, t2.pages FROM play_plan_nv t1 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -234,12 +234,10 @@ return ResponseUtil.fail("缺少对应用户权限"); } List<PoleLightemitEntity> poleLightemitEntityList = poleLightemitService.listLed(keyword, isOnLine); poleLightemitEntityList.forEach( led -> { led.setStreetlightId(led.getPoleId()); led.setStreetlightName(led.getPoleName()); } ); poleLightemitEntityList.forEach(led -> { led.setStreetlightId(led.getPoleId()); led.setStreetlightName(led.getPoleName()); }); CommonPage commonPage = CommonPage.restPage(poleLightemitEntityList); int size = poleLightemitEntityList.size(); ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -82,7 +82,6 @@ SchedulesDTO openDto = new SchedulesDTO(); SchedulesDTO closeDto = new SchedulesDTO(); openDto.setStartDate(schedule.get("startDate").toString()); @@ -93,13 +92,13 @@ /** * 判断时间的先后 */ String startTime = openDto.getStartDate()+" " +plans.get(i).getStartTime(); String endTime =openDto.getEndDate()+ " " +plans.get(i).getEndTime(); String startTime = openDto.getStartDate() + " " + plans.get(i).getStartTime(); String endTime = openDto.getEndDate() + " " + plans.get(i).getEndTime(); //转换成时间戳 long startTimeStamp = DateUtil.parse(startTime, DatePattern.NORM_DATETIME_PATTERN).getTime(); long endTimeStamp = DateUtil.parse(endTime, DatePattern.NORM_DATETIME_PATTERN).getTime(); if(startTimeStamp>endTimeStamp){ if (startTimeStamp > endTimeStamp) { throw new BusinessException("开始时间不能大于结束时间"); } @@ -148,18 +147,14 @@ } public Map<String, Object> pushToLed(Long planId, List<NovaPushResultVO> nova) { // public PlayerProgram pushToLed(Long planId){ PushToLed pushToLed = playPlanMapper.pushToLed(planId); PlayPlanNv one = getOne(Wrappers.lambdaQuery(PlayPlanNv.class).eq(PlayPlanNv::getId, planId)); if (pushToLed == null) { throw new BusinessException("未找到该播放计划"); } List<String> playerIds = new ArrayList<>(); nova.forEach( n -> { playerIds.add(n.getPlayerId()); } ); nova.forEach(n -> { playerIds.add(n.getPlayerId()); }); PlayerProgram program = new PlayerProgram(); program.setPlayerIds(playerIds); @@ -173,26 +168,18 @@ Map map = JSON.parseObject(pushToLed.getSchedule(), Map.class); map.get("plans"); List<Plans> plans = JSON.parseArray(map.get("plans").toString(), Plans.class); plans.forEach( p -> { //删除后两位字符串 p.setStartTime(p.getStartTime().substring(0, p.getStartTime().length() - 3)); p.setEndTime(p.getEndTime().substring(0, p.getEndTime().length() - 3)); } ); plans.forEach(p -> { //删除后两位字符串 p.setStartTime(p.getStartTime().substring(0, p.getStartTime().length() - 3)); p.setEndTime(p.getEndTime().substring(0, p.getEndTime().length() - 3)); }); System.out.println(plans + "plans11111"); map.put("plans", plans); program.setSchedule(map); //获取定时开关屏幕 // program.setSchedules((JSON.parseArray(pushToLed.getSchedule(), SchedulesDTO.class))); // Map map = JSON.parseObject(pushToLed.getSchedule(), Map.class); program.setNoticeUrl(VnnoxConstant.NOTIFY_URL); // VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.timeProgram(program); VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program); vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(one.getVolume()).intValue()); vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(pushToLed.getVolume()).intValue()); List<String> success = new ArrayList<>(); List<String> fail = new ArrayList<>(); @@ -207,22 +194,18 @@ List<NovaPushResultVO> faileList = new ArrayList<>(); List<String> finalSuccess = success; List<String> finalFail = fail; nova.forEach( n -> { if (finalSuccess.contains(n.getPlayerId())) { successList.add(n); } else if (finalFail.contains(n.getPlayerId())) { faileList.add(n); } } ); nova.forEach(n -> { if (finalSuccess.contains(n.getPlayerId())) { successList.add(n); } else if (finalFail.contains(n.getPlayerId())) { faileList.add(n); } }); result.put("success", successList); result.put("fail", faileList); return result; // return program; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -71,12 +71,20 @@ } else { poleLightemitEntityList = poleLightemitDao.listLed(keyword, SecurityUtils.getUserId()); } if (isOnLine) { return ledOnline(poleLightemitEntityList); } else { ledOnlineCheck(poleLightemitEntityList); return poleLightemitEntityList; List<PoleLightemitEntity> temp = new ArrayList<>(); for (PoleLightemitEntity poleLightemitEntity : poleLightemitEntityList) { //查询设备在线状态 boolean onLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode()); //查询屏幕的开启状态 String isOpen = lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()); poleLightemitEntity.setIsOpen(String.valueOf(isOpen)); poleLightemitEntity.setOnLine(onLine); if (!isOnLine || onLine) { temp.add(poleLightemitEntity); } } return temp; } /** ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -255,7 +255,7 @@ //熙讯 List<PoleLightemitEntity> poleLightemitEntities = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, false); List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).ledOnline(poleLightemitEntities); List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, true); result.put("XiXunOnlineCount", poleLightemitEntityOnlineList.size()); result.put("XiXunTotalCount", poleLightemitEntities.size()); ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java
@@ -117,7 +117,6 @@ //请求地址 String url = realtimeServerBean.getCommand() + ledCode; //请求 // poleLightemitService.updateRequestBody(ledCode, ""); String result = post(url, postBody); LogUtils.error("清屏结果:" + result); } @@ -129,10 +128,9 @@ * @param username */ public void postHtml(String ledCode, String username) { //html网页内容 PostHtml postHtml = new PostHtml(realtimeServerBean.getUrl() + username + "_" + ledCode + ".html"); String postBody = new Gson().toJson(postHtml); //请求地址 String url = realtimeServerBean.getCommand() + ledCode; //保存led数据 @@ -197,7 +195,6 @@ * @param ledCode */ public void clearVideoPlay(String ledCode) { // poleLightemitService.updateRequestBody(ledCode, ""); this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new ClearVideoPlay())); } @@ -207,7 +204,6 @@ * @param ledCode */ public void clearPlayerTask(String ledCode) { // poleLightemitService.updateRequestBody(ledCode, ""); this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new ClearPlayerTask())); } @@ -236,7 +232,6 @@ return ""; } String re; try { re = JSONObject.parseObject(result).get("result").toString(); } catch (Exception e) { @@ -258,9 +253,8 @@ * @return */ public String getIsScreenOpen(String ledCode) { //发送屏幕是否开启的指令 String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new IsScreenOpen())); LogUtils.error("getIsScreenOpen:" + result); //获取base64图片数据 if (StringUtils.isNotBlank(result)) { String re; try { @@ -276,28 +270,18 @@ public boolean getLedOnLine(String ledCode) { //通过屏幕是否开启指令获取屏幕是否在线 String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new IsScreenOpen())); LogUtils.error("getLedOnLine:" + result); //获取base64图片数据 if (StringUtils.isNotBlank(result)) { String re; if (result.contains("not exist")) { return false; } else { return true; } } else { return false; } result = result.trim(); return result.startsWith("{") && result.endsWith("}"); } /* 控制屏幕开关 */ /** * 控制屏幕开关 */ public String setScreenOpen(String ledCode, Boolean bool) { String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new setScreenOpen(bool))); //获取base64图片数据 if (StringUtils.isNotBlank(result)) { String re = ""; try { @@ -320,8 +304,8 @@ // this.post(realtimeServerBean.getCommand() + lightemitControlCode, poleLightemitEntity.getRequestBody()); // } /* 设置led音量 /** * 设置led音量 */ public void setVoiume(String ledCode, Integer volume) { @@ -335,9 +319,9 @@ } /* 设置led亮度 */ /** * 设置led亮度 */ public void setBrightness(String ledCode, Integer brightness) { SetBrightness setBrightness = new SetBrightness();