| | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.mongodb.client.result.DeleteResult; |
| | | import com.ycl.feign.UYClient; |
| | | import com.ycl.platform.domain.entity.TMonitor; |
| | | import com.ycl.platform.domain.entity.WorkOrder; |
| | | import com.ycl.platform.domain.param.UY.ImageDetectionParam; |
| | | import com.ycl.platform.domain.param.UY.MonitorQualifyParam; |
| | |
| | | .map(CompletableFuture::join) |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toList()); |
| | | //筛选出ping离线的设备,更改数据库为离线,并且更新纯车辆或纯人脸的设备的在线状态(这部分设备不会拉流检测) |
| | | |
| | | Date now = new Date(); |
| | | List<UpdateOnlineVO> onlineUpdateList = dataList.stream().map(item -> { |
| | | UpdateOnlineVO vo = new UpdateOnlineVO(); |
| | | if(item.getPingOnline()) { |
| | | vo.setOnline(ApiConstants.UY_OnlineSite_Online); |
| | | }else if(!item.getPingOnline()){ |
| | | vo.setOnline(ApiConstants.UY_OnlineSite_Offline); |
| | | List<String> offLineList = new ArrayList<>(); |
| | | List<String> onLineList = new ArrayList<>(); |
| | | //查出数据库纯车辆或纯人脸设备 |
| | | List<String> serialNumbers = monitorMapper.selectCarOrFace().stream().map(TMonitor::getSerialNumber).collect(Collectors.toList()); |
| | | dataList.forEach(item->{ |
| | | //更新纯车辆或纯人脸的设备的在线状态(这部分设备不会拉流检测) |
| | | if(item.getPingOnline() && !CollectionUtils.isEmpty(serialNumbers) && serialNumbers.contains(item.getNo())) { |
| | | onLineList.add(item.getIp()); |
| | | } else if(!item.getPingOnline()) { |
| | | //筛选出ping离线的设备,更改数据库为离线 |
| | | offLineList.add(item.getIp()); |
| | | } |
| | | vo.setIp(item.getIp()); |
| | | vo.setUpdateTime(now); |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | monitorMapper.updateOnline(onlineUpdateList); |
| | | }); |
| | | if(!CollectionUtils.isEmpty(offLineList)) { |
| | | monitorMapper.batchUpdateOnline(offLineList, now, ApiConstants.UY_OnlineSite_Offline); |
| | | } |
| | | if(!CollectionUtils.isEmpty(onLineList)) { |
| | | monitorMapper.batchUpdateOnline(onLineList, now, ApiConstants.UY_OnlineSite_Online); |
| | | } |
| | | //存放到mongo |
| | | if (!CollectionUtils.isEmpty(dataList)) { |
| | | //如果存在之前的数据先删除 |