package tech.powerjob.server.persistence.remote.model; import lombok.Data; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import java.util.Date; /** * 用户信息表 * PowerJob 自身维护的全部用户体系数据 * 5.0.0 可能不兼容改动:为了支持第三方登录,需要通过 username 与第三方登录系统做匹配,该列需要声明为唯一索引,确保全局唯一 * * @author tjq * @since 2020/4/12 */ @Data @Entity @Table(uniqueConstraints = { @UniqueConstraint(name = "uidx01_user_name", columnNames = {"username"}) }, indexes = { @Index(name = "uidx02_user_info", columnList = "email") }) public class UserInfoDO { @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "native") @GenericGenerator(name = "native", strategy = "native") private Long id; /** * 账号类型 */ private String accountType; private String username; /** * since 5.0.0 * 昵称(第三方登陆的 username 很难识别,方便后续展示引入 nick) */ private String nick; private String password; /** * 手机号 */ private String phone; /** * 邮箱地址 */ private String email; /** * webHook */ private String webHook; /** * JWT 登录的二次校验信息 */ private String tokenLoginVerifyInfo; /** * 扩展字段 for 第三方 * PowerJob 内部不允许使用该字段 */ private String extra; /** * 原始账号 username */ private String originUsername; /** * 账号当前状态 */ private Integer status; private Date gmtCreate; private Date gmtModified; }