OrgEntity.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using ZhonTai.Admin.Core.Entities;
  2. using FreeSql.DataAnnotations;
  3. using System.Collections.Generic;
  4. using ZhonTai.Admin.Domain.UserStaff;
  5. using ZhonTai.Admin.Domain.User;
  6. using ZhonTai.Admin.Domain.Role;
  7. using ZhonTai.Admin.Domain.UserOrg;
  8. namespace ZhonTai.Admin.Domain.Org;
  9. /// <summary>
  10. /// 组织架构
  11. /// </summary>
  12. [Table(Name = "ad_org")]
  13. [Index("idx_{tablename}_01", nameof(ParentId) + "," + nameof(Name) + "," + nameof(TenantId), true)]
  14. public partial class OrgEntity : EntityBase, ITenant
  15. {
  16. /// <summary>
  17. /// 租户Id
  18. /// </summary>
  19. [Column(Position = -10, CanUpdate = false)]
  20. public long? TenantId { get; set; }
  21. /// <summary>
  22. /// 父级
  23. /// </summary>
  24. public long ParentId { get; set; }
  25. /// <summary>
  26. /// 名称
  27. /// </summary>
  28. [Column(StringLength = 50)]
  29. public string Name { get; set; }
  30. /// <summary>
  31. /// 编码
  32. /// </summary>
  33. [Column(StringLength = 50)]
  34. public string Code { get; set; }
  35. /// <summary>
  36. /// 值
  37. /// </summary>
  38. [Column(StringLength = 50)]
  39. public string Value { get; set; }
  40. /// <summary>
  41. /// 成员数
  42. /// </summary>
  43. public int MemberCount { get; set; }
  44. /// <summary>
  45. /// 描述
  46. /// </summary>
  47. [Column(StringLength = 500)]
  48. public string Description { get; set; }
  49. /// <summary>
  50. /// 启用
  51. /// </summary>
  52. public bool Enabled { get; set; } = true;
  53. /// <summary>
  54. /// 排序
  55. /// </summary>
  56. public int Sort { get; set; }
  57. /// <summary>
  58. /// 员工列表
  59. /// </summary>
  60. [Navigate(ManyToMany = typeof(UserOrgEntity))]
  61. public ICollection<UserStaffEntity> Staffs { get; set; }
  62. /// <summary>
  63. /// 用户列表
  64. /// </summary>
  65. [Navigate(ManyToMany = typeof(UserOrgEntity))]
  66. public ICollection<UserEntity> Users { get; set; }
  67. /// <summary>
  68. /// 角色列表
  69. /// </summary>
  70. [Navigate(ManyToMany = typeof(RoleOrgEntity))]
  71. public ICollection<RoleEntity> Roles { get; set; }
  72. /// <summary>
  73. /// 子级列表
  74. /// </summary>
  75. [Navigate(nameof(ParentId))]
  76. public List<OrgEntity> Childs { get; set; }
  77. }