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;
|
}
|
}
|