Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Pet/PetSkinDto.cs
glz 296d87b245 feat: 新增宠物进化分组接口、OSS图片搬运功能及配置更新
1. 新增皮肤按进化阶段分组的输出DTO
2. 新增宠物相关便捷查询接口并实现对应控制器
3. 新增OSS图片搬运辅助类,实现临时文件迁移逻辑
4. 为商品、宠物相关服务添加OSS图片自动迁移功能
5. 调整微信授权同步逻辑移除异步等待
6. 更新配置文件中的微信密钥和OSS存储信息
7. 注册SDK服务到DI容器
2026-06-09 18:02:26 +08:00

154 lines
3.9 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.

using QYZH.InteractiveMagazine.Models.Enum;
namespace QYZH.InteractiveMagazine.Models.Dto.Pet;
/// <summary>
/// 皮肤创建/更新输入
/// </summary>
public class PetSkinInput
{
/// <summary>
/// 所属宠物模板Id
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 皮肤名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 描述/特效说明
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 稀有度: Normal, Rare, Epic, Legendary
/// </summary>
public string Rarity { get; set; } = "Normal";
/// <summary>
/// 排序权重
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// 皮肤类型: Normal, Limited, Event
/// </summary>
public string Type { get; set; } = PetSkinTypeEnum.Normal.ToString();
/// <summary>
/// 封面图片地址
/// </summary>
public string? CoverImageUrl { get; set; }
}
/// <summary>
/// 皮肤输出
/// </summary>
public class PetSkinOutput
{
public long Id { get; set; }
public long TemplateId { get; set; }
public string Name { get; set; } = string.Empty;
public string? Description { get; set; }
public string Rarity { get; set; } = string.Empty;
public int SortOrder { get; set; }
public string Type { get; set; } = string.Empty;
/// <summary>
/// 封面图片地址
/// </summary>
public string? CoverImageUrl { get; set; }
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? UpdatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
/// <summary>
/// 关联的皮肤图片列表
/// </summary>
public List<PetSkinImageOutput>? Images { get; set; }
}
/// <summary>
/// 皮肤分页查询输入
/// </summary>
public class PetSkinQueryInput : PageQueryModel
{
/// <summary>
/// 所属宠物模板Id必填
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 皮肤名称(模糊搜索)
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 稀有度: Normal, Rare, Epic, Legendary
/// </summary>
public string? Rarity { get; set; }
}
/// <summary>
/// 皮肤图片创建/更新输入
/// </summary>
public class PetSkinImageInput
{
/// <summary>
/// 皮肤Id
/// </summary>
public long SkinId { get; set; }
/// <summary>
/// 进化阶段Id
/// </summary>
public long EvolutionStageId { get; set; }
/// <summary>
/// 图片地址
/// </summary>
public string ImageUrl { get; set; } = string.Empty;
/// <summary>
/// 图片顺序(动画帧序号)
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// 图片类型: Normal, Special
/// </summary>
public string Type { get; set; } = PetSkinImageTypeEnum.Normal.ToString();
}
/// <summary>
/// 皮肤图片输出
/// </summary>
public class PetSkinImageOutput
{
public long Id { get; set; }
public long SkinId { get; set; }
public long EvolutionStageId { get; set; }
public string ImageUrl { get; set; } = string.Empty;
public int SortOrder { get; set; }
public string Type { get; set; } = string.Empty;
public string? CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? UpdatedBy { get; set; }
public DateTime? UpdatedAt { get; set; }
}
/// <summary>
/// 皮肤按进化阶段分组的图片输出(每阶段包含阶段信息和图片列表)
/// </summary>
public class SkinEvolutionStageOutput
{
public long EvolutionId { get; set; }
public string StageName { get; set; } = string.Empty;
public int StageLevel { get; set; }
public int RequiredGrowth { get; set; }
public long? PreviousEvolutionId { get; set; }
public List<PetSkinImageOutput> Images { get; set; } = new();
}