ThTenantMenuPermissionEntity.cs 1.18 KB
using SqlSugar;
using Volo.Abp.Domain.Entities;
using Yi.Framework.SqlSugarCore.Abstractions;

namespace FoodLabeling.Th.Domain.Entities;

/// <summary>
/// 平台主库:租户 SaaS 菜单权限 Key
/// </summary>
[SugarTable("fl_th_tenant_menu_permission")]
[DefaultTenantTable]
[SugarIndex(
    "uk_fl_th_tenant_menu_permission_tenant_key",
    nameof(TenantId),
    OrderByType.Asc,
    nameof(PermissionKey),
    OrderByType.Asc,
    IsUnique = true)]
public class ThTenantMenuPermissionEntity : IEntity<string>
{
    /// <summary>
    /// 主键(雪花 Id 字符串)
    /// </summary>
    [SugarColumn(IsPrimaryKey = true, Length = 32)]
    public string Id { get; set; } = string.Empty;

    /// <summary>
    /// 租户 Id(对应 YiTenant.Id)
    /// </summary>
    public Guid TenantId { get; set; }

    /// <summary>
    /// SaaS 菜单权限 Key(如 labeling:labels)
    /// </summary>
    [SugarColumn(Length = 128)]
    public string PermissionKey { get; set; } = string.Empty;

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreationTime { get; set; } = DateTime.Now;

    /// <inheritdoc />
    public object[] GetKeys() => new object[] { Id };
}