package com.doumee.core.model; 
 | 
  
 | 
import com.doumee.core.constants.Constants; 
 | 
import com.doumee.core.utils.DateUtil; 
 | 
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.math.BigDecimal; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 登录用户信息 
 | 
 * @author Eva.Caesar Liu 
 | 
 * @date 2022/03/15 09:54 
 | 
 */ 
 | 
@Data 
 | 
public class LoginUserInfo implements Serializable { 
 | 
  
 | 
    @ApiModelProperty(value = "编号") 
 | 
    private String   id         ;//            编号 
 | 
  
 | 
    @ApiModelProperty(value = "上次登陆时间") 
 | 
    private String  last_login     ;// 
 | 
    @ApiModelProperty(value = "用户名") 
 | 
    private String  username      ;// 
 | 
    @ApiModelProperty(value = "姓名") 
 | 
    private String   real_name    ;// 
 | 
    @ApiModelProperty(value = "昵称") 
 | 
    private String  nickname      ;// 
 | 
    @ApiModelProperty(value = "头像url") 
 | 
    private String  avatar       ;// 
 | 
    @ApiModelProperty(value = "性别") 
 | 
    private String  sex          ;// 
 | 
    @ApiModelProperty(value = "手机号") 
 | 
    private String phone         ;// 
 | 
    @ApiModelProperty(value = "用户类型") 
 | 
    private String  user_type      ;// 
 | 
    @ApiModelProperty(value = "状态 0启用 1禁用") 
 | 
    private Integer  status     ;// 
 | 
  
 | 
    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.setLast_login(DateUtil.getPlusTime2(user.getLastLogin())); 
 | 
        loginUserInfo.setReal_name(user.getRealname()); 
 | 
        loginUserInfo.setStatus(user.getStatus()); 
 | 
        loginUserInfo.setPhone(user.getMobile()); 
 | 
        if(roles!=null){ 
 | 
              // 设置角色信息 
 | 
              List<String> rs = new ArrayList<>(); 
 | 
              for (SystemRole role : roles) { 
 | 
                  rs.add(role.getCode()); 
 | 
              } 
 | 
              loginUserInfo.setRoles(rs); 
 | 
        } 
 | 
        if(permissions!=null){ 
 | 
            // 设置权限信息 
 | 
            List<String> pms = new ArrayList<>(); 
 | 
            for (SystemPermission permission : permissions) { 
 | 
                pms.add(permission.getCode()); 
 | 
            } 
 | 
            loginUserInfo.setPermissions(pms); 
 | 
        } 
 | 
        return loginUserInfo; 
 | 
    } 
 | 
} 
 |