//------------------------------------------------------------------------------ // 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充 // 此代码版权(除特别声明外的代码)归作者本人Diego所有 // 源代码使用协议遵循本仓库的开源协议及附加协议 // Gitee源代码仓库:https://gitee.com/diego2098/ThingsGateway // Github源代码仓库:https://github.com/kimdiego2098/ThingsGateway // 使用文档:https://thingsgateway.cn/ // QQ群:605534569 //------------------------------------------------------------------------------ using System.ComponentModel.DataAnnotations; namespace ThingsGateway.Admin.Application; /// /// 系统角色表 /// [SugarTable("sys_role", TableDescription = "系统角色表")] [Tenant(SqlSugarConst.DB_Admin)] public class SysRole : BaseEntity { /// /// 名称 /// [SugarColumn(ColumnDescription = "名称", Length = 200)] [Required] [AutoGenerateColumn(Visible = true, Sortable = true, Filterable = true)] public virtual string Name { get; set; } /// /// 编码 /// [SugarColumn(ColumnDescription = "编码", Length = 200)] [AutoGenerateColumn(Visible = true, Sortable = true, Filterable = true)] public string Code { get; set; } /// /// 分类 /// [SugarColumn(ColumnDescription = "分类", IsNullable = false)] [AutoGenerateColumn(Visible = true, Sortable = true, Filterable = true)] public virtual RoleCategoryEnum Category { get; set; } /// /// 组织id /// [SugarColumn(ColumnName = "OrgId", ColumnDescription = "组织id", IsNullable = false)] [AutoGenerateColumn(Ignore = true)] public long OrgId { get; set; } /// /// 默认数据范围 /// [SugarColumn(ColumnName = "DefaultDataScope", ColumnDescription = "默认数据范围", IsJson = true, ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] [AutoGenerateColumn(Ignore = true)] public virtual DefaultDataScope DefaultDataScope { get; set; } = new(); public override bool Equals(object? obj) { if (obj == null || !(obj is SysRole)) { return false; } return Id == ((SysRole)obj).Id; } public override int GetHashCode() { return Id.GetHashCode(); } } /// /// 默认数据范围 /// public class DefaultDataScope { /// /// 数据范围 /// public DataScopeEnum ScopeCategory { get; set; } /// /// 自定义机构范围列表 /// public List ScopeDefineOrgIdList { get; set; } = new List(); }