package com.moral.api.pojo.vo.monitorPoint; import com.moral.api.entity.Device; import com.moral.api.entity.MonitorPoint; import com.moral.api.pojo.vo.device.DeviceVO; import lombok.Data; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @ClassName MonitorPointsVO * @Description TODO * @Author 陈凯裕 * @Date 2021/7/1 14:33 * @Version TODO **/ @Data public class MonitorPointsVO { private List monitorPoints; public static MonitorPointsVO convert(List monitorPoints,boolean type){ MonitorPointsVO monitorPointsVO = new MonitorPointsVO(); List monitorPointVOS = new ArrayList<>(); for (MonitorPoint monitorPoint : monitorPoints) { MonitorPointVO monitorPointVO = new MonitorPointVO(); List devices = monitorPoint.getDevices(); List deviceVOS = new ArrayList<>(); for (Device device : devices) { DeviceVO deviceVO = deviceConvert(device); deviceVOS.add(deviceVO); } List resultState = devices.stream().filter(it->!it.getState().equals("0")).collect(Collectors.toList()); monitorPointVO.setId(monitorPoint.getId()); StringBuffer stringBuffer = new StringBuffer(monitorPoint.getName()); if(type){ stringBuffer.append("("); stringBuffer.append("在线:").append(resultState.size()+"台;"); stringBuffer.append("总:").append(devices.size()+"台"); stringBuffer.append(")"); } monitorPointVO.setName(stringBuffer.toString()); monitorPointVO.setLatitude(monitorPoint.getLatitude()); monitorPointVO.setLongitude(monitorPoint.getLongitude()); monitorPointVO.setDevices(deviceVOS); monitorPointVOS.add(monitorPointVO); } monitorPointsVO.setMonitorPoints(monitorPointVOS); return monitorPointsVO; } private static DeviceVO deviceConvert(Device device){ DeviceVO vo = new DeviceVO(); vo.setName(device.getName()); vo.setMac(device.getMac()); vo.setState(device.getState()); vo.setLatitude(device.getLatitude()); vo.setLongitude(device.getLongitude()); return vo; } }