| 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.dto.version.VersionQueryDTO; | 
| import com.moral.api.pojo.vo.sensor.SensorVO; | 
| import com.moral.constant.ResponseCodeEnum; | 
| 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 VersionQueryVO | 
|  * @Description TODO | 
|  * @Author 陈凯裕 | 
|  * @Date 2021/5/14 15:42 | 
|  * @Version TODO | 
|  **/ | 
| @Data | 
| @JsonInclude(JsonInclude.Include.NON_EMPTY) | 
| public class VersionQueryVO { | 
|   | 
|     private long pages; | 
|   | 
|     private long total; | 
|   | 
|     private long current; | 
|   | 
|     private long size; | 
|   | 
|     private List<VersionVO> versions; | 
|   | 
|     public static VersionQueryVO convert(VersionQueryDTO dto) { | 
|         if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) | 
|             return null; | 
|         VersionQueryVO vo = new VersionQueryVO(); | 
|   | 
|         long pages = dto.getPages(); | 
|         long total = dto.getTotal(); | 
|         long current = dto.getCurrent(); | 
|         long size = dto.getSize(); | 
|         List<VersionDTO> dtos = dto.getVersionDTOS(); | 
|         List<VersionVO> versionVOS = new ArrayList<>(); | 
|         for (VersionDTO versionDTO : dtos) { | 
|             VersionVO versionVO = convertToQueryPage(versionDTO); | 
|             versionVOS.add(versionVO); | 
|         } | 
|         vo.setPages(pages); | 
|         vo.setTotal(total); | 
|         vo.setCurrent(current); | 
|         vo.setSize(size); | 
|         vo.setVersions(versionVOS); | 
|         return vo; | 
|     } | 
|   | 
|     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<Sensor> sensors = version.getSensors(); | 
|         List<SensorVO> 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()); | 
|         vo.setCode(sensor.getCode()); | 
|         return vo; | 
|     } | 
| } |