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

289 lines
5.6 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;
#region DTO
/// <summary>
/// 社区消息分页查询输入(后台)
/// </summary>
public class AdminMessageQueryInput : PageQueryModel
{
/// <summary>
/// 期刊ID
/// </summary>
public long? JournalId { get; set; }
/// <summary>
/// 消息类型: Article, Quote, Announcement
/// </summary>
public string? Type { get; set; }
/// <summary>
/// 状态: 0=审核中, 1=已通过, 2=已冻结
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 是否精选: 0=否, 1=是
/// </summary>
public int? IsFeatured { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool? IsActive { get; set; }
/// <summary>
/// 内容关键词(模糊查询)
/// </summary>
public string? Keyword { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long? UserId { get; set; }
}
/// <summary>
/// 社区消息详情输出(后台)
/// </summary>
public class AdminMessageDetailOutput
{
/// <summary>
/// 主键ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 期刊ID
/// </summary>
public long JournalId { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 用户实例期刊ID
/// </summary>
public long UserJournalId { get; set; }
/// <summary>
/// 期刊任务ID
/// </summary>
public long JournalTaskId { get; set; }
/// <summary>
/// 用户期刊任务回答ID
/// </summary>
public long JournalTaskAnswerId { get; set; }
/// <summary>
/// 消息内容
/// </summary>
public string Content { get; set; } = string.Empty;
/// <summary>
/// 配图
/// </summary>
public string? ImageUrl { get; set; }
/// <summary>
/// 排序权重
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsActive { get; set; }
/// <summary>
/// 消息类型
/// </summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// 点赞数
/// </summary>
public int LikeCount { get; set; }
/// <summary>
/// 是否精选
/// </summary>
public int IsFeatured { get; set; }
/// <summary>
/// 状态: 0=审核中, 1=已通过, 2=已冻结
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string? CreatedBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 更新人
/// </summary>
public string? UpdatedBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedAt { get; set; }
}
/// <summary>
/// 设置精选入参
/// </summary>
public class AdminSetFeaturedInput
{
/// <summary>
/// 是否精选: 0=否, 1=是
/// </summary>
public int IsFeatured { get; set; }
}
/// <summary>
/// 设置排序权重入参
/// </summary>
public class AdminSetSortOrderInput
{
/// <summary>
/// 排序权重
/// </summary>
public int SortOrder { get; set; }
}
/// <summary>
/// 冻结/解冻入参
/// </summary>
public class AdminFreezeInput
{
/// <summary>
/// 状态: 1=解冻(通过), 2=冻结
/// </summary>
public int Status { get; set; }
}
#endregion
#region DTO
/// <summary>
/// 微信端社区Feed消息输出
/// </summary>
public class WxFeedMessageOutput
{
/// <summary>
/// 消息ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 期刊ID
/// </summary>
public long JournalId { get; set; }
/// <summary>
/// 作者用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 消息内容
/// </summary>
public string Content { get; set; } = string.Empty;
/// <summary>
/// 配图
/// </summary>
public string? ImageUrl { get; set; }
/// <summary>
/// 消息类型
/// </summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// 点赞数
/// </summary>
public int LikeCount { get; set; }
/// <summary>
/// 是否精选
/// </summary>
public int IsFeatured { get; set; }
/// <summary>
/// 当前用户是否已点赞
/// </summary>
public bool IsLiked { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
}
/// <summary>
/// 微信端社区Feed输出含游标
/// </summary>
public class WxFeedOutput
{
/// <summary>
/// 消息列表
/// </summary>
public List<WxFeedMessageOutput> Messages { get; set; } = new();
/// <summary>
/// 下一页游标为null表示没有更多数据
/// </summary>
public long? NextCursor { get; set; }
/// <summary>
/// 是否还有更多数据
/// </summary>
public bool HasMore { get; set; }
}
/// <summary>
/// 微信端点赞入参
/// </summary>
public class WxLikeInput
{
/// <summary>
/// 消息ID
/// </summary>
public long MessageId { get; set; }
}
/// <summary>
/// 微信端点赞输出
/// </summary>
public class WxLikeOutput
{
/// <summary>
/// 消息ID
/// </summary>
public long MessageId { get; set; }
/// <summary>
/// 当前点赞数
/// </summary>
public int LikeCount { get; set; }
/// <summary>
/// 是否已点赞
/// </summary>
public bool IsLiked { get; set; }
}
#endregion