| 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; | 
|     private List<Integer> companyIdList; | 
|   | 
|     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); | 
|         loginUserInfo.setCompanyIdList(user.getCompanyIdList()); | 
|         return loginUserInfo; | 
|     } | 
| } |