feat: 完成宠物模块重构与社区功能开发

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

View File

@ -0,0 +1,33 @@
-- ========================================
-- 宠物模块数据结构优化迁移脚本
-- 执行前请备份相关表数据
-- ========================================
-- 1. 修改 Pet 表CurrentEvolutionId int → bigint
ALTER TABLE Pet MODIFY COLUMN CurrentEvolutionId BIGINT NOT NULL DEFAULT 0;
-- 2. 修改 PetEvolution 表PreviousEvolutionId int → bigint, 删除 ImageUrl
ALTER TABLE PetEvolution MODIFY COLUMN PreviousEvolutionId BIGINT NULL;
ALTER TABLE PetEvolution DROP COLUMN ImageUrl;
-- 3. 修改 PetSkin 表:删除 ImageUrl 和 ProductId
ALTER TABLE PetSkin DROP COLUMN ImageUrl;
ALTER TABLE PetSkin DROP COLUMN ProductId;
-- 4. 新建 PetSkinImage 表(每个皮肤在每个进化阶段下有一组有序图片)
CREATE TABLE IF NOT EXISTS PetSkinImage (
Id BIGINT NOT NULL PRIMARY KEY COMMENT '主键雪花ID',
SkinId BIGINT NOT NULL COMMENT '皮肤Id关联PetSkin.Id0表示默认皮肤',
EvolutionStageId BIGINT NOT NULL COMMENT '进化阶段Id关联PetEvolution.Id',
ImageUrl VARCHAR(500) NOT NULL COMMENT '图片地址',
SortOrder INT NOT NULL DEFAULT 0 COMMENT '图片顺序(动画帧序号)',
Type VARCHAR(50) NOT NULL DEFAULT 'Normal' COMMENT '图片类型: Normal, Special',
Status INT NOT NULL DEFAULT 0 COMMENT '基础状态',
IsDeleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '软删除',
CreatedBy VARCHAR(100) NULL COMMENT '创建人',
CreatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
UpdatedBy VARCHAR(100) NULL COMMENT '更新人',
UpdatedAt DATETIME NULL COMMENT '更新时间',
INDEX idx_skin_evolution (SkinId, EvolutionStageId),
INDEX idx_sort (SkinId, EvolutionStageId, SortOrder)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宠物皮肤图片表';