package com.doumee.core.model;
|
|
import com.doumee.core.utils.Constants;
|
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 com.github.xiaoymin.knife4j.core.util.CollectionUtils;
|
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/03/21 14:49
|
*/
|
@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 Integer memberId;
|
private Integer type;
|
private Integer needChangePwd;
|
private String mobile;
|
private String sessionId;
|
private String hkMenuToken;
|
|
private Date loginDate;
|
@ApiModelProperty(value = "账户来源:0=后台添加 ; 2=司机注册")
|
private Integer source;
|
|
private List<String> roles;
|
|
private List<String> permissions;
|
private List<Integer> companyIdList;
|
private Company company;
|
|
//jwt登录设置
|
public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions,Company company,String sessionId) {
|
if (user == null) {
|
return null;
|
}
|
// 拷贝用户信息
|
LoginUserInfo loginUserInfo = new LoginUserInfo();
|
BeanUtils.copyProperties(user, loginUserInfo);
|
loginUserInfo.setCompany(company);
|
// 设置角色信息
|
List<String> rs = new ArrayList<>();
|
if(CollectionUtils.isNotEmpty(roles)){
|
for (SystemRole role : roles) {
|
rs.add(role.getCode());
|
}
|
}
|
loginUserInfo.setNeedChangePwd(Constants.formatIntegerNum(user.getNeedChangePwd()));
|
loginUserInfo.setSessionId(sessionId);
|
loginUserInfo.setRoles(rs);
|
// 设置权限信息
|
List<String> pms = new ArrayList<>();
|
if(CollectionUtils.isNotEmpty(permissions)){
|
for (SystemPermission permission : permissions) {
|
pms.add(permission.getCode());
|
}
|
}
|
loginUserInfo.setPermissions(pms);
|
return loginUserInfo;
|
}
|
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);
|
// 设置角色信息
|
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;
|
}
|
}
|