using Microsoft.AspNetCore.Mvc;
using QYZH.InteractiveMagazine.IService;
using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Dto.Bag;
namespace QYZH.InteractiveMagazine.WeChatApi.Controllers;
///
/// 小程序背包控制器
///
public class BagController(IWxMallService mallService, ILogger logger) : WeChatBaseController
{
///
/// 获取背包物品列表
///
/// 物品类型筛选(可选): MakeUpCard, PetBg
[HttpGet("items")]
public async Task>> GetBagItems([FromQuery] string? itemType = null)
{
var userId = GetCurrentUserId();
if (userId == 0) return Fail("未获取到用户信息") as dynamic;
var items = await mallService.GetBagItemsAsync(userId, itemType);
return Success(items);
}
///
/// 使用背包物品(补签卡等消耗品)
///
[HttpPost("useItem")]
public async Task> UseItem([FromBody] UseItemInput input)
{
var userId = GetCurrentUserId();
if (userId == 0) return Fail("未获取到用户信息") as dynamic;
var result = await mallService.UseItemAsync(userId, input);
return Success(result);
}
///
/// 宠物换肤
///
[HttpPost("equipSkin")]
public async Task> EquipSkin([FromBody] EquipSkinInput input)
{
var userId = GetCurrentUserId();
if (userId == 0) return Fail("未获取到用户信息") as dynamic;
await mallService.EquipSkinAsync(userId, input);
return Success