From 34a3358ea4a4738d9148589f81ce3691f93d3589 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Tue, 29 Jul 2025 20:27:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(playlist):=20=E4=BC=98=E5=8C=96=E6=AD=8C?= =?UTF-8?q?=E5=8D=95=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将评论获取移至歌单详情获取成功后 - 添加评论数到歌单 DTO - 优化前端歌单详情展示 --- .../musichouduan/service/impl/PlaylistServiceImpl.java | 7 +++++++ music-qianduan/src/views/PlaylistDetail.vue | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java index 577b398..5a1e76f 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/PlaylistServiceImpl.java @@ -75,6 +75,9 @@ public class PlaylistServiceImpl implements PlaylistService { @Autowired private PlayHistoryRepository playHistoryRepository; + @Autowired + private CommentRepository commentRepository; + @Autowired private FileService fileService; @@ -590,6 +593,10 @@ public class PlaylistServiceImpl implements PlaylistService { playlistDTO.setSongCount(0); } + // 设置评论数 (targetType=2 代表歌单) + long commentCount = commentRepository.countByTargetIdAndTargetType(playlist.getId(), 2); + playlistDTO.setCommentCount((int) commentCount); + // 检查当前登录用户是否已收藏该歌单 if (StpUtil.isLogin()) { Long userId = StpUtil.getLoginIdAsLong(); diff --git a/music-qianduan/src/views/PlaylistDetail.vue b/music-qianduan/src/views/PlaylistDetail.vue index 1c11f1a..cbc9574 100644 --- a/music-qianduan/src/views/PlaylistDetail.vue +++ b/music-qianduan/src/views/PlaylistDetail.vue @@ -88,6 +88,9 @@ const fetchPlaylistDetail = async () => { // 更新歌单内歌曲的状态 updateMusicStatuses(playlist.value.songs) + + // 获取评论 + fetchComments() } else { ElMessage.error(res.message || '获取歌单详情失败') } @@ -474,7 +477,6 @@ let commentSubscription = null; onMounted(() => { fetchPlaylistDetail() - fetchComments() // 连接 WebSocket 并订阅评论 connect(() => {