using TakeoutSaaS.Domain.GroupBuying.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.GroupBuying.Entities;

/// <summary>
/// 拼单参与者。
/// </summary>
public sealed class GroupParticipant : MultiTenantEntityBase
{
    /// <summary>
    /// 拼单活动标识。
    /// </summary>
    public long GroupOrderId { get; set; }

    /// <summary>
    /// 对应订单标识。
    /// </summary>
    public long OrderId { get; set; }

    /// <summary>
    /// 用户标识。
    /// </summary>
    public long UserId { get; set; }

    /// <summary>
    /// 参与状态。
    /// </summary>
    public GroupParticipantStatus Status { get; set; } = GroupParticipantStatus.Joined;

    /// <summary>
    /// 参与时间。
    /// </summary>
    public DateTime JoinedAt { get; set; } = DateTime.UtcNow;
}
