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; } }