Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Mall/WxMallDto.cs
glz ae4cd627df feat: 完成多模块功能迭代与优化
1.  新增宠物皮肤初始枚举值、下拉列表接口及相关DTO
2.  完善商品实体与DTO,新增虚拟商品标记和类型ID字段
3.  重构用户认证体系,支持多用户切换并重新生成JWT令牌
4.  新增签到配置管理全套功能,包括增删改查和状态管理
5.  优化模型验证过滤器和基础响应类的命名规范
6.  新增补签功能,完善签到服务逻辑
7.  拆分用户详情DTO,新增各子数据分页查询接口
8.  重构微信控制器的用户ID获取逻辑,统一使用激活用户ID
9.  修复背包服务中补签卡的扣减逻辑
10. 新增家长姓名修改接口和相关服务实现
2026-06-10 17:53:38 +08:00

95 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace QYZH.InteractiveMagazine.Models.Dto.Mall;
/// <summary>
/// 小程序商品展示输出
/// </summary>
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;
/// <summary>
/// 是否是虚拟商品
/// </summary>
public bool IsVirtual { get; set; }
/// <summary>
/// Type对应的Id
/// </summary>
public long TypeId { get; set; }
/// <summary>
/// 皮肤信息(仅 PetBg 类型有值)
/// </summary>
public PetSkinBrief? Skin { get; set; }
/// <summary>
/// 用户是否已拥有PetBg 类型时判断背包中是否有)
/// </summary>
public bool Owned { get; set; }
}
/// <summary>
/// 皮肤简要信息
/// </summary>
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;
/// <summary>
/// 皮肤预览图(取当前进化阶段第一张图片)
/// </summary>
public string? PreviewImage { get; set; }
}
/// <summary>
/// 兑换输入
/// </summary>
public class ExchangeInput
{
/// <summary>
/// 商品Id
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 兑换数量默认1
/// </summary>
public int Quantity { get; set; } = 1;
}
/// <summary>
/// 兑换输出
/// </summary>
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;
}
/// <summary>
/// 兑换记录输出
/// </summary>
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; }
}