This commit implements a complete WeChat mini program mall and related features: 1. Add pet skin entity and backpack item type support 2. Add make-up check-in and missed date query functions 3. Implement mall product browsing, exchange and record query 4. Add backpack management and item usage (make-up card) 5. Add pet skin equipping function 6. Fix UserBag ItemId type from int to long 7. Adjust Dockerfile exposed port to 8080 8. Fix session cookie unprotect warning
61 lines
2.1 KiB
C#
61 lines
2.1 KiB
C#
using QYZH.InteractiveMagazine.Models.Dto.Bag;
|
||
using QYZH.InteractiveMagazine.Models.Dto.Mall;
|
||
using QYZH.InteractiveMagazine.Models.Entity;
|
||
|
||
namespace QYZH.InteractiveMagazine.IService;
|
||
|
||
/// <summary>
|
||
/// 小程序商城服务接口
|
||
/// </summary>
|
||
public interface IWxMallService : IBaseService<ExchangeRecord>
|
||
{
|
||
/// <summary>
|
||
/// 获取商城商品列表(仅上架 + 在售商品)
|
||
/// </summary>
|
||
/// <param name="userId">当前用户Id(用于判断是否已拥有)</param>
|
||
/// <param name="type">按商品类型筛选(可选)</param>
|
||
Task<List<WxProductOutput>> GetProductsAsync(long userId, string? type = null);
|
||
|
||
/// <summary>
|
||
/// 获取商品详情
|
||
/// </summary>
|
||
/// <param name="userId">当前用户Id</param>
|
||
/// <param name="productId">商品Id</param>
|
||
Task<WxProductOutput?> GetProductDetailAsync(long userId, long productId);
|
||
|
||
/// <summary>
|
||
/// 积分兑换商品
|
||
/// </summary>
|
||
/// <param name="userId">用户Id</param>
|
||
/// <param name="input">兑换参数</param>
|
||
Task<ExchangeOutput> ExchangeAsync(long userId, ExchangeInput input);
|
||
|
||
/// <summary>
|
||
/// 获取用户兑换记录
|
||
/// </summary>
|
||
/// <param name="userId">用户Id</param>
|
||
/// <param name="limit">返回数量</param>
|
||
Task<List<ExchangeRecordOutput>> GetExchangeRecordsAsync(long userId, int limit = 20);
|
||
|
||
/// <summary>
|
||
/// 获取用户背包物品列表
|
||
/// </summary>
|
||
/// <param name="userId">用户Id</param>
|
||
/// <param name="itemType">按物品类型筛选(可选)</param>
|
||
Task<List<UserBagOutput>> GetBagItemsAsync(long userId, string? itemType = null);
|
||
|
||
/// <summary>
|
||
/// 使用背包物品(补签卡等消耗品)
|
||
/// </summary>
|
||
/// <param name="userId">用户Id</param>
|
||
/// <param name="input">使用参数</param>
|
||
Task<UseItemOutput> UseItemAsync(long userId, UseItemInput input);
|
||
|
||
/// <summary>
|
||
/// 宠物换肤
|
||
/// </summary>
|
||
/// <param name="userId">用户Id</param>
|
||
/// <param name="input">换肤参数</param>
|
||
Task EquipSkinAsync(long userId, EquipSkinInput input);
|
||
}
|