| | |
| | | import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder; |
| | | import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.A1TernaryCodeReqInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.A5LightResetReqInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.EmptyRequestInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1DeviceMacRespInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.response.A1TernaryCodeRespInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.A1OrderEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.A2OrderEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.DeviceStateEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.*; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; |
| | | import com.sandu.ximon.admin.param.PoleBindingParam; |
| | | import com.sandu.ximon.admin.param.PoleParam; |
| | |
| | | DeviceOnLineCountVO ledNova = new DeviceOnLineCountVO(); |
| | | ledPlayerEntities.forEach( |
| | | Volume -> { |
| | | String s = redisUtils.get(DeviceRedisKey.IP_BROADCAST + Volume.getId()); |
| | | String s = redisUtils.get(DeviceRedisKey.NOVA + Volume.getId()); |
| | | if (s != null) { |
| | | RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | if (redisDeviceStatus.getStatus() == 0) { |
| | |
| | | |
| | | //单灯 |
| | | List<LightBo> lights = SpringContextHolder.getBean(LightService.class).listLightOnHome(); |
| | | BaseConditionVO baseConditionVO = new BaseConditionVO(); |
| | | baseConditionVO.setPageNo(1); |
| | | baseConditionVO.setPageSize(999); |
| | | System.out.println("单灯故障统计时间: "+ LocalDateTime.now()); |
| | | CommonPage commonPage = SpringContextHolder.getBean(LightReportErrorService.class).queryErrorCode(baseConditionVO); |
| | | System.out.println("单灯故障统计时间: "+ LocalDateTime.now()); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | |
| | | AtomicInteger onLine = new AtomicInteger(0); |
| | | AtomicInteger offLine = new AtomicInteger(0); |
| | | AtomicInteger error = new AtomicInteger(0); |
| | | AtomicInteger error = new AtomicInteger(commonPage.getList().size()); |
| | | |
| | | |
| | | |
| | | DeviceOnLineCountVO light = new DeviceOnLineCountVO(); |
| | |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } else { |
| | | error.getAndIncrement(); |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } |
| | | ); |
| | |
| | | DeviceOnLineCountVO c3m = new DeviceOnLineCountVO(); |
| | | c3mChargings.forEach( |
| | | device -> { |
| | | String s = redisUtils.get(DeviceRedisKey.C3M + device.getC3Id()); |
| | | // RedisUtils.getBean().set(C3mRedisConstant.C3_STATUS.getCode() + heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac() |
| | | // , heartbeatReportInnerFrame.getHeartBeatDataPackage(), 300L); |
| | | String s = redisUtils.get(C3mRedisConstant.C3_STATUS.getCode() + device.getC3Mac()); |
| | | RedisDeviceStatus redisDeviceStatus = new RedisDeviceStatus(); |
| | | redisDeviceStatus.setDeviceId(device.getC3Id().toString()); |
| | | if (s != null) { |
| | | RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | if (redisDeviceStatus.getStatus() == 0) { |
| | | A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class); |
| | | if ("5".equals(heartBeatDataPackage.getStatusBit())) { |
| | | //在线 |
| | | onLine.getAndIncrement(); |
| | | } else if (redisDeviceStatus.getStatus() == 1) { |
| | | //离线 |
| | | offLine.getAndIncrement(); |
| | | } else { |
| | | //故障 |
| | | onLine.getAndIncrement(); |
| | | error.getAndIncrement(); |
| | | } |
| | | } else { |
| | | error.getAndIncrement(); |
| | | //离线 |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } |
| | | ); |
| | |
| | | } |
| | | }).start(); |
| | | try { |
| | | countDownLatch.await(12000, TimeUnit.MILLISECONDS); |
| | | countDownLatch.await(20000, TimeUnit.MILLISECONDS); |
| | | countDownLatchUtil.remove(str); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | |
| | | System.out.println("单灯执行"); |
| | | } |
| | | }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SpringContextHolder.getBean(C3ChargingService.class).setCacheData(); |
| | | countDownLatchUtil.countDown(str); |
| | | System.out.println("充电桩执行"); |
| | | } |
| | | }).start(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // SpringContextHolder.getBean(C3ChargingService.class).setCacheData(); |
| | | // countDownLatchUtil.countDown(str); |
| | | // System.out.println("充电桩执行"); |
| | | // } |
| | | // }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |