Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Mall/WxMallDto.cs
glz 8291b82362 feat: 完成宠物模块重构与社区功能开发
本次提交包含多项核心更新:
1.  重构宠物模块数据结构:拆分皮肤图片为独立表,优化Pet、PetEvolution实体,调整字段类型与冗余字段
2.  新增宠物皮肤图片管理表,支持多进化阶段多图片展示
3.  完善宠物DTO,新增当前形态名称、皮肤信息与图片序列返回
4.  新增社区功能模块:
    - 微信端社区Feed流、点赞/取消点赞接口
    - 后台社区消息管理接口与服务实现
5.  优化商城与背包模块,替换皮肤图片获取逻辑为从新表读取预览图
6.  重构勋章服务,新增规则校验逻辑
7.  调整命名规范,修复原有控制器命名问题
2026-06-05 17:15:30 +08:00

85 lines
2.2 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>
/// 皮肤信息(仅 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; }
}