using HoneyBox.Model.Models.Task;

namespace HoneyBox.Core.Interfaces;

/// <summary>
/// 任务服务接口
/// </summary>
public interface ITaskService
{
    /// <summary>
    /// 获取任务列表
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="type">任务类型: 1=每日任务, 2=每周任务</param>
    /// <returns>任务列表响应</returns>
    Task<TaskListResponse> GetTaskListAsync(int userId, int type);

    /// <summary>
    /// 领取任务奖励
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="taskListId">任务列表ID</param>
    /// <returns>领取结果</returns>
    Task<ClaimTaskRewardResponse> ClaimTaskRewardAsync(int userId, int taskListId);
}
