package com.moral.api.pojo.vo.account; 
 | 
  
 | 
import com.fasterxml.jackson.annotation.JsonInclude; 
 | 
import com.moral.api.entity.ManageAccount; 
 | 
import com.moral.api.entity.ManageRole; 
 | 
import com.moral.api.pojo.dto.account.AccountDTO; 
 | 
import com.moral.api.pojo.dto.account.AccountQueryDTO; 
 | 
import com.moral.constant.ResponseCodeEnum; 
 | 
import lombok.Data; 
 | 
import org.springframework.util.ObjectUtils; 
 | 
  
 | 
import java.text.SimpleDateFormat; 
 | 
import java.util.ArrayList; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * @ClassName AccountPageVO 
 | 
 * @Description TODO 
 | 
 * @Author 陈凯裕 
 | 
 * @Date 2021/3/15 13:25 
 | 
 * @Version TODO 
 | 
 **/ 
 | 
@Data 
 | 
@JsonInclude(JsonInclude.Include.NON_EMPTY) 
 | 
public class AccountQueryVO { 
 | 
  
 | 
    private long pages; 
 | 
  
 | 
    private long total; 
 | 
  
 | 
    private long current; 
 | 
  
 | 
    private long size; 
 | 
  
 | 
    private List<AccountVO> accountVOs; 
 | 
  
 | 
    public static AccountQueryVO convert(AccountQueryDTO dto) { 
 | 
        if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) 
 | 
            return null; 
 | 
  
 | 
        long total = dto.getTotal(); 
 | 
        long current = dto.getCurrent(); 
 | 
        long pages = dto.getPages(); 
 | 
        long size = dto.getSize(); 
 | 
        List<AccountVO> accountVOs = new ArrayList<>(); 
 | 
        List<AccountDTO> accountDTOs = dto.getAccountDTOS(); 
 | 
        if (!ObjectUtils.isEmpty(accountDTOs)) { 
 | 
            for (AccountDTO accountDTO : accountDTOs) { 
 | 
                AccountVO vo = convertToQueryPage(accountDTO); 
 | 
                accountVOs.add(vo); 
 | 
            } 
 | 
        } 
 | 
        AccountQueryVO vo = new AccountQueryVO(); 
 | 
        vo.setTotal(total); 
 | 
        vo.setAccountVOs(accountVOs); 
 | 
        vo.setCurrent(current); 
 | 
        vo.setPages(pages); 
 | 
        vo.setSize(size); 
 | 
        return vo; 
 | 
    } 
 | 
  
 | 
    public static AccountVO convertToQueryPage(AccountDTO dto) { 
 | 
        if (dto.getAccount() == null) 
 | 
            return null; 
 | 
        AccountVO vo = new AccountVO(); 
 | 
        ManageAccount account = dto.getAccount(); 
 | 
        List<ManageRole> roles = dto.getRoles(); 
 | 
        if(!ObjectUtils.isEmpty(roles)){ 
 | 
            roles.forEach(value-> { 
 | 
                value.setIsDelete(null); 
 | 
                value.setCreateTime(null); 
 | 
                value.setUpdateTime(null); 
 | 
                value.setDesc(null); 
 | 
            }); 
 | 
        } 
 | 
        vo.setId(account.getId()); 
 | 
        vo.setAccount(account.getAccount()); 
 | 
        vo.setUserName(account.getUserName()); 
 | 
        vo.setEmail(account.getEmail()); 
 | 
        vo.setMobile(account.getMobile()); 
 | 
        vo.setWechat(account.getWechat()); 
 | 
        vo.setRoles(roles); 
 | 
        //Date转换String 
 | 
        Date createTime = account.getCreateTime(); 
 | 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
        String createTimeStr = sdf.format(createTime); 
 | 
        vo.setCreateTime(createTimeStr); 
 | 
        return vo; 
 | 
    } 
 | 
} 
 |