1. 新增PetSkinImageTypeEnum.Cover枚举,添加封面图类型支持 2. 为PetSkin、PetTemplate实体添加封面图片地址字段 3. 新增补偿任务按用户ID筛选功能,优化UsersService查询逻辑 4. 重构宠物模板创建流程,支持批量创建进化链与图片 5. 移除PetEvolution实体的基础属性字段,简化进化形态结构 6. 新增OSS域名辅助工具与SDK注册扩展类 7. 优化宠物皮肤、进化阶段的DTO与服务层逻辑
136 lines
3.5 KiB
C#
136 lines
3.5 KiB
C#
using QYZH.InteractiveMagazine.Models.Enum;
|
|
|
|
namespace QYZH.InteractiveMagazine.Models.Dto.Pet;
|
|
|
|
/// <summary>
|
|
/// 宠物模板创建/更新输入(包含进化链及图片)
|
|
/// </summary>
|
|
public class PetTemplateInput
|
|
{
|
|
/// <summary>
|
|
/// 模板名称
|
|
/// </summary>
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 模板描述
|
|
/// </summary>
|
|
public string? Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// 模板图标地址
|
|
/// </summary>
|
|
public string? IconUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// 排序权重
|
|
/// </summary>
|
|
public int SortOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// 模板类型: Normal, Special, Limited
|
|
/// </summary>
|
|
public string Type { get; set; } = PetTemplateTypeEnum.Normal.ToString();
|
|
|
|
/// <summary>
|
|
/// 进化链列表(创建时一并传入,每个阶段含一组图片)
|
|
/// </summary>
|
|
public List<PetEvolutionStageInput>? Evolutions { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 进化阶段输入(含该阶段的图片列表,用于模板创建时一并提交)
|
|
/// </summary>
|
|
public class PetEvolutionStageInput
|
|
{
|
|
/// <summary>
|
|
/// 阶段名称
|
|
/// </summary>
|
|
public string StageName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 阶段等级
|
|
/// </summary>
|
|
public int StageLevel { get; set; }
|
|
|
|
/// <summary>
|
|
/// 进化所需成长值
|
|
/// </summary>
|
|
public int RequiredGrowth { get; set; }
|
|
|
|
/// <summary>
|
|
/// 进化类型: Normal, Special
|
|
/// </summary>
|
|
public string Type { get; set; } = PetEvolutionTypeEnum.Normal.ToString();
|
|
|
|
/// <summary>
|
|
/// 该阶段对应的默认皮肤图片列表(其中 Type="Cover" 的为封面图)
|
|
/// </summary>
|
|
public List<PetStageImageInput>? Images { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 进化阶段图片输入(创建模板时使用)
|
|
/// </summary>
|
|
public class PetStageImageInput
|
|
{
|
|
/// <summary>
|
|
/// 图片地址
|
|
/// </summary>
|
|
public string ImageUrl { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 图片顺序(动画帧序号)
|
|
/// </summary>
|
|
public int SortOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// 图片类型: Normal=普通帧, Cover=封面图
|
|
/// </summary>
|
|
public string Type { get; set; } = PetSkinImageTypeEnum.Normal.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 宠物模板输出
|
|
/// </summary>
|
|
public class PetTemplateOutput
|
|
{
|
|
public long Id { get; set; }
|
|
public string Name { get; set; } = string.Empty;
|
|
public string? Description { get; set; }
|
|
public long DefaultEvolutionId { get; set; }
|
|
public string? IconUrl { get; set; }
|
|
/// <summary>
|
|
/// 封面图片地址(默认取初始阶段封面图)
|
|
/// </summary>
|
|
public string? CoverImageUrl { get; set; }
|
|
public int SortOrder { get; set; }
|
|
public string Type { get; set; } = string.Empty;
|
|
public string Status { 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 PetTemplateQueryInput : PageQueryModel
|
|
{
|
|
/// <summary>
|
|
/// 模板名称(模糊搜索)
|
|
/// </summary>
|
|
public string? Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// 模板类型: Normal, Special, Limited
|
|
/// </summary>
|
|
public string? Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// 状态: Active, Inactive
|
|
/// </summary>
|
|
public string? Status { get; set; }
|
|
}
|