package com.moral.api.pojo.vo;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.moral.api.entity.ManageAccount;
|
import com.moral.api.entity.ManageMenu;
|
import com.moral.api.entity.ManageRole;
|
import com.moral.api.pojo.dto.AccountDTO;
|
import com.moral.api.pojo.dto.AccountInfoDTO;
|
import lombok.Data;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @ClassName AccountInfoVO
|
* @Description TODO
|
* @Author 陈凯裕
|
* @Date 2021/3/13 16:11
|
* @Version TODO
|
**/
|
@Data
|
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
public class AccountInfoVO {
|
/*
|
* 用户Id
|
* */
|
private Integer accountId;
|
|
/*
|
* 用户名称
|
* */
|
private String userName;
|
|
|
/*
|
* 用户角色
|
* */
|
private List<String> roleNames;
|
|
/*
|
* 用户菜单
|
* */
|
private List<ManageMenu> menus;
|
|
/**
|
* @Description: DTO转换VO
|
* @Param: [dto]
|
* @return: com.moral.api.pojo.vo.AccountInfoVO
|
* @Author: 陈凯裕
|
* @Date: 2021/3/13
|
*/
|
public static AccountInfoVO convert(AccountInfoDTO dto){
|
AccountInfoVO vo = new AccountInfoVO();
|
ManageAccount account = dto.getAccount();
|
List<ManageMenu> menus = dto.getMenus();
|
List<ManageRole> roles = dto.getRoles();
|
//封装roleNames
|
ArrayList<String> roleNames = new ArrayList<>();
|
roles.forEach(role->roleNames.add(role.getName()));
|
/*过滤menu无用属性*/
|
for (ManageMenu menu : menus) {
|
menu.setCreateTime(null);
|
menu.setIsDelete(null);
|
menu.setUpdateTime(null);
|
menu.setParentId(null);
|
List<ManageMenu> children = menu.getChildren();
|
for (ManageMenu child : children) {
|
child.setCreateTime(null);
|
child.setIsDelete(null);
|
child.setUpdateTime(null);
|
child.setParentId(null);
|
}
|
}
|
vo.setAccountId(account.getId());
|
vo.setUserName(account.getUserName());
|
vo.setMenus(menus);
|
vo.setRoleNames(roleNames);
|
return vo;
|
}
|
|
}
|