61 lines
1.5 KiB
Java
61 lines
1.5 KiB
Java
package com.yunhai.userbase.entity;
|
||
|
||
import com.yunhai.userbase.common.validation.ValidationGroups;
|
||
import lombok.Data;
|
||
import lombok.EqualsAndHashCode;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
import javax.persistence.*;
|
||
import javax.validation.constraints.NotNull;
|
||
import java.time.LocalDateTime;
|
||
|
||
/**
|
||
* @author chenx
|
||
* @date 2026/7/15 15:05
|
||
* @description 用户当前角色
|
||
*/
|
||
@Data
|
||
@NoArgsConstructor
|
||
@Entity
|
||
@Table(
|
||
name = "sys_user_current_role",
|
||
uniqueConstraints = @UniqueConstraint(columnNames = {"userId"}),
|
||
indexes = {@Index(columnList = "userId")}
|
||
)
|
||
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)
|
||
public class SysUserCurrentRole {
|
||
|
||
@Id
|
||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||
@NotNull(groups = ValidationGroups.Update.class)
|
||
private Integer id;
|
||
|
||
/**
|
||
* 用户ID,一对一唯一
|
||
*/
|
||
@Column(nullable = false)
|
||
private Integer userId;
|
||
|
||
/**
|
||
* 用户切换选中的身份归属学校(恒为真实组 id:学校组/区域组/根直属=根节点 id;原「区域/学段/根直属=0或null」约定废弃)
|
||
*/
|
||
private Integer schoolId;
|
||
/**
|
||
* 用户切换后生效角色ID(SysRoleEnum.key)
|
||
*/
|
||
private Integer roleId;
|
||
|
||
/**
|
||
* 最近一次切换时间(服务端 now() 写入)
|
||
*/
|
||
@Column(name = "switch_time")
|
||
private LocalDateTime switchTime;
|
||
|
||
/**
|
||
* 学校名冗余(避免每次 join sys_group 取 name)
|
||
*/
|
||
@Column(name = "school_name", length = 100)
|
||
private String schoolName;
|
||
|
||
}
|