namespace HoneyBox.Model.Models.Task;

/// <summary>
/// 任务列表请求
/// </summary>
public class TaskListRequest
{
    /// <summary>
    /// 任务类型: 1=每日任务, 2=每周任务
    /// </summary>
    public int Type { get; set; } = 1;
}

/// <summary>
/// 任务列表响应
/// </summary>
public class TaskListResponse
{
    /// <summary>
    /// 任务列表
    /// </summary>
    public List<TaskDto> TaskList { get; set; } = new();
}

/// <summary>
/// 任务DTO
/// </summary>
public class TaskDto
{
    /// <summary>
    /// 任务ID
    /// </summary>
    public int Id { get; set; }

    /// <summary>
    /// 任务类型: 1=每日, 2=每周
    /// </summary>
    public int Type { get; set; }

    /// <summary>
    /// 任务分类: 1=邀请, 2=抽赏
    /// </summary>
    public int Cate { get; set; }

    /// <summary>
    /// 任务标题
    /// </summary>
    public string Title { get; set; } = string.Empty;

    /// <summary>
    /// 目标完成数量
    /// </summary>
    public int Number { get; set; }

    /// <summary>
    /// 奖励欧气值
    /// </summary>
    public int ZNumber { get; set; }

    /// <summary>
    /// 是否已完成: 0=未完成, 1=已完成, 2=已领取
    /// </summary>
    public int IsComplete { get; set; }

    /// <summary>
    /// 完成百分比 (0-100)
    /// </summary>
    public int Percentage { get; set; }

    /// <summary>
    /// 已完成次数
    /// </summary>
    public int YwcCount { get; set; }
}

/// <summary>
/// 领取任务奖励请求
/// </summary>
public class ClaimTaskRewardRequest
{
    /// <summary>
    /// 任务列表ID
    /// </summary>
    public int TaskListId { get; set; }
}

/// <summary>
/// 领取任务奖励响应
/// </summary>
public class ClaimTaskRewardResponse
{
    /// <summary>
    /// 奖励欧气值
    /// </summary>
    public int Reward { get; set; }

    /// <summary>
    /// 当前欧气值
    /// </summary>
    public int CurrentOuQi { get; set; }
}
