SysUser.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
  2. //
  3. // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
  6. namespace Admin.NET.Core;
  7. /// <summary>
  8. /// 系统用户表
  9. /// </summary>
  10. [SugarTable(null, "系统用户表")]
  11. [SysTable]
  12. [SugarIndex("index_{table}_A", nameof(Account), OrderByType.Asc)]
  13. [SugarIndex("index_{table}_P", nameof(Phone), OrderByType.Asc)]
  14. public partial class SysUser : EntityTenant
  15. {
  16. /// <summary>
  17. /// 账号
  18. /// </summary>
  19. [SugarColumn(ColumnDescription = "账号", Length = 32)]
  20. [Required, MaxLength(32)]
  21. public virtual string Account { get; set; }
  22. /// <summary>
  23. /// 密码
  24. /// </summary>
  25. [SugarColumn(ColumnDescription = "密码", Length = 512)]
  26. [MaxLength(512)]
  27. [Newtonsoft.Json.JsonIgnore]
  28. [System.Text.Json.Serialization.JsonIgnore]
  29. public virtual string Password { get; set; }
  30. /// <summary>
  31. /// 真实姓名
  32. /// </summary>
  33. [SugarColumn(ColumnDescription = "真实姓名", Length = 32)]
  34. [MaxLength(32)]
  35. public virtual string RealName { get; set; }
  36. /// <summary>
  37. /// 昵称
  38. /// </summary>
  39. [SugarColumn(ColumnDescription = "昵称", Length = 32)]
  40. [MaxLength(32)]
  41. public string? NickName { get; set; }
  42. /// <summary>
  43. /// 头像
  44. /// </summary>
  45. [SugarColumn(ColumnDescription = "头像", Length = 512)]
  46. [MaxLength(512)]
  47. public string? Avatar { get; set; }
  48. /// <summary>
  49. /// 性别-男_1、女_2
  50. /// </summary>
  51. [SugarColumn(ColumnDescription = "性别")]
  52. public GenderEnum Sex { get; set; } = GenderEnum.Male;
  53. /// <summary>
  54. /// 年龄
  55. /// </summary>
  56. [SugarColumn(ColumnDescription = "年龄")]
  57. public int Age { get; set; }
  58. /// <summary>
  59. /// 出生日期
  60. /// </summary>
  61. [SugarColumn(ColumnDescription = "出生日期")]
  62. public DateTime? Birthday { get; set; }
  63. /// <summary>
  64. /// 民族
  65. /// </summary>
  66. [SugarColumn(ColumnDescription = "民族", Length = 32)]
  67. [MaxLength(32)]
  68. public string? Nation { get; set; }
  69. /// <summary>
  70. /// 手机号码
  71. /// </summary>
  72. [SugarColumn(ColumnDescription = "手机号码", Length = 16)]
  73. [MaxLength(16)]
  74. public string? Phone { get; set; }
  75. /// <summary>
  76. /// 证件类型
  77. /// </summary>
  78. [SugarColumn(ColumnDescription = "证件类型")]
  79. public CardTypeEnum CardType { get; set; }
  80. /// <summary>
  81. /// 身份证号
  82. /// </summary>
  83. [SugarColumn(ColumnDescription = "身份证号", Length = 32)]
  84. [MaxLength(32)]
  85. public string? IdCardNum { get; set; }
  86. /// <summary>
  87. /// 邮箱
  88. /// </summary>
  89. [SugarColumn(ColumnDescription = "邮箱", Length = 64)]
  90. [MaxLength(64)]
  91. public string? Email { get; set; }
  92. /// <summary>
  93. /// 地址
  94. /// </summary>
  95. [SugarColumn(ColumnDescription = "地址", Length = 256)]
  96. [MaxLength(256)]
  97. public string? Address { get; set; }
  98. /// <summary>
  99. /// 文化程度
  100. /// </summary>
  101. [SugarColumn(ColumnDescription = "文化程度")]
  102. public CultureLevelEnum CultureLevel { get; set; }
  103. /// <summary>
  104. /// 政治面貌
  105. /// </summary>
  106. [SugarColumn(ColumnDescription = "政治面貌", Length = 16)]
  107. [MaxLength(16)]
  108. public string? PoliticalOutlook { get; set; }
  109. /// <summary>
  110. /// 毕业院校
  111. /// </summary>COLLEGE
  112. [SugarColumn(ColumnDescription = "毕业院校", Length = 128)]
  113. [MaxLength(128)]
  114. public string? College { get; set; }
  115. /// <summary>
  116. /// 办公电话
  117. /// </summary>
  118. [SugarColumn(ColumnDescription = "办公电话", Length = 16)]
  119. [MaxLength(16)]
  120. public string? OfficePhone { get; set; }
  121. /// <summary>
  122. /// 紧急联系人
  123. /// </summary>
  124. [SugarColumn(ColumnDescription = "紧急联系人", Length = 32)]
  125. [MaxLength(32)]
  126. public string? EmergencyContact { get; set; }
  127. /// <summary>
  128. /// 紧急联系人电话
  129. /// </summary>
  130. [SugarColumn(ColumnDescription = "紧急联系人电话", Length = 16)]
  131. [MaxLength(16)]
  132. public string? EmergencyPhone { get; set; }
  133. /// <summary>
  134. /// 紧急联系人地址
  135. /// </summary>
  136. [SugarColumn(ColumnDescription = "紧急联系人地址", Length = 256)]
  137. [MaxLength(256)]
  138. public string? EmergencyAddress { get; set; }
  139. /// <summary>
  140. /// 个人简介
  141. /// </summary>
  142. [SugarColumn(ColumnDescription = "个人简介", Length = 512)]
  143. [MaxLength(512)]
  144. public string? Introduction { get; set; }
  145. /// <summary>
  146. /// 排序
  147. /// </summary>
  148. [SugarColumn(ColumnDescription = "排序")]
  149. public int OrderNo { get; set; } = 100;
  150. /// <summary>
  151. /// 状态
  152. /// </summary>
  153. [SugarColumn(ColumnDescription = "状态")]
  154. public StatusEnum Status { get; set; } = StatusEnum.Enable;
  155. /// <summary>
  156. /// 备注
  157. /// </summary>
  158. [SugarColumn(ColumnDescription = "备注", Length = 256)]
  159. [MaxLength(256)]
  160. public string? Remark { get; set; }
  161. /// <summary>
  162. /// 账号类型
  163. /// </summary>
  164. [SugarColumn(ColumnDescription = "账号类型")]
  165. public AccountTypeEnum AccountType { get; set; } = AccountTypeEnum.NormalUser;
  166. /// <summary>
  167. /// 直属机构Id
  168. /// </summary>
  169. [SugarColumn(ColumnDescription = "直属机构Id")]
  170. public long OrgId { get; set; }
  171. /// <summary>
  172. /// 直属机构
  173. /// </summary>
  174. [Navigate(NavigateType.OneToOne, nameof(OrgId))]
  175. public SysOrg SysOrg { get; set; }
  176. /// <summary>
  177. /// 直属主管Id
  178. /// </summary>
  179. [SugarColumn(ColumnDescription = "直属主管Id")]
  180. public long? ManagerUserId { get; set; }
  181. /// <summary>
  182. /// 直属主管
  183. /// </summary>
  184. [Newtonsoft.Json.JsonIgnore]
  185. [System.Text.Json.Serialization.JsonIgnore]
  186. [Navigate(NavigateType.OneToOne, nameof(ManagerUserId))]
  187. public SysUser ManagerUser { get; set; }
  188. /// <summary>
  189. /// 职位Id
  190. /// </summary>
  191. [SugarColumn(ColumnDescription = "职位Id")]
  192. public long PosId { get; set; }
  193. /// <summary>
  194. /// 职位
  195. /// </summary>
  196. [Newtonsoft.Json.JsonIgnore]
  197. [System.Text.Json.Serialization.JsonIgnore]
  198. [Navigate(NavigateType.OneToOne, nameof(PosId))]
  199. public SysPos SysPos { get; set; }
  200. /// <summary>
  201. /// 工号
  202. /// </summary>
  203. [SugarColumn(ColumnDescription = "工号", Length = 32)]
  204. [MaxLength(32)]
  205. public string? JobNum { get; set; }
  206. /// <summary>
  207. /// 职级
  208. /// </summary>
  209. [SugarColumn(ColumnDescription = "职级", Length = 32)]
  210. [MaxLength(32)]
  211. public string? PosLevel { get; set; }
  212. /// <summary>
  213. /// 职称
  214. /// </summary>
  215. [SugarColumn(ColumnDescription = "职称", Length = 32)]
  216. [MaxLength(32)]
  217. public string? PosTitle { get; set; }
  218. /// <summary>
  219. /// 擅长领域
  220. /// </summary>
  221. [SugarColumn(ColumnDescription = "擅长领域", Length = 32)]
  222. [MaxLength(32)]
  223. public string? Expertise { get; set; }
  224. /// <summary>
  225. /// 办公区域
  226. /// </summary>
  227. [SugarColumn(ColumnDescription = "办公区域", Length = 32)]
  228. [MaxLength(32)]
  229. public string? OfficeZone { get; set; }
  230. /// <summary>
  231. /// 办公室
  232. /// </summary>
  233. [SugarColumn(ColumnDescription = "办公室", Length = 32)]
  234. [MaxLength(32)]
  235. public string? Office { get; set; }
  236. /// <summary>
  237. /// 入职日期
  238. /// </summary>
  239. [SugarColumn(ColumnDescription = "入职日期")]
  240. public DateTime? JoinDate { get; set; }
  241. /// <summary>
  242. /// 最新登录Ip
  243. /// </summary>
  244. [SugarColumn(ColumnDescription = "最新登录Ip", Length = 256)]
  245. [MaxLength(256)]
  246. public string? LastLoginIp { get; set; }
  247. /// <summary>
  248. /// 最新登录地点
  249. /// </summary>
  250. [SugarColumn(ColumnDescription = "最新登录地点", Length = 128)]
  251. [MaxLength(128)]
  252. public string? LastLoginAddress { get; set; }
  253. /// <summary>
  254. /// 最新登录时间
  255. /// </summary>
  256. [SugarColumn(ColumnDescription = "最新登录时间")]
  257. public DateTime? LastLoginTime { get; set; }
  258. /// <summary>
  259. /// 最新登录设备
  260. /// </summary>
  261. [SugarColumn(ColumnDescription = "最新登录设备", Length = 128)]
  262. [MaxLength(128)]
  263. public string? LastLoginDevice { get; set; }
  264. /// <summary>
  265. /// 电子签名
  266. /// </summary>
  267. [SugarColumn(ColumnDescription = "电子签名", Length = 512)]
  268. [MaxLength(512)]
  269. public string? Signature { get; set; }
  270. }