using QYZH.InteractiveMagazine.Models.Dto.Bag;
using QYZH.InteractiveMagazine.Models.Dto.Mall;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
///
/// 小程序商城服务接口
///
public interface IWxMallService : IBaseService
{
///
/// 获取商城商品列表(仅上架 + 在售商品)
///
/// 当前用户Id(用于判断是否已拥有)
/// 按商品类型筛选(可选)
Task> GetProductsAsync(long userId, string? type = null);
///
/// 获取商品详情
///
/// 当前用户Id
/// 商品Id
Task GetProductDetailAsync(long userId, long productId);
///
/// 积分兑换商品
///
/// 用户Id
/// 兑换参数
Task ExchangeAsync(long userId, ExchangeInput input);
///
/// 获取用户兑换记录
///
/// 用户Id
/// 返回数量
Task> GetExchangeRecordsAsync(long userId, int limit = 20);
///
/// 获取用户背包物品列表
///
/// 用户Id
/// 按物品类型筛选(可选)
Task> GetBagItemsAsync(long userId, string? itemType = null);
///
/// 使用背包物品(补签卡等消耗品)
///
/// 用户Id
/// 使用参数
Task UseItemAsync(long userId, UseItemInput input);
///
/// 宠物换肤
///
/// 用户Id
/// 换肤参数
Task EquipSkinAsync(long userId, EquipSkinInput input);
}