using SqlSugar; using QYZH.InteractiveMagazine.Models.Enum; namespace QYZH.InteractiveMagazine.Models.Entity { /// /// 补偿任务表 — 记录业务执行失败后需要异步重试的操作 /// [SugarTable("Compensation_Task")] public partial class CompensationTask : SqlSugarBaseEntity { public CompensationTask() { } /// /// Desc:任务类型,决定补偿处理逻辑 /// PetFeeding — 宠物喂养补偿 /// UserPoints — 用户积分补偿 /// UserGrowth — 用户成长值补偿 /// SendNotification — 发送通知补偿 /// Default: /// Nullable:False /// public int TaskType { get; set; } /// /// Desc:业务来源(如 CheckIn、Purchase、Activity) /// Default: /// Nullable:False /// public string BusinessSource { get; set; } /// /// Desc:关联业务记录Id(如签到记录Id、订单Id) /// Default: /// Nullable:True /// public string? BusinessId { get; set; } /// /// Desc:关联用户Id /// Default: /// Nullable:False /// public long UserId { get; set; } /// /// Desc:处理参数(JSON格式,不同TaskType对应不同结构) /// Default: /// Nullable:False /// public string Payload { get; set; } /// /// Desc:原始异常消息 /// Default: /// Nullable:False /// public string ErrorMessage { get; set; } /// /// Desc:异常来源(如 CheckInService.CheckInAsync) /// Default: /// Nullable:False /// public string ErrorSource { get; set; } /// /// Desc:已重试次数 /// Default:0 /// Nullable:False /// public int RetryCount { get; set; } /// /// Desc:最大重试次数 /// Default:3 /// Nullable:False /// public int MaxRetries { get; set; } /// /// Desc:最后处理时间 /// Default: /// Nullable:True /// public DateTime? ProcessedAt { get; set; } /// /// Desc:下次计划执行时间(用于退避重试) /// Default: /// Nullable:True /// public DateTime? ScheduledAt { get; set; } /// /// Desc:处理结果描述(成功/失败原因) /// Default: /// Nullable:True /// public string? ResultMessage { get; set; } } }