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.setCode(sensor.getCode());
|
vo.setUnit(sensor.getUnit());
|
vo.setMaxValue(sensor.getMaxValue());
|
vo.setMinValue(sensor.getMinValue());
|
vo.setUnitKey(sensor.getUnitKey());
|
return vo;
|
}
|
}
|