using TakeoutSaaS.Domain.Coupons.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Coupons.Entities;
///
/// 用户领取的券。
///
public sealed class Coupon : MultiTenantEntityBase
{
///
/// 模板标识。
///
public long CouponTemplateId { get; set; }
///
/// 券码或序列号。
///
public string Code { get; set; } = string.Empty;
///
/// 归属用户。
///
public long UserId { get; set; }
///
/// 订单 ID(已使用时记录)。
///
public long? OrderId { get; set; }
///
/// 状态。
///
public CouponStatus Status { get; set; } = CouponStatus.Available;
///
/// 发放时间。
///
public DateTime IssuedAt { get; set; } = DateTime.UtcNow;
///
/// 使用时间。
///
public DateTime? UsedAt { get; set; }
///
/// 到期时间。
///
public DateTime ExpireAt { get; set; }
}