| | |
| | | }).start(); |
| | | |
| | | //摄像头 |
| | | List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorOnHome(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | |
| | | AtomicInteger onLine = new AtomicInteger(0); |
| | | AtomicInteger offLine = new AtomicInteger(0); |
| | | |
| | | DeviceOnLineCountVO Monitor = new DeviceOnLineCountVO(); |
| | | monitorBos.forEach( |
| | | device -> { |
| | | String s = redisUtils.get(DeviceRedisKey.MONITOR + device.getDeviceSerial()); |
| | | if (s != null) { |
| | | RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | if (redisDeviceStatus.getStatus() == 0) { |
| | | //在线 |
| | | onLine.getAndIncrement(); |
| | | } else { |
| | | //离线 |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } else { |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } |
| | | ); |
| | | |
| | | Monitor.setTotalCount(monitorBos.size()); |
| | | Monitor.setOnlineCount(onLine.get()); |
| | | Monitor.setOfflineCount(offLine.get()); |
| | | |
| | | onLineCountVO.setMonitor(Monitor); |
| | | System.out.println("摄像头执行时间: " + LocalDateTime.now()); |
| | | countDownLatchUtil.countDown(str); |
| | | } |
| | | }).start(); |
| | | // List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorOnHome(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // |
| | | // AtomicInteger onLine = new AtomicInteger(0); |
| | | // AtomicInteger offLine = new AtomicInteger(0); |
| | | // |
| | | // DeviceOnLineCountVO Monitor = new DeviceOnLineCountVO(); |
| | | // monitorBos.forEach( |
| | | // device -> { |
| | | // String s = redisUtils.get(DeviceRedisKey.MONITOR + device.getDeviceSerial()); |
| | | // if (s != null) { |
| | | // RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | // if (redisDeviceStatus.getStatus() == 0) { |
| | | // //在线 |
| | | // onLine.getAndIncrement(); |
| | | // } else { |
| | | // //离线 |
| | | // offLine.getAndIncrement(); |
| | | // } |
| | | // } else { |
| | | // offLine.getAndIncrement(); |
| | | // } |
| | | // } |
| | | // ); |
| | | // |
| | | // Monitor.setTotalCount(monitorBos.size()); |
| | | // Monitor.setOnlineCount(onLine.get()); |
| | | // Monitor.setOfflineCount(offLine.get()); |
| | | // |
| | | // onLineCountVO.setMonitor(Monitor); |
| | | // System.out.println("摄像头执行时间: " + LocalDateTime.now()); |
| | | // countDownLatchUtil.countDown(str); |
| | | // } |
| | | // }).start(); |
| | | |
| | | |
| | | //单灯 |
| | |
| | | |
| | | |
| | | //充电桩 |
| | | List<C3ChargingBo> c3mChargings = SpringContextHolder.getBean(C3ChargingService.class).getC3ChargingList(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | AtomicInteger onLine = new AtomicInteger(0); |
| | | AtomicInteger offLine = new AtomicInteger(0); |
| | | AtomicInteger error = new AtomicInteger(0); |
| | | |
| | | |
| | | DeviceOnLineCountVO c3m = new DeviceOnLineCountVO(); |
| | | c3mChargings.forEach( |
| | | device -> { |
| | | String s = redisUtils.get(C3mRedisConstant.C3_STATUS.getCode() + device.getC3Mac()); |
| | | RedisDeviceStatus redisDeviceStatus = new RedisDeviceStatus(); |
| | | redisDeviceStatus.setDeviceId(device.getC3Id().toString()); |
| | | if (s != null) { |
| | | A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class); |
| | | // 充电桩口状态位 1.空闲 2.充电中 3.充电中断,等待服务器确认 4.充电结束,等待服务器确认 5.有故障 6.与充电桩对接中 |
| | | if ("5".equals(heartBeatDataPackage.getStatusBit())) { |
| | | //故障 |
| | | onLine.getAndIncrement(); |
| | | error.getAndIncrement(); |
| | | } else { |
| | | //在线 |
| | | onLine.getAndIncrement(); |
| | | } |
| | | } else { |
| | | //离线 |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } |
| | | ); |
| | | |
| | | c3m.setTotalCount(c3mChargings.size()); |
| | | c3m.setOnlineCount(onLine.get()); |
| | | c3m.setOfflineCount(offLine.get()); |
| | | c3m.setErrorCount(error.get()); |
| | | |
| | | onLineCountVO.setC3m(c3m); |
| | | System.out.println("充电桩执行时间: " + LocalDateTime.now()); |
| | | countDownLatchUtil.countDown(str); |
| | | } |
| | | }).start(); |
| | | // List<C3ChargingBo> c3mChargings = SpringContextHolder.getBean(C3ChargingService.class).getC3ChargingList(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // AtomicInteger onLine = new AtomicInteger(0); |
| | | // AtomicInteger offLine = new AtomicInteger(0); |
| | | // AtomicInteger error = new AtomicInteger(0); |
| | | // |
| | | // |
| | | // DeviceOnLineCountVO c3m = new DeviceOnLineCountVO(); |
| | | // c3mChargings.forEach( |
| | | // device -> { |
| | | // String s = redisUtils.get(C3mRedisConstant.C3_STATUS.getCode() + device.getC3Mac()); |
| | | // RedisDeviceStatus redisDeviceStatus = new RedisDeviceStatus(); |
| | | // redisDeviceStatus.setDeviceId(device.getC3Id().toString()); |
| | | // if (s != null) { |
| | | // A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage heartBeatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class); |
| | | // // 充电桩口状态位 1.空闲 2.充电中 3.充电中断,等待服务器确认 4.充电结束,等待服务器确认 5.有故障 6.与充电桩对接中 |
| | | // if ("5".equals(heartBeatDataPackage.getStatusBit())) { |
| | | // //故障 |
| | | // onLine.getAndIncrement(); |
| | | // error.getAndIncrement(); |
| | | // } else { |
| | | // //在线 |
| | | // onLine.getAndIncrement(); |
| | | // } |
| | | // } else { |
| | | // //离线 |
| | | // offLine.getAndIncrement(); |
| | | // } |
| | | // } |
| | | // ); |
| | | // |
| | | // c3m.setTotalCount(c3mChargings.size()); |
| | | // c3m.setOnlineCount(onLine.get()); |
| | | // c3m.setOfflineCount(offLine.get()); |
| | | // c3m.setErrorCount(error.get()); |
| | | // |
| | | // onLineCountVO.setC3m(c3m); |
| | | // System.out.println("充电桩执行时间: " + LocalDateTime.now()); |
| | | // countDownLatchUtil.countDown(str); |
| | | // } |
| | | // }).start(); |
| | | |
| | | |
| | | //大气 |
| | |
| | | // result.put("AirEquipmentNongGengTotalCount", airEquipmentNongGengBos.size()); |
| | | |
| | | //水质 |
| | | List<WaterQualityEquipmentBo> waterQualityEquipments = SpringContextHolder.getBean(WaterQualityEquipmentService.class).listWaterQualityEquipmentByKeyword(null, null); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | |
| | | DeviceOnLineCountVO water = new DeviceOnLineCountVO(); |
| | | water.setTotalCount(waterQualityEquipments.size()); |
| | | water.setOnlineCount(waterQualityEquipments.size()); |
| | | water.setOfflineCount(0); |
| | | water.setErrorCount(0); |
| | | onLineCountVO.setWaterEquipment(water); |
| | | System.out.println("水质执行时间: " + LocalDateTime.now()); |
| | | countDownLatchUtil.countDown(str); |
| | | } |
| | | }).start(); |
| | | // List<WaterQualityEquipmentBo> waterQualityEquipments = SpringContextHolder.getBean(WaterQualityEquipmentService.class).listWaterQualityEquipmentByKeyword(null, null); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // |
| | | // DeviceOnLineCountVO water = new DeviceOnLineCountVO(); |
| | | // water.setTotalCount(waterQualityEquipments.size()); |
| | | // water.setOnlineCount(waterQualityEquipments.size()); |
| | | // water.setOfflineCount(0); |
| | | // water.setErrorCount(0); |
| | | // onLineCountVO.setWaterEquipment(water); |
| | | // System.out.println("水质执行时间: " + LocalDateTime.now()); |
| | | // countDownLatchUtil.countDown(str); |
| | | // } |
| | | // }).start(); |
| | | |
| | | |
| | | //灯杆倾斜 |
| | | List<LightPoleHeelingEquipmentBo> lightPoleHeelingEquipmentBos = SpringContextHolder.getBean(LightPoleHeelingEquipmentService.class).LightPoleHeelingEquipmentListOnHome(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | |
| | | DeviceOnLineCountVO PoleHeeling = new DeviceOnLineCountVO(); |
| | | PoleHeeling.setTotalCount(lightPoleHeelingEquipmentBos.size()); |
| | | PoleHeeling.setOnlineCount(lightPoleHeelingEquipmentBos.size()); |
| | | PoleHeeling.setOfflineCount(0); |
| | | PoleHeeling.setErrorCount(0); |
| | | onLineCountVO.setLightPoleHeeling(PoleHeeling); |
| | | System.out.println("灯杆倾斜执行时间: " + LocalDateTime.now()); |
| | | countDownLatchUtil.countDown(str); |
| | | } |
| | | }).start(); |
| | | // List<LightPoleHeelingEquipmentBo> lightPoleHeelingEquipmentBos = SpringContextHolder.getBean(LightPoleHeelingEquipmentService.class).LightPoleHeelingEquipmentListOnHome(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // |
| | | // DeviceOnLineCountVO PoleHeeling = new DeviceOnLineCountVO(); |
| | | // PoleHeeling.setTotalCount(lightPoleHeelingEquipmentBos.size()); |
| | | // PoleHeeling.setOnlineCount(lightPoleHeelingEquipmentBos.size()); |
| | | // PoleHeeling.setOfflineCount(0); |
| | | // PoleHeeling.setErrorCount(0); |
| | | // onLineCountVO.setLightPoleHeeling(PoleHeeling); |
| | | // System.out.println("灯杆倾斜执行时间: " + LocalDateTime.now()); |
| | | // countDownLatchUtil.countDown(str); |
| | | // } |
| | | // }).start(); |
| | | |
| | | //熙讯 |
| | | List<PoleLightemitEntity> xiXuns = SpringContextHolder.getBean(PoleLightemitService.class).listLedOnHome(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | AtomicInteger onLine = new AtomicInteger(0); |
| | | AtomicInteger offLine = new AtomicInteger(0); |
| | | |
| | | DeviceOnLineCountVO xixunLed = new DeviceOnLineCountVO(); |
| | | xiXuns.forEach( |
| | | device -> { |
| | | String s = redisUtils.get(DeviceRedisKey.XIXUN + device.getLightemitControlCode()); |
| | | if (s != null) { |
| | | RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | if (redisDeviceStatus.getStatus() == 0) { |
| | | //在线 |
| | | onLine.getAndIncrement(); |
| | | } else { |
| | | //离线 |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } else { |
| | | offLine.getAndIncrement(); |
| | | } |
| | | } |
| | | ); |
| | | |
| | | xixunLed.setTotalCount(xiXuns.size()); |
| | | xixunLed.setOnlineCount(onLine.get()); |
| | | xixunLed.setOfflineCount(offLine.get()); |
| | | |
| | | onLineCountVO.setLedXiXun(xixunLed); |
| | | System.out.println("熙汛执行时间: " + LocalDateTime.now()); |
| | | countDownLatchUtil.countDown(str); |
| | | } |
| | | }).start(); |
| | | // List<PoleLightemitEntity> xiXuns = SpringContextHolder.getBean(PoleLightemitService.class).listLedOnHome(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // AtomicInteger onLine = new AtomicInteger(0); |
| | | // AtomicInteger offLine = new AtomicInteger(0); |
| | | // |
| | | // DeviceOnLineCountVO xixunLed = new DeviceOnLineCountVO(); |
| | | // xiXuns.forEach( |
| | | // device -> { |
| | | // String s = redisUtils.get(DeviceRedisKey.XIXUN + device.getLightemitControlCode()); |
| | | // if (s != null) { |
| | | // RedisDeviceStatus redisDeviceStatus = JSON.parseObject(s, RedisDeviceStatus.class); |
| | | // if (redisDeviceStatus.getStatus() == 0) { |
| | | // //在线 |
| | | // onLine.getAndIncrement(); |
| | | // } else { |
| | | // //离线 |
| | | // offLine.getAndIncrement(); |
| | | // } |
| | | // } else { |
| | | // offLine.getAndIncrement(); |
| | | // } |
| | | // } |
| | | // ); |
| | | // |
| | | // xixunLed.setTotalCount(xiXuns.size()); |
| | | // xixunLed.setOnlineCount(onLine.get()); |
| | | // xixunLed.setOfflineCount(offLine.get()); |
| | | // |
| | | // onLineCountVO.setLedXiXun(xixunLed); |
| | | // System.out.println("熙汛执行时间: " + LocalDateTime.now()); |
| | | // countDownLatchUtil.countDown(str); |
| | | // } |
| | | // }).start(); |
| | | try { |
| | | countDownLatch.await(20000, TimeUnit.MILLISECONDS); |
| | | countDownLatchUtil.remove(str); |
| | |
| | | setCount(PoleResult); |
| | | |
| | | CommonPage commonPage = ListPagingUtils.pages(PoleResult, pageNo, pageSize); |
| | | |
| | | // |
| | | return commonPage; |
| | | } |
| | | |
| | |
| | | //获取一个7位随机数 |
| | | String str = RandomStringUtils.randomAlphanumeric(7); |
| | | countDownLatchUtil.push(str, countDownLatch); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SpringContextHolder.getBean(IpVolumeService.class).setCacheData(); |
| | | countDownLatchUtil.countDown(str); |
| | | System.out.println("音柱执行"); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // SpringContextHolder.getBean(IpVolumeService.class).setCacheData(); |
| | | // countDownLatchUtil.countDown(str); |
| | | // System.out.println("音柱执行"); |
| | | // |
| | | // } |
| | | // }).start(); |
| | | |
| | | } |
| | | }).start(); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SpringContextHolder.getBean(MonitorService.class).setCacheData(); |
| | | countDownLatchUtil.countDown(str); |
| | | System.out.println("摄像头执行"); |
| | | } |
| | | }).start(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // SpringContextHolder.getBean(MonitorService.class).setCacheData(); |
| | | // countDownLatchUtil.countDown(str); |
| | | // System.out.println("摄像头执行"); |
| | | // } |
| | | // }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | |
| | | System.out.println("大气执行"); |
| | | } |
| | | }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SpringContextHolder.getBean(PoleLightemitService.class).setCacheData(); |
| | | countDownLatchUtil.countDown(str); |
| | | System.out.println("熙汛执行"); |
| | | } |
| | | }).start(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // SpringContextHolder.getBean(PoleLightemitService.class).setCacheData(); |
| | | // countDownLatchUtil.countDown(str); |
| | | // System.out.println("熙汛执行"); |
| | | // } |
| | | // }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | |
| | | System.out.println("诺瓦执行"); //todo 诺瓦故障暂无 |
| | | } |
| | | }).start(); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | SpringContextHolder.getBean(PoleLightemitService.class).setCacheData(); |
| | | countDownLatchUtil.countDown(str); |
| | | System.out.println("熙汛执行"); |
| | | } |
| | | }).start(); |
| | | // new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // SpringContextHolder.getBean(PoleLightemitService.class).setCacheData(); |
| | | // countDownLatchUtil.countDown(str); |
| | | // System.out.println("熙汛执行"); |
| | | // } |
| | | // }).start(); |
| | | |
| | | |
| | | try { |