package com.moral.api.pojo.vo.Version; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.Sensor; import com.moral.api.entity.Version; import com.moral.api.pojo.dto.version.VersionDTO; import com.moral.api.pojo.vo.sensor.SensorVO; import com.moral.util.DateUtils; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @ClassName VersionVO * @Description TODO * @Author 陈凯裕 * @Date 2021/5/14 15:44 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class VersionVO { private Integer id; private String name; private String createTime; private String updateTime; private String isDelete; private String desc; private List sensors; public static VersionVO convert(VersionDTO dto){ return convertToQueryPage(dto); } private static VersionVO convertToQueryPage(VersionDTO dto) { VersionVO vo = new VersionVO(); Version version = dto.getVersion(); Integer id = version.getId(); String desc = version.getDesc(); String name = version.getName(); Date createTime = version.getCreateTime(); Date updateTime = version.getUpdateTime(); List sensors = version.getSensors(); List sensorVOS = new ArrayList<>(); if(!ObjectUtils.isEmpty(sensors)){ for (Sensor sensor : sensors) { SensorVO sensorVO = convertToSensorVO(sensor); sensorVOS.add(sensorVO); } } vo.setId(id); vo.setDesc(desc); vo.setName(name); vo.setCreateTime(DateUtils.dateToDateString(createTime,"yyyy-MM-dd")); vo.setUpdateTime(DateUtils.dateToDateString(updateTime,"yyyy-MM-dd")); vo.setSensors(sensorVOS); return vo; } private static SensorVO convertToSensorVO(Sensor sensor) { SensorVO vo = new SensorVO(); vo.setName(sensor.getName()); vo.setId(sensor.getId()); vo.setUnit(sensor.getUnit()); vo.setUpper(sensor.getUpper()); vo.setLower(sensor.getLower()); vo.setUnitKey(sensor.getUnitKey()); return vo; } }