Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Compensation/CompensationManageDto.cs
glz 78b686f9e5 refactor: 批量新增枚举类型并完成实体、DTO、服务层枚举替换
- 新增30+业务枚举类型覆盖用户、宠物、商城、社区、积分等模块
- 完成实体类、DTO、服务层的字符串枚举替换为强类型枚举
- 修复用户状态枚举名称变更,将Frozen改为Disabled
- 新增批量发布社区消息接口与控制器实现
- 新增操作日志、积分管理、补偿任务相关服务与DTO
2026-06-08 16:57:44 +08:00

242 lines
5.3 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 System.ComponentModel.DataAnnotations;
using QYZH.InteractiveMagazine.Models.Enum;
namespace QYZH.InteractiveMagazine.Models.Dto.Compensation;
/// <summary>
/// 补偿任务分页查询输入
/// </summary>
public class CompensationTaskQueryInput : PageQueryModel
{
/// <summary>
/// 按用户Id筛选
/// </summary>
public long? UserId { get; set; }
/// <summary>
/// 按任务类型筛选PetFeeding/UserPoints/UserGrowth/SendNotification
/// </summary>
public CompensationTaskTypeEnum? TaskType { get; set; }
/// <summary>
/// 按状态筛选Pending/Processing/Success/Failed/Cancelled
/// </summary>
public CompensationTaskStatusEnum? Status { get; set; }
/// <summary>
/// 按业务来源筛选CheckIn/Purchase/Activity等
/// </summary>
public string? BusinessSource { get; set; }
}
/// <summary>
/// 手动重试补偿任务输入
/// </summary>
public class CompensationRetryInput
{
/// <summary>
/// 重试原因
/// </summary>
[Required(ErrorMessage = "重试原因不能为空")]
public string Reason { get; set; } = string.Empty;
}
/// <summary>
/// 标记补偿任务已解决输入
/// </summary>
public class CompensationResolveInput
{
/// <summary>
/// 处理说明
/// </summary>
[Required(ErrorMessage = "处理说明不能为空")]
public string ResolveNote { get; set; } = string.Empty;
}
/// <summary>
/// 补偿任务管理输出(含用户昵称)
/// </summary>
public class CompensationManageOutput
{
/// <summary>
/// 任务Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 任务类型
/// </summary>
public CompensationTaskTypeEnum TaskType { get; set; }
/// <summary>
/// 业务来源
/// </summary>
public string BusinessSource { get; set; } = string.Empty;
/// <summary>
/// 关联业务Id
/// </summary>
public string? BusinessId { get; set; }
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 用户昵称
/// </summary>
public string? UserName { get; set; }
/// <summary>
/// 处理参数JSON
/// </summary>
public string Payload { get; set; } = string.Empty;
/// <summary>
/// 异常消息
/// </summary>
public string ErrorMessage { get; set; } = string.Empty;
/// <summary>
/// 异常来源
/// </summary>
public string ErrorSource { get; set; } = string.Empty;
/// <summary>
/// 已重试次数
/// </summary>
public int RetryCount { get; set; }
/// <summary>
/// 最大重试次数
/// </summary>
public int MaxRetries { get; set; }
/// <summary>
/// 状态
/// </summary>
public CompensationTaskStatusEnum Status { get; set; }
/// <summary>
/// 最后处理时间
/// </summary>
public DateTime? ProcessedAt { get; set; }
/// <summary>
/// 计划执行时间
/// </summary>
public DateTime? ScheduledAt { get; set; }
/// <summary>
/// 处理结果
/// </summary>
public string? ResultMessage { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
}
/// <summary>
/// 补偿任务详情输出(含审计字段)
/// </summary>
public class CompensationManageDetailOutput
{
/// <summary>
/// 任务Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 任务类型
/// </summary>
public CompensationTaskTypeEnum TaskType { get; set; }
/// <summary>
/// 业务来源
/// </summary>
public string BusinessSource { get; set; } = string.Empty;
/// <summary>
/// 关联业务Id
/// </summary>
public string? BusinessId { get; set; }
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 用户昵称
/// </summary>
public string? UserName { get; set; }
/// <summary>
/// 处理参数JSON
/// </summary>
public string Payload { get; set; } = string.Empty;
/// <summary>
/// 异常消息
/// </summary>
public string ErrorMessage { get; set; } = string.Empty;
/// <summary>
/// 异常来源
/// </summary>
public string ErrorSource { get; set; } = string.Empty;
/// <summary>
/// 已重试次数
/// </summary>
public int RetryCount { get; set; }
/// <summary>
/// 最大重试次数
/// </summary>
public int MaxRetries { get; set; }
/// <summary>
/// 状态
/// </summary>
public CompensationTaskStatusEnum Status { get; set; }
/// <summary>
/// 最后处理时间
/// </summary>
public DateTime? ProcessedAt { get; set; }
/// <summary>
/// 计划执行时间
/// </summary>
public DateTime? ScheduledAt { get; set; }
/// <summary>
/// 处理结果
/// </summary>
public string? ResultMessage { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string? CreatedBy { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string? UpdatedBy { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdatedAt { get; set; }
}