content: package org.ruoyi.common.core.domain.model;
  
  import lombok.Data;
  import lombok.NoArgsConstructor;
  import org.ruoyi.common.core.domain.dto.RoleDTO;
  
  import java.io.Serial;
  import java.io.Serializable;
  import java.util.List;
  import java.util.Set;
  
  /**
   * 登录用户身份权限
   *
   * @author Lion Li
   */
  
  @Data
  @NoArgsConstructor
  public class LoginUser implements Serializable {
  
      @Serial
      private static final long serialVersionUID = 1L;
  
      /**
       * 租户ID
       */
      private String tenantId;
  
      /**
       * 用户ID
       */
      private Long userId;
  
      /**
       * 部门ID
       */
      private Long deptId;
  
      /**
       * 部门名
       */
      private String deptName;
  
      /**
       * 用户唯一标识
       */
      private String token;
  
      /**
       * 用户类型
       */
      private String userType;
  
      /**
       * 登录时间
       */
      private Long loginTime;
  
      /**
       * 过期时间
       */
      private Long expireTime;
  
      /**
       * 登录IP地址
       */
      private String ipaddr;
  
      /**
       * 登录地点
       */
      private String loginLocation;
  
      /**
       * 浏览器类型
       */
      private String browser;
  
      /**
       * 操作系统
       */
      private String os;
  
      /**
       * 菜单权限
       */
      private Set<String> menuPermission;
  
      /**
       * 角色权限
       */
      private Set<String> rolePermission;
  
      /**
       * 用户名
       */
      private String username;
  
      /**
       * 用户名
       */
      private String nickName;
  
      /**
       * 微信头像
       */
      private String avatar;
  
      /**
       * 角色对象
       */
      private List<RoleDTO> roles;
  
      /**
       * 数据权限 当前角色ID
       */
      private Long roleId;
  
      /**
       * 关联角色类型
       */
      private String kroleGroupType;
  
      /**
       * 关联角色id
       */
      private String kroleGroupIds;
  
      /**
       * 获取登录id
       */
      public String getLoginId() {
          if (userType == null) {
              throw new IllegalArgumentException("用户类型不能为空");
          }
          if (userId == null) {
              throw new IllegalArgumentException("用户ID不能为空");
          }
          return userType + ":" + userId;
      }
  
  }
  