package com.doumee.core.model; 
 | 
  
 | 
import com.doumee.dao.business.model.Company; 
 | 
import com.doumee.dao.system.model.SystemPermission; 
 | 
import com.doumee.dao.system.model.SystemRole; 
 | 
import com.doumee.dao.system.model.SystemUser; 
 | 
import io.swagger.annotations.ApiModelProperty; 
 | 
import lombok.Data; 
 | 
import org.springframework.beans.BeanUtils; 
 | 
  
 | 
import java.io.Serializable; 
 | 
import java.util.ArrayList; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 登录用户信息 
 | 
 * @author Eva.Caesar Liu 
 | 
 * @date 2023/02/14 11:14 
 | 
 */ 
 | 
@Data 
 | 
public class LoginUserInfo implements Serializable { 
 | 
  
 | 
    private Integer id; 
 | 
  
 | 
    private String username; 
 | 
  
 | 
    private String realname; 
 | 
  
 | 
    private String avatar; 
 | 
  
 | 
    private Date birthday; 
 | 
  
 | 
    private String sex; 
 | 
    private String mobile; 
 | 
  
 | 
    private Integer companyId; 
 | 
    private Integer areaId; 
 | 
    private Integer cityId; 
 | 
    private Integer parentId; 
 | 
    private Integer type; 
 | 
    private Company company; 
 | 
  
 | 
    private List<String> roles; 
 | 
  
 | 
    private List<String> permissions; 
 | 
  
 | 
    public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions) { 
 | 
        if (user == null) { 
 | 
            return null; 
 | 
        } 
 | 
        // 拷贝用户信息 
 | 
        LoginUserInfo loginUserInfo = new LoginUserInfo(); 
 | 
        BeanUtils.copyProperties(user, loginUserInfo); 
 | 
        loginUserInfo.setCompany(user.getCompany()); 
 | 
        // 设置角色信息 
 | 
        List<String> rs = new ArrayList<>(); 
 | 
        for (SystemRole role : roles) { 
 | 
            rs.add(role.getCode()); 
 | 
        } 
 | 
        loginUserInfo.setRoles(rs); 
 | 
        // 设置权限信息 
 | 
        List<String> pms = new ArrayList<>(); 
 | 
        for (SystemPermission permission : permissions) { 
 | 
            pms.add(permission.getCode()); 
 | 
        } 
 | 
        loginUserInfo.setPermissions(pms); 
 | 
        return loginUserInfo; 
 | 
    } 
 | 
} 
 |