package com.moral.api.pojo.vo.user; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.Organization; import com.moral.api.entity.User; import com.moral.api.pojo.dto.user.UserDTO; import com.moral.api.pojo.dto.user.UserQueryDTO; 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.List; /** * @ClassName UserQueryVO * @Description TODO * @Author 陈凯裕 * @Date 2021/4/28 14:58 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class UserQueryVO { private long pages; private long total; private long current; private long size; private List userVOs; public static UserQueryVO convert(UserQueryDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; UserQueryVO vo = new UserQueryVO(); long pages = dto.getPages(); long total = dto.getTotal(); long current = dto.getCurrent(); long size = dto.getSize(); List dtos = dto.getUserDTOS(); List userVOs = new ArrayList<>(); if(!ObjectUtils.isEmpty(dtos)){ for (UserDTO userDTO : dtos) { UserVO userVO = convertToQueryPage(userDTO); userVOs.add(userVO); } } vo.setPages(pages); vo.setTotal(total); vo.setCurrent(current); vo.setSize(size); vo.setUserVOs(userVOs); return vo; } private static UserVO convertToQueryPage(UserDTO dto){ UserVO vo = new UserVO(); User user = dto.getUser(); Organization organization = dto.getOrganization(); vo.setAccount(user.getAccount()); vo.setOrganizationName(organization.getName()); vo.setId(user.getId()); vo.setCreateTime(DateUtils.dateToDateString(user.getCreateTime(),"yyyy-MM-dd")); vo.setExpireTime(DateUtils.dateToDateString(user.getExpireTime(),"yyyy-MM-dd")); vo.setEmail(user.getEmail()); vo.setMobile(user.getMobile()); return vo; } }