| | |
| | | import com.sandu.ximon.admin.param.*; |
| | | import com.sandu.ximon.admin.redis.LightKey; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.LightemitUtils; |
| | | import com.sandu.ximon.admin.utils.RedisUtils; |
| | | import com.sandu.ximon.admin.utils.response.VnnoxResult; |
| | | import com.sandu.ximon.admin.vo.PoleBindVO; |
| | |
| | | MonitorParam monitorParam = new MonitorParam(); |
| | | monitorParam.setEquipmentState(2); |
| | | monitorParam.setBindingState(2); |
| | | List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam); |
| | | List<MonitorBo> monitorBos = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam).getList(); |
| | | monitorParam.setEquipmentState(1); |
| | | List<MonitorBo> online = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam); |
| | | List<MonitorBo> online = SpringContextHolder.getBean(MonitorService.class).listMonitorByKeyword(null, monitorParam).getList(); |
| | | result.put("monitorOnlineCount", online.size()); |
| | | result.put("monitorTotalCount", monitorBos.size()); |
| | | |
| | |
| | | number = 0; |
| | | List<AirEquipmentBo> airEquipments = SpringContextHolder.getBean(AirEquipmentService.class).listAirEquipmentByKeyword(null, null); |
| | | for (AirEquipmentBo airEquipmentBo : airEquipments) { |
| | | if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT.getCode() + airEquipmentBo.getMac()) != null) { |
| | | if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_STATE.getCode() + airEquipmentBo.getMac()) != null) { |
| | | number++; |
| | | } |
| | | } |
| | |
| | | number = 0; |
| | | List<AirEquipmentNongGengBo> airEquipmentNongGengBos = SpringContextHolder.getBean(AirEquipmentNongGengService.class).listAirEquipmentByKeyword(null, null); |
| | | for (AirEquipmentNongGengBo airEquipmentNongGengBo : airEquipmentNongGengBos) { |
| | | if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_NONG_GENG.getCode() + airEquipmentNongGengBo.getMac()) != null) { |
| | | if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_NONG_GENG_STATE.getCode() + airEquipmentNongGengBo.getMac()) != null) { |
| | | number++; |
| | | } |
| | | } |
| | |
| | | public PoleBindVO getBindByPoleId(Long poleId) { |
| | | List<PoleBinding> bind = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId)); |
| | | |
| | | PoleBindVO bindVO = new PoleBindVO(); |
| | | bindVO.setPole(getPoleByMac(poleId)); |
| | | bind.forEach(poleBinding -> { |
| | | if (poleBinding.getDeviceType() == 0) {//单灯 |
| | | bindVO.setLight(SpringContextHolder.getBean(LightService.class).getLight(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 1) {//诺瓦 |
| | | bindVO.setNova(SpringContextHolder.getBean(LedPlayerEntityService.class).getBySnAndPlayerSn(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 2) {//充电桩 |
| | | bindVO.setC3mCharging(SpringContextHolder.getBean(C3ChargingService.class).getByC3Mac(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 3) {//大气 |
| | | bindVO.setAirMonitoring(SpringContextHolder.getBean(AirEquipmentService.class).getAirEquipment(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 4) {//水质 |
| | | bindVO.setWaterMonitoring(SpringContextHolder.getBean(WaterQualityDataService.class).getWaterQualityDataInfo(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 5) {//音柱 |
| | | bindVO.setIpVolume(SpringContextHolder.getBean(IpVolumeService.class).getIpTerminalDetail(Integer.valueOf(poleBinding.getDeviceCode()))); |
| | | } else if (poleBinding.getDeviceType() == 6) {//LCD |
| | | //lcd暂无 |
| | | } else if (poleBinding.getDeviceType() == 7) {//摄像头 |
| | | bindVO.setMonitor(SpringContextHolder.getBean(MonitorService.class).getMonitorInfo(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 8) {//杆体倾测 |
| | | bindVO.setLightPoleHeeling(SpringContextHolder.getBean(LightPoleHeelingService.class).getLightPoleHeelingByMac(poleBinding.getDeviceCode())); |
| | | } else if (poleBinding.getDeviceType() == 9) {//一键求助 |
| | | //一键求助暂无 |
| | | } else if (poleBinding.getDeviceType() == 10) {//熙讯 |
| | | bindVO.setXiXun(SpringContextHolder.getBean(PoleLightemitService.class).getLedByLightControlCode(poleBinding.getDeviceCode())); |
| | | } else { |
| | | throw new BusinessException("未知设备类型"); |
| | | } |
| | | }); |
| | | return bindVO; |
| | | Map<Integer, String> map = new HashMap<>(); |
| | | for (int i = 0; i < 11; i++) { |
| | | map.put(i, null); |
| | | } |
| | | |
| | | for (PoleBinding poleBinding : bind) { |
| | | map.put(poleBinding.getDeviceType(), poleBinding.getDeviceCode()); |
| | | } |
| | | |
| | | PoleBindVO poleBindVO = new PoleBindVO(); |
| | | // //灯杆信息 |
| | | // poleBindVOTest.setPole(getPoleByMac(poleId)); |
| | | |
| | | /** |
| | | * 设备信息 |
| | | */ |
| | | //单灯 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(LightService.class).getLightInfo(map.get(0))); |
| | | //诺瓦 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(LedPlayerEntityService.class).getBySnAndPlayerSnInfo(map.get(1))); |
| | | //充电桩 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(C3ChargingService.class).getByC3MacInfo(map.get(2))); |
| | | //大气 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(AirEquipmentService.class).getAirEquipmentInfo(map.get(3))); |
| | | //水质 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(WaterQualityEquipmentService.class).getWaterQualityDataInfo(map.get(4))); |
| | | //音柱 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(IpVolumeService.class).getIpTerminalDetail(map.get(5))); |
| | | |
| | | //LCD |
| | | //lcd暂无 |
| | | |
| | | //摄像头 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(MonitorService.class).getMonitorInfo(map.get(7))); |
| | | //杆体倾测 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(LightPoleHeelingService.class).getLightPoleHeelingByMac(map.get(8))); |
| | | |
| | | //一键求助 |
| | | //一键求助暂无 |
| | | |
| | | //熙讯 |
| | | poleBindVO.getList().add(SpringContextHolder.getBean(PoleLightemitService.class).getLedByLightControlCodeInfo(map.get(10))); |
| | | |
| | | return poleBindVO; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public boolean pushAirDataToXiXun(Long poleId) { |
| | | Pole pole = getById(poleId); |
| | | //判断归属权 |
| | | if (SecurityUtils.getClientId() != null) { |
| | | if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) { |
| | | throw new BusinessException("无权限操作"); |
| | | } |
| | | } |
| | | PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3)); |
| | | PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10)); |
| | | if (pole == null) { |
| | |
| | | return SpringContextHolder.getBean(XiXunPlayerService.class).pushWeather(xixun.getDeviceCode(), data, pole); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 关闭熙讯大气推送 |
| | | */ |
| | | public void closeXiXunAirPush(Long poleId) { |
| | | Pole pole = getById(poleId); |
| | | if (SecurityUtils.getClientId() != null) { |
| | | if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) { |
| | | throw new BusinessException("无权限操作"); |
| | | } |
| | | } |
| | | PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3)); |
| | | PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10)); |
| | | if (pole == null || air == null || xixun == null) { |
| | | throw new BusinessException("设备不存在"); |
| | | } |
| | | //关闭推送 |
| | | SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode()); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 推送大气监测数据到novaLED |
| | | */ |