using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Dto.Compensation;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
///
/// 补偿任务管理服务接口
///
public interface ICompensationManageService : IBaseService
{
///
/// 分页查询补偿任务
///
/// 查询参数
/// 分页结果
Task> GetListAsync(CompensationTaskQueryInput input);
///
/// 手动重试补偿任务(将状态改为 Pending,重置 RetryCount)
///
/// 任务Id
/// 操作人Id
/// 操作人用户名
/// 重试参数
/// IP地址
Task RetryAsync(long taskId, long operatorId, string operatorName, CompensationRetryInput input, string? ipAddress = null);
///
/// 标记补偿任务为已解决
///
/// 任务Id
/// 操作人Id
/// 操作人用户名
/// 解决参数
/// IP地址
Task ResolveAsync(long taskId, long operatorId, string operatorName, CompensationResolveInput input, string? ipAddress = null);
///
/// 获取补偿任务详情
///
/// 任务Id
/// 任务详情
Task GetDetailAsync(long taskId);
}