using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Engagement.Entities;

/// <summary>
/// 用户签到记录。
/// </summary>
public sealed class CheckInRecord : MultiTenantEntityBase
{
    /// <summary>
    /// 活动标识。
    /// </summary>
    public long CheckInCampaignId { get; set; }

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

    /// <summary>
    /// 签到日期（本地）。
    /// </summary>
    public DateTime CheckInDate { get; set; }

    /// <summary>
    /// 是否补签。
    /// </summary>
    public bool IsMakeup { get; set; }

    /// <summary>
    /// 获得奖励 JSON。
    /// </summary>
    public string RewardJson { get; set; } = string.Empty;
}
