package com.moral.api.pojo.vo.sysDictType; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.SysDictData; import com.moral.api.entity.SysDictType; import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO; import com.moral.api.pojo.dto.sysDictType.SysDictTypeQueryDTO; import com.moral.api.pojo.vo.sysDictData.SysDictDataVO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; /** * @ClassName SysDictTypeQueryVO * @Description TODO * @Author 陈凯裕 * @Date 2021/4/15 10:22 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class SysDictTypeQueryVO { List sysDictTypes; public static SysDictTypeQueryVO convert(SysDictTypeQueryDTO dto){ //判断是否业务层是否成功 if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; //创建返回对象 SysDictTypeQueryVO queryVO = new SysDictTypeQueryVO(); //构建返回对象所需属性 List typeVOS = new ArrayList<>(); //将DTO参数转化为VO参数 List sysDictTypeDTOs = dto.getSysDictTypeDTOS(); if(!ObjectUtils.isEmpty(sysDictTypeDTOs)){ for (SysDictTypeDTO sysDictTypeDTO : sysDictTypeDTOs) { SysDictTypeVO sysDictTypeVO = convertToQueryPage(sysDictTypeDTO); typeVOS.add(sysDictTypeVO); } } queryVO.setSysDictTypes(typeVOS); return queryVO; } /** * @Description: DTO转化为VO * @Param: [dto] * @return: com.moral.api.pojo.vo.manageLog.SysDictTypeVO * @Author: 陈凯裕 * @Date: 2021/4/15 */ private static SysDictTypeVO convertToQueryPage(SysDictTypeDTO dto){ //创建返回对象 SysDictTypeVO vo = new SysDictTypeVO(); //构建返回对象所需属性 List dataVOS = new ArrayList<>(); //获取DTO数据 List sysDictDatas = dto.getSysDictDatas(); SysDictType sysDictType = dto.getSysDictType(); //参数转换 if(!ObjectUtils.isEmpty(sysDictDatas)){ for (SysDictData sysDictData : sysDictDatas) { SysDictDataVO dataVO = new SysDictDataVO(); dataVO.setId(sysDictData.getId()); dataVO.setKey(sysDictData.getDataKey()); dataVO.setValue(sysDictData.getDataValue()); dataVOS.add(dataVO); } } vo.setId(sysDictType.getId()); vo.setName(sysDictType.getName()); vo.setDesc(sysDictType.getDesc()); vo.setSystem(sysDictType.getSystem()); vo.setDataVOs(dataVOS); return vo; } }