package com.doumee.service.business.third.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; 
 | 
    } 
 | 
} 
 |