feat: 完成宠物模块重构与社区功能开发
本次提交包含多项核心更新:
1. 重构宠物模块数据结构:拆分皮肤图片为独立表,优化Pet、PetEvolution实体,调整字段类型与冗余字段
2. 新增宠物皮肤图片管理表,支持多进化阶段多图片展示
3. 完善宠物DTO,新增当前形态名称、皮肤信息与图片序列返回
4. 新增社区功能模块:
- 微信端社区Feed流、点赞/取消点赞接口
- 后台社区消息管理接口与服务实现
5. 优化商城与背包模块,替换皮肤图片获取逻辑为从新表读取预览图
6. 重构勋章服务,新增规则校验逻辑
7. 调整命名规范,修复原有控制器命名问题
This commit is contained in:
@ -8,64 +8,85 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
[SugarTable("Pet")]
|
||||
public partial class Pet : SqlSugarBaseEntity
|
||||
{
|
||||
public Pet(){
|
||||
public Pet()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:宠物昵称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Name {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:宠物昵称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前进化形态Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int CurrentEvolutionId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:当前进化形态Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long CurrentEvolutionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前成长值
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int GrowthPoints {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:当前成长值
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int GrowthPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:累计喂养次数
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int FeedingCount {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:累计喂养次数
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int FeedingCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:当前皮肤Id(0为默认皮肤)
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long CurrentSkinId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:当前皮肤Id(0为默认皮肤)
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long CurrentSkinId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:宠物类型
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:宠物类型
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态: Inactive, Active, Sleeping
|
||||
/// Default:Inactive
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:状态: Inactive, Active, Sleeping
|
||||
/// Default:Inactive
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public new string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 理解力
|
||||
/// </summary>
|
||||
public int Comprehension { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 判断力
|
||||
/// </summary>
|
||||
public int Judgment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表达力
|
||||
/// </summary>
|
||||
public int Expression { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 说服力
|
||||
/// </summary>
|
||||
public int Persuasiveness { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,86 +8,76 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
[SugarTable("PetEvolution")]
|
||||
public partial class PetEvolution : SqlSugarBaseEntity
|
||||
{
|
||||
public PetEvolution(){
|
||||
public PetEvolution() { }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:阶段名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string StageName { get; set; }
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:阶段等级
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int StageLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:阶段名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string StageName {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:进化所需成长值
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int RequiredGrowth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:阶段等级
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int StageLevel {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:前一形态Id(null表示初始形态)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public long? PreviousEvolutionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:进化所需成长值
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int RequiredGrowth {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:基础力量
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseStrength { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:形态图片
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ImageUrl {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:基础敏捷
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseAgility { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:前一形态Id
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? PreviousEvolutionId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:基础智力
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseIntelligence { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:基础力量
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseStrength {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:基础魅力
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseCharm { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:基础敏捷
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseAgility {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:进化类型: Normal, Special
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:基础智力
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseIntelligence {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:基础魅力
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int BaseCharm {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:进化类型: Normal, Special
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Inactive
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Inactive
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public new string Status { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,13 +17,6 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:皮肤图片
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:描述/特效说明
|
||||
/// Default:
|
||||
@ -31,13 +24,6 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:关联商品Id(用于兑换)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:稀有度: Normal, Rare, Epic, Legendary
|
||||
/// Default:Normal
|
||||
@ -51,5 +37,12 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:皮肤类型: Normal, Limited, Event
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
48
QYZH.InteractiveMagazine.Models/Entity/PetSkinImage.cs
Normal file
48
QYZH.InteractiveMagazine.Models/Entity/PetSkinImage.cs
Normal file
@ -0,0 +1,48 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
{
|
||||
/// <summary>
|
||||
/// 宠物皮肤图片表(每个皮肤在每个进化阶段下有一组有序图片,用于动态表示)
|
||||
/// </summary>
|
||||
[SugarTable("PetSkinImage")]
|
||||
public partial class PetSkinImage : SqlSugarBaseEntity
|
||||
{
|
||||
public PetSkinImage() { }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:皮肤Id,关联PetSkin.Id(0表示默认皮肤的图片)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SkinId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:进化阶段Id,关联PetEvolution.Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long EvolutionStageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:图片地址
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:图片顺序(动画帧序号)
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:图片类型: Normal, Special
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user