using HoneyBox.Model.Models.Goods;

namespace HoneyBox.Core.Interfaces;

/// <summary>
/// 奖品服务接口
/// </summary>
public interface IPrizeService
{
    /// <summary>
    /// 获取奖品数量统计
    /// </summary>
    /// <param name="goodsId">商品ID</param>
    /// <returns>奖品数量统计</returns>
    Task<PrizeCountResponseDto> GetPrizeCountAsync(int goodsId);

    /// <summary>
    /// 获取奖品内容
    /// </summary>
    /// <param name="goodsId">商品ID</param>
    /// <param name="num">箱号</param>
    /// <returns>奖品内容</returns>
    Task<PrizeContentResponseDto> GetPrizeContentAsync(int goodsId, int num);

    /// <summary>
    /// 获取中奖记录
    /// </summary>
    /// <param name="goodsId">商品ID</param>
    /// <param name="goodsNum">箱号</param>
    /// <param name="shangId">赏品分类ID (0表示全部)</param>
    /// <param name="page">页码</param>
    /// <param name="pageSize">每页数量</param>
    /// <returns>中奖记录</returns>
    Task<PrizeLogsResponseDto> GetPrizeLogsAsync(int goodsId, int goodsNum, int shangId, int page, int pageSize);
}
