namespace QYZH.InteractiveMagazine.Models.Dto.Mall; /// /// 小程序商品展示输出 /// public class WxProductOutput { public long Id { get; set; } public string Name { get; set; } = string.Empty; public string? Description { get; set; } public string? ImageUrl { get; set; } public int Price { get; set; } public string Type { get; set; } = string.Empty; /// /// 是否是虚拟商品 /// public bool IsVirtual { get; set; } /// /// Type对应的Id /// public long TypeId { get; set; } /// /// 皮肤信息(仅 PetBg 类型有值) /// public PetSkinBrief? Skin { get; set; } /// /// 用户是否已拥有(PetBg 类型时判断背包中是否有) /// public bool Owned { get; set; } } /// /// 皮肤简要信息 /// public class PetSkinBrief { public long SkinId { get; set; } public string SkinName { get; set; } = string.Empty; public string? Description { get; set; } public string Rarity { get; set; } = string.Empty; /// /// 皮肤预览图(取当前进化阶段第一张图片) /// public string? PreviewImage { get; set; } } /// /// 兑换输入 /// public class ExchangeInput { /// /// 商品Id /// public long ProductId { get; set; } /// /// 兑换数量(默认1) /// public int Quantity { get; set; } = 1; } /// /// 兑换输出 /// public class ExchangeOutput { public long RecordId { get; set; } public string ProductName { get; set; } = string.Empty; public int PointsCost { get; set; } public int PointsBalance { get; set; } public string Message { get; set; } = string.Empty; } /// /// 兑换记录输出 /// public class ExchangeRecordOutput { public long Id { get; set; } public long ProductId { get; set; } public string ProductName { get; set; } = string.Empty; public string ProductType { get; set; } = string.Empty; public int PointsCost { get; set; } public int PointsBalance { get; set; } public int Quantity { get; set; } public string Status { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } }