SysUser.cs 8.6 KB

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