feat(music): 实现热门音乐功能并优化性能
- 新增 HotMusicController 提供热门音乐接口 - 实现基于新热度算法的热门音乐列表获取 - 添加手动刷新缓存接口 - 新增 MusicService 接口和 MusicServiceImpl 实现类 - 使用 Redis 缓存热门音乐列表,提高响应速度 - 引入 HotScoreUtil 工具类计算热度分数 - 在 Music 实体中添加点赞数、收藏数、评论数和热度分数字段 - 更新数据库结构,增加相关字段 - 使用异步任务定期更新热门音乐缓存
This commit is contained in:
@@ -61,17 +61,25 @@ CREATE TABLE `comment` (
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `music`;
|
||||
CREATE TABLE `music` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '音乐ID',
|
||||
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '音乐名称',
|
||||
`cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '封面URL',
|
||||
`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '音乐文件URL',
|
||||
`lyric` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '歌词',
|
||||
`duration` int NULL DEFAULT 0 COMMENT '时长(秒)',
|
||||
`play_count` bigint NULL DEFAULT 0 COMMENT '播放次数',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`album` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '音乐ID',
|
||||
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '音乐名称',
|
||||
`cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '封面URL',
|
||||
`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '音乐文件URL',
|
||||
`lyric` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '歌词',
|
||||
`duration` int NULL DEFAULT 0 COMMENT '时长(秒)',
|
||||
`album` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
|
||||
-- Interaction and Hot Score Fields
|
||||
`play_count` bigint NULL DEFAULT 0 COMMENT '播放次数',
|
||||
`like_count` int NULL DEFAULT 0 COMMENT '点赞数',
|
||||
`collect_count` int NULL DEFAULT 0 COMMENT '收藏数',
|
||||
`comment_count` int NULL DEFAULT 0 COMMENT '评论数',
|
||||
`hot_score` double NULL DEFAULT 0.0 COMMENT '热度分数',
|
||||
|
||||
-- Timestamps
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '音乐表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
|
||||
Reference in New Issue
Block a user