From 4a379bed8386e864960a300c86759726c67f6df1 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Fri, 10 Oct 2025 22:30:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(playlist):=20=E5=AE=9E=E7=8E=B0=E6=AD=8C?= =?UTF-8?q?=E5=8D=95=E6=94=B6=E8=97=8F=E4=B8=8E=E5=8F=96=E6=B6=88=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E5=8A=9F=E8=83=BD-=20=E6=B7=BB=E5=8A=A0=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E7=8A=B6=E6=80=81=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91?= =?UTF-8?q?=20-=20=E6=94=AF=E6=8C=81=E5=8F=96=E6=B6=88=E5=B7=B2=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E7=9A=84=E6=AD=8C=E5=8D=95=20-=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=AD=8C=E5=8D=95=E6=94=B6=E8=97=8F=E8=AE=A1=E6=95=B0-=20?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=94=A8=E6=88=B7=E6=94=B6=E8=97=8F=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=20-=20=E8=BF=94=E5=9B=9E=E6=94=B6=E8=97=8F=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E7=BB=93=E6=9E=9C=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PlaylistServiceImpl.java | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) 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 87b2ed1..820683f 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 @@ -368,22 +368,30 @@ public class PlaylistServiceImpl implements PlaylistService { // 检查是否已收藏 if (userCollectPlaylistRepository.existsByUserAndPlaylist(user, playlist)) { - throw new BusinessException("已收藏该歌单"); + // 已收藏则取消收藏 + userCollectPlaylistRepository.deleteByUserAndPlaylist(user, playlist); + + // 更新收藏数 + playlist.setCollectCount((playlist.getCollectCount() == null ? 0 : playlist.getCollectCount()) - 1); + playlistRepository.save(playlist); + + return false; // 表示取消收藏 + } else { + // 未收藏则进行收藏 + com.test.musichouduan.entity.UserCollectPlaylist userCollectPlaylist = new com.test.musichouduan.entity.UserCollectPlaylist(); + userCollectPlaylist.setUser(user); + userCollectPlaylist.setPlaylist(playlist); + userCollectPlaylistRepository.save(userCollectPlaylist); + + // 更新收藏数 + playlist.setCollectCount((playlist.getCollectCount() == null ? 0 : playlist.getCollectCount()) + 1); + playlistRepository.save(playlist); + + return true; // 表示收藏成功 } - - // 收藏歌单 - com.test.musichouduan.entity.UserCollectPlaylist userCollectPlaylist = new com.test.musichouduan.entity.UserCollectPlaylist(); - userCollectPlaylist.setUser(user); - userCollectPlaylist.setPlaylist(playlist); - userCollectPlaylistRepository.save(userCollectPlaylist); - - // 更新收藏数 - playlist.setCollectCount((playlist.getCollectCount() == null ? 0 : playlist.getCollectCount()) + 1); - playlistRepository.save(playlist); - - return true; } + @Override @Transactional public boolean uncollectPlaylist(Long id) {