Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Entity/CompensationTask.cs
glz 0126c6b097 refactor: 完善枚举系统与状态类型转换,新增枚举管理接口
1. 为所有枚举添加Description特性用于中文描述
2. 移除实体类中冗余的状态字段注释与定义
3. 将所有枚举状态参数改为int类型转换,统一数据交互格式
4. 新增系统管理枚举查询接口与实现,支持获取所有枚举元数据
5. 调整宠物服务模板状态更新接口参数类型
2026-06-08 17:54:36 +08:00

104 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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