using TakeoutSaaS.Domain.Coupons.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Coupons.Entities;
///
/// 次卡使用记录。
///
public sealed class PunchCardUsageRecord : MultiTenantEntityBase
{
///
/// 门店 ID。
///
public long StoreId { get; set; }
///
/// 次卡模板 ID。
///
public long PunchCardTemplateId { get; set; }
///
/// 次卡实例 ID。
///
public long PunchCardInstanceId { get; set; }
///
/// 使用单号。
///
public string RecordNo { get; set; } = string.Empty;
///
/// 兑换商品名称。
///
public string ProductName { get; set; } = string.Empty;
///
/// 使用时间(UTC)。
///
public DateTime UsedAt { get; set; }
///
/// 本次使用次数。
///
public int UsedTimes { get; set; } = 1;
///
/// 使用后剩余次数。
///
public int RemainingTimesAfterUse { get; set; }
///
/// 本次记录状态。
///
public PunchCardUsageRecordStatus StatusAfterUse { get; set; } = PunchCardUsageRecordStatus.Normal;
///
/// 超额补差金额。
///
public decimal? ExtraPayAmount { get; set; }
}