using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Products.Entities;

/// <summary>
/// 商品分类。
/// </summary>
public sealed class ProductCategory : MultiTenantEntityBase
{
    /// <summary>
    /// 所属门店。
    /// </summary>
    public long StoreId { get; set; }

    /// <summary>
    /// 分类名称。
    /// </summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 分类描述。
    /// </summary>
    public string? Description { get; set; }

    /// <summary>
    /// 排序值。
    /// </summary>
    public int SortOrder { get; set; } = 100;

    /// <summary>
    /// 是否启用。
    /// </summary>
    public bool IsEnabled { get; set; } = true;

    /// <summary>
    /// 分类图标。
    /// </summary>
    public string? Icon { get; set; }

    /// <summary>
    /// 分类可见渠道 JSON。
    /// </summary>
    public string ChannelsJson { get; set; } = "[\"wm\"]";
}
