| 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 { | 
|     private static final long   serialVersionUID = -5021804768443600712l; | 
|     @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; | 
|     } | 
| } |