| package com.moral.api.pojo.vo.organization; | 
|   | 
| import com.fasterxml.jackson.annotation.JsonInclude; | 
| import com.moral.api.entity.Organization; | 
| import com.moral.api.entity.User; | 
| import com.moral.api.pojo.dto.organization.OrganizationDTO; | 
| import com.moral.api.pojo.dto.organization.OrganizationQueryDTO; | 
| import com.moral.api.pojo.vo.user.UserVO; | 
| 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<OrganizationVO> organizations; | 
|   | 
|     public static OrganizationQueryVO convert(OrganizationQueryDTO dto) { | 
|         if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) | 
|             return null; | 
|         OrganizationQueryVO vo = new OrganizationQueryVO(); | 
|         long pages = dto.getPages(); | 
|         long total = dto.getTotal(); | 
|         long current = dto.getCurrent(); | 
|         long size = dto.getSize(); | 
|         List<OrganizationDTO> organizationDTOS = dto.getOrganizationDTOS(); | 
|         List<OrganizationVO> organizationVOS = new ArrayList<>(); | 
|         for (OrganizationDTO organizationDTO : organizationDTOS) { | 
|             OrganizationVO organizationVO = convertToQueryPage(organizationDTO); | 
|             organizationVOS.add(organizationVO); | 
|         } | 
|   | 
|         vo.setCurrent(current); | 
|         vo.setOrganizations(organizationVOS); | 
|         vo.setPages(pages); | 
|         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(); | 
|         User adminUser = dto.getAdminUser(); | 
|         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.setAdminUserId(organization.getAdminUserId()); | 
|         vo.setProvinceCode(organization.getProvinceCode()); | 
|         vo.setCityCode(organization.getCityCode()); | 
|         vo.setAreaCode(organization.getAreaCode()); | 
|         vo.setProvinceCityAreaName(organization.getProvinceName() + "/" + organization.getCityName() + "/" + organization.getAreaName()); | 
|         vo.setLocationLevelCode(organization.getLocationLevelCode()); | 
|         vo.setLocationLevelName(organization.getLocationLevelName()); | 
|         //封装组织admin账号信息 | 
|         if (!ObjectUtils.isEmpty(adminUser)) { | 
|             UserVO adminUserVO = new UserVO(); | 
|             String adminUserCreateTimeStr = DateUtils.dateToDateString(adminUser.getCreateTime(), "yyyy-MM-dd"); | 
|             String adminUserExpireTimeStr = DateUtils.dateToDateString(adminUser.getExpireTime(), "yyyy-MM-dd"); | 
|             adminUserVO.setId(adminUser.getId()); | 
|             adminUserVO.setMobile(adminUser.getMobile()); | 
|             adminUserVO.setEmail(adminUser.getEmail()); | 
|             adminUserVO.setWechat(adminUser.getWechat()); | 
|             adminUserVO.setAccount(adminUser.getAccount()); | 
|             adminUserVO.setExpireTime(adminUserExpireTimeStr); | 
|             adminUserVO.setCreateTime(adminUserCreateTimeStr); | 
|             adminUserVO.setUserName(adminUser.getUserName()); | 
|             adminUserVO.setOrganizationName(organization.getName()); | 
|             vo.setAdminUserAccount(adminUser.getAccount()); | 
|             vo.setAdminUser(adminUserVO); | 
|         }else{ | 
|             vo.setAdminUser(new UserVO()); | 
|         } | 
|         return vo; | 
|     } | 
| } |