using Newtonsoft.Json; using OfficeOpenXml.Attributes; using SqlSugar; using System; using System.Collections.Generic; using System.Text; namespace ZR.Model.System { /// <summary> /// 用户表 /// </summary> [SugarTable("sys_user")] [Tenant("0")] public class SysUser : SysBase { /// <summary> /// 用户id /// </summary> [SugarColumn(IsIdentity = true, IsPrimaryKey = true)] public long UserId { get; set; } //[Duplication]//校验模板类该列数据是否重复 public string UserName { get; set; } public string NickName { get; set; } /// <summary> /// '用户类型(00系统用户)', /// </summary> //[JsonProperty(propertyName: "userType")] //public string User_type { get; set; } = ""; [SugarColumn(IsOnlyIgnoreInsert = true)] [EpplusIgnore] public string Avatar { get; set; } public string Email { get; set; } [JsonIgnore] [EpplusIgnore] public string Password { get; set; } //[ColName("手机号")] public string Phonenumber { get; set; } /// <summary> /// 用户性别(0男 1女 2未知) /// </summary> public string Sex { get; set; } /// <summary> /// 帐号状态(0正常 1停用) /// </summary> [EpplusIgnore] public string Status { get; set; } /// <summary> /// 删除标志(0代表存在 2代表删除) /// </summary> [SugarColumn(IsOnlyIgnoreInsert = true)] public string DelFlag { get; set; } /// <summary> /// 最后登录IP /// </summary> [SugarColumn(IsOnlyIgnoreInsert = true)] public string LoginIP { get; set; } /// <summary> /// 最后登录时间 /// </summary> [SugarColumn(IsOnlyIgnoreInsert = true)] [EpplusTableColumn(NumberFormat = "yyyy-MM-dd HH:mm:ss")] public DateTime LoginDate { get; set; } /// <summary> /// 部门Id /// </summary> public long DeptId { get; set; } #region 表额外字段 public bool IsAdmin() { return IsAdmin(UserId); } public static bool IsAdmin(long userId) { return 1 == userId; } /// <summary> /// 拥有角色个数 /// </summary> //[SugarColumn(IsIgnore = true)] //public int RoleNum { get; set; } [SugarColumn(IsIgnore = true)] public string DeptName { get; set; } /// <summary> /// 角色id集合 /// </summary> [SugarColumn(IsIgnore = true)] [EpplusIgnore] public long[] RoleIds { get; set; } /// <summary> /// 岗位集合 /// </summary> [SugarColumn(IsIgnore = true)] [EpplusIgnore] public int[] PostIds { get; set; } [SugarColumn(IsIgnore = true)] [EpplusIgnore] public List<SysRole> Roles { get; set; } #endregion } }