| | |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | import com.sandu.common.redis.RedisService; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.common.util.SpringContextHolder; |
| | | import com.sandu.ximon.admin.dto.DeviceStatus; |
| | | import com.sandu.ximon.admin.manager.iot.frame.A1Frame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder; |
| | |
| | | import com.sandu.ximon.admin.param.PoleStatesParam; |
| | | import com.sandu.ximon.admin.redis.LightKey; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.vo.PoleBindVO; |
| | | import com.sandu.ximon.dao.domain.Pole; |
| | | import com.sandu.ximon.dao.domain.PoleBinding; |
| | | import com.sandu.ximon.dao.domain.PoleGroupRelation; |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | public List<String> listDeviceCodeByIds(List<Long> poleIdList) { |
| | |
| | | |
| | | /** |
| | | * 根据灯杆id查询灯杆绑定设备 |
| | | * |
| | | * @return |
| | | */ |
| | | public List<Pole> getBindByPoleId(Long poleId){ |
| | | public PoleBindVO getBindByPoleId(Long poleId) { |
| | | List<PoleBinding> bind = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId)); |
| | | |
| | | return list(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId,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; |
| | | } |
| | | |
| | | |
| | | public Pole getPoleByMac(Long poleId) { |
| | | Pole one = getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId)); |
| | | ArrayList<String> macs = new ArrayList<>(); |
| | | macs.add(one.getDeviceCode()); |
| | | List<DeviceStatus> deviceStatuses = listStatusByDeviceCode(macs); |
| | | if (deviceStatuses.get(0).getStatus() == 0) { |
| | | one.setOnLineState("离线"); |
| | | } else if (deviceStatuses.get(0).getStatus() == 1) { |
| | | one.setOnLineState("在线"); |
| | | } else if (deviceStatuses.get(0).getStatus() == 2) { |
| | | one.setOnLineState("未激活"); |
| | | } else if (deviceStatuses.get(0).getStatus() == 3) { |
| | | one.setOnLineState("不可用"); |
| | | } else { |
| | | one.setOnLineState("未知"); |
| | | } |
| | | return one; |
| | | } |
| | | } |