using TakeoutSaaS.Domain.Membership.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Membership.Entities;
///
/// 会员消息触达收件明细。
///
public sealed class MemberReachRecipient : MultiTenantEntityBase
{
///
/// 消息标识。
///
public long MessageId { get; set; }
///
/// 会员标识。
///
public long MemberId { get; set; }
///
/// 渠道。
///
public MemberMessageChannel Channel { get; set; } = MemberMessageChannel.InApp;
///
/// 手机号快照。
///
public string? Mobile { get; set; }
///
/// 微信 OpenId 快照。
///
public string? OpenId { get; set; }
///
/// 发送状态。
///
public MemberMessageRecipientStatus Status { get; set; } = MemberMessageRecipientStatus.Pending;
///
/// 发送时间(UTC)。
///
public DateTime? SentAt { get; set; }
///
/// 已读时间(UTC)。
///
public DateTime? ReadAt { get; set; }
///
/// 转化时间(UTC)。
///
public DateTime? ConvertedAt { get; set; }
///
/// 失败摘要。
///
public string? ErrorMessage { get; set; }
}