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 roles; private List permissions; public static LoginUserInfo from(SystemUser user,String imgPath, List roles, List permissions) { if (user == null) { return null; } // 拷贝用户信息 LoginUserInfo loginUserInfo = new LoginUserInfo(); BeanUtils.copyProperties(user, loginUserInfo); loginUserInfo.setAvatar(Constants.formatImgPath(loginUserInfo.getAvatar(),imgPath)); loginUserInfo.setLast_login(DateUtil.getPlusTime2(user.getLastLogin())); loginUserInfo.setReal_name(user.getRealname()); loginUserInfo.setStatus(user.getStatus()); loginUserInfo.setPhone(user.getMobile()); if(roles!=null){ // 设置角色信息 List rs = new ArrayList<>(); for (SystemRole role : roles) { rs.add(role.getCode()); } loginUserInfo.setRoles(rs); } if(permissions!=null){ // 设置权限信息 List pms = new ArrayList<>(); for (SystemPermission permission : permissions) { pms.add(permission.getCode()); } loginUserInfo.setPermissions(pms); } return loginUserInfo; } }