package com.moral.api.pojo.vo.organization; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.Organization; import com.moral.api.pojo.dto.organization.OrganizationDTO; import com.moral.api.pojo.dto.organization.OrganizationQueryDTO; 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 OrganizationQueryVO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/26 13:52 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class OrganizationQueryVO { private long pages; private long total; private long current; private long size; private List organizations; public static OrganizationQueryVO convert(OrganizationQueryDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; OrganizationQueryVO vo = new OrganizationQueryVO(); long page = dto.getPage(); long total = dto.getTotal(); long current = dto.getCurrent(); long size = dto.getSize(); List organizationDTOS = dto.getOrganizationDTOS(); List organizationVOS = new ArrayList<>(); for (OrganizationDTO organizationDTO : organizationDTOS) { OrganizationVO organizationVO = convertToQueryPage(organizationDTO); organizationVOS.add(organizationVO); } vo.setCurrent(current); vo.setOrganizations(organizationVOS); vo.setPages(page); vo.setSize(size); vo.setTotal(total); return vo; } /** * @Description: 转换查询界面需要展现的参数 * @Param: [dto] * @return: com.moral.api.pojo.vo.organization.OrganizationVO * @Author: 陈凯裕 * @Date: 2021/3/26 */ private static OrganizationVO convertToQueryPage(OrganizationDTO dto) { OrganizationVO vo = new OrganizationVO(); Organization organization = dto.getOrganization(); Organization parentOrganization = dto.getParentOrganization(); Date createTime = organization.getCreateTime(); Date expireTime = organization.getExpireTime(); String createTimeStr = DateUtils.dateToDateString(createTime, "yyyy-MM-dd"); String exipreTimeStr = DateUtils.dateToDateString(expireTime, "yyyy-MM-dd"); vo.setId(organization.getId()); vo.setName(organization.getName()); if (!ObjectUtils.isEmpty(parentOrganization)) vo.setParentName(parentOrganization.getName()); vo.setPhone(organization.getPhone()); vo.setEmail(organization.getEmail()); vo.setWechat(organization.getWechat()); vo.setAddress(organization.getAddress()); vo.setCreateTime(createTimeStr); vo.setExpireTime(exipreTimeStr); vo.setLocationLevelCode(organization.getLocationLevelCode()); vo.setLocationLevelName(organization.getLocationLevelName()); return vo; } }