using HoneyBox.Model.Models.Redeem;

namespace HoneyBox.Core.Interfaces;

/// <summary>
/// 兑换码服务接口
/// </summary>
public interface IRedeemService
{
    /// <summary>
    /// 使用兑换码
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="code">兑换码</param>
    /// <returns>兑换结果</returns>
    Task<RedeemResult> UseRedeemCodeAsync(int userId, string code);

    /// <summary>
    /// 获取兑换记录
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="page">页码</param>
    /// <param name="pageSize">每页数量</param>
    /// <returns>兑换记录响应</returns>
    Task<RedeemRecordResponse> GetRedeemRecordAsync(int userId, int page = 1, int pageSize = 10);
}
