namespace Admin.NET.Core; /// /// 系统用户表 /// [SugarTable(null, "系统用户表")] [SysTable] [SugarIndex("index_{table}_A", nameof(Account), OrderByType.Asc)] [SugarIndex("index_{table}_P", nameof(Phone), OrderByType.Asc)] public class SysUser : EntityTenant { /// /// 账号 /// [SugarColumn(ColumnDescription = "账号", Length = 32)] [Required, MaxLength(32)] public virtual string Account { get; set; } /// /// 密码 /// [SugarColumn(ColumnDescription = "密码", Length = 512)] [MaxLength(512)] [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] public virtual string Password { get; set; } /// /// 真实姓名 /// [SugarColumn(ColumnDescription = "真实姓名", Length = 32)] [MaxLength(32)] public virtual string RealName { get; set; } /// /// 昵称 /// [SugarColumn(ColumnDescription = "昵称", Length = 32)] [MaxLength(32)] public string? NickName { get; set; } /// /// 头像 /// [SugarColumn(ColumnDescription = "头像", Length = 512)] [MaxLength(512)] public string? Avatar { get; set; } /// /// 性别-男_1、女_2 /// [SugarColumn(ColumnDescription = "性别")] public GenderEnum Sex { get; set; } = GenderEnum.Male; /// /// 年龄 /// [SugarColumn(ColumnDescription = "年龄")] public int Age { get; set; } /// /// 出生日期 /// [SugarColumn(ColumnDescription = "出生日期")] public DateTime? Birthday { get; set; } /// /// 民族 /// [SugarColumn(ColumnDescription = "民族", Length = 32)] [MaxLength(32)] public string? Nation { get; set; } /// /// 手机号码 /// [SugarColumn(ColumnDescription = "手机号码", Length = 16)] [MaxLength(16)] public string? Phone { get; set; } /// /// 证件类型 /// [SugarColumn(ColumnDescription = "证件类型")] public CardTypeEnum CardType { get; set; } /// /// 身份证号 /// [SugarColumn(ColumnDescription = "身份证号", Length = 32)] [MaxLength(32)] public string? IdCardNum { get; set; } /// /// 邮箱 /// [SugarColumn(ColumnDescription = "邮箱", Length = 64)] [MaxLength(64)] public string? Email { get; set; } /// /// 地址 /// [SugarColumn(ColumnDescription = "地址", Length = 256)] [MaxLength(256)] public string? Address { get; set; } /// /// 文化程度 /// [SugarColumn(ColumnDescription = "文化程度")] public CultureLevelEnum CultureLevel { get; set; } /// /// 政治面貌 /// [SugarColumn(ColumnDescription = "政治面貌", Length = 16)] [MaxLength(16)] public string? PoliticalOutlook { get; set; } /// /// 毕业院校 /// COLLEGE [SugarColumn(ColumnDescription = "毕业院校", Length = 128)] [MaxLength(128)] public string? College { get; set; } /// /// 办公电话 /// [SugarColumn(ColumnDescription = "办公电话", Length = 16)] [MaxLength(16)] public string? OfficePhone { get; set; } /// /// 紧急联系人 /// [SugarColumn(ColumnDescription = "紧急联系人", Length = 32)] [MaxLength(32)] public string? EmergencyContact { get; set; } /// /// 紧急联系人电话 /// [SugarColumn(ColumnDescription = "紧急联系人电话", Length = 16)] [MaxLength(16)] public string? EmergencyPhone { get; set; } /// /// 紧急联系人地址 /// [SugarColumn(ColumnDescription = "紧急联系人地址", Length = 256)] [MaxLength(256)] public string? EmergencyAddress { get; set; } /// /// 个人简介 /// [SugarColumn(ColumnDescription = "个人简介", Length = 512)] [MaxLength(512)] public string? Introduction { get; set; } /// /// 排序 /// [SugarColumn(ColumnDescription = "排序")] public int OrderNo { get; set; } = 100; /// /// 状态 /// [SugarColumn(ColumnDescription = "状态")] public StatusEnum Status { get; set; } = StatusEnum.Enable; /// /// 备注 /// [SugarColumn(ColumnDescription = "备注", Length = 256)] [MaxLength(256)] public string? Remark { get; set; } /// /// 账号类型 /// [SugarColumn(ColumnDescription = "账号类型")] public AccountTypeEnum AccountType { get; set; } = AccountTypeEnum.NormalUser; /// /// 直属机构Id /// [SugarColumn(ColumnDescription = "直属机构Id")] public long OrgId { get; set; } /// /// 直属机构 /// [Navigate(NavigateType.OneToOne, nameof(OrgId))] public SysOrg SysOrg { get; set; } /// /// 直属主管Id /// [SugarColumn(ColumnDescription = "直属主管Id")] public long? ManagerUserId { get; set; } /// /// 直属主管 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] [Navigate(NavigateType.OneToOne, nameof(ManagerUserId))] public SysUser ManagerUser { get; set; } /// /// 职位Id /// [SugarColumn(ColumnDescription = "职位Id")] public long PosId { get; set; } /// /// 职位 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] [Navigate(NavigateType.OneToOne, nameof(PosId))] public SysPos SysPos { get; set; } /// /// 工号 /// [SugarColumn(ColumnDescription = "工号", Length = 32)] [MaxLength(32)] public string? JobNum { get; set; } /// /// 职级 /// [SugarColumn(ColumnDescription = "职级", Length = 32)] [MaxLength(32)] public string? PosLevel { get; set; } /// /// 职称 /// [SugarColumn(ColumnDescription = "职称", Length = 32)] [MaxLength(32)] public string? PosTitle { get; set; } /// /// 擅长领域 /// [SugarColumn(ColumnDescription = "擅长领域", Length = 32)] [MaxLength(32)] public string? Expertise { get; set; } /// /// 办公区域 /// [SugarColumn(ColumnDescription = "办公区域", Length = 32)] [MaxLength(32)] public string? OfficeZone { get; set; } /// /// 办公室 /// [SugarColumn(ColumnDescription = "办公室", Length = 32)] [MaxLength(32)] public string? Office { get; set; } /// /// 入职日期 /// [SugarColumn(ColumnDescription = "入职日期")] public DateTime? JoinDate { get; set; } /// /// 最新登录Ip /// [SugarColumn(ColumnDescription = "最新登录Ip", Length = 256)] [MaxLength(256)] public string? LastLoginIp { get; set; } /// /// 最新登录地点 /// [SugarColumn(ColumnDescription = "最新登录地点", Length = 128)] [MaxLength(128)] public string? LastLoginAddress { get; set; } /// /// 最新登录时间 /// [SugarColumn(ColumnDescription = "最新登录时间")] public DateTime? LastLoginTime { get; set; } /// /// 最新登录设备 /// [SugarColumn(ColumnDescription = "最新登录设备", Length = 128)] [MaxLength(128)] public string? LastLoginDevice { get; set; } /// /// 电子签名 /// [SugarColumn(ColumnDescription = "电子签名", Length = 512)] [MaxLength(512)] public string? Signature { get; set; } }