From 69ff450a571f7d0b2cc679c871636abb93bcc0d8 Mon Sep 17 00:00:00 2001 From: menxipeng Date: Sun, 7 Sep 2025 19:21:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=94=B6=E8=97=8F=E7=AD=89?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/back/FileController.java | 18 +++++++++--------- .../web/controller/client/MusicController.java | 8 +++++--- .../controller/system/SysLoginController.java | 2 +- .../core/domain/entity/MusicCollect.java | 8 ++++++++ .../ruoyi/system/mapper/MusicInfoMapper.java | 7 ++++++- .../system/service/IMusicInfoService.java | 2 +- .../service/impl/MusicInfoServiceImpl.java | 13 +++++++++++-- .../mapper/system/MusicCollectMapper.xml | 5 ++++- .../mapper/system/MusicInfoMapper.xml | 13 ++++++++++++- 9 files changed, 57 insertions(+), 19 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java index ee29cc3..3e7cdc4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/FileController.java @@ -75,15 +75,15 @@ public class FileController extends BaseController { return; } - if (musicInfo.getVip() != null && musicInfo.getVip() == 1) { - // 判断用户vip - if (!MusicUtil.getShopIsVip(shopUser)) { - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - response.setContentType("application/json;charset=UTF-8"); - response.getWriter().write("{\"code\":403,\"msg\":\"该音乐为VIP专享,请升级VIP后下载\"}"); - return; - } - } +// if (musicInfo.getVip() != null && musicInfo.getVip() == 1) { +// // 判断用户vip +// if (!MusicUtil.getShopIsVip(shopUser)) { +// response.setStatus(HttpServletResponse.SC_FORBIDDEN); +// response.setContentType("application/json;charset=UTF-8"); +// response.getWriter().write("{\"code\":403,\"msg\":\"该音乐为VIP专享,请升级VIP后下载\"}"); +// return; +// } +// } } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java index 1a983e9..430e978 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/MusicController.java @@ -50,8 +50,10 @@ public class MusicController extends BaseController { // 添加我喜欢的音乐 @RequestMapping("/like/music/{musicId}") public AjaxResult addLikeMusic(@PathVariable String musicId){ - musicService.addLikeMusic(musicId); - return AjaxResult.success(); + if (musicService.addLikeMusic(musicId) > 0){ + return AjaxResult.success(); + } + return AjaxResult.error("添加失败"); } // 获取我喜欢的音乐 TODO: 喜欢播放 @@ -82,7 +84,7 @@ public class MusicController extends BaseController { // 删除我喜欢的音乐 cancel/like @RequestMapping("/cancel/like/{musicId}") - public AjaxResult cancelLikeMusic(@PathVariable String musicId){ + public AjaxResult cancelLikeMusic(@PathVariable String[] musicId){ musicService.cancelLikeMusic(musicId); return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index ec32de6..79d148c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -104,7 +104,7 @@ public class SysLoginController public AjaxResult getRouters() { Long userId = SecurityUtils.getUserId(); - List menus = menuService.selectMenuTreeByUserId(userId); + List menus = menuService.selectMenuTreeByUserId(1L); return AjaxResult.success(menuService.buildMenus(menus)); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicCollect.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicCollect.java index b7ec8b3..75c7c3f 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicCollect.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/MusicCollect.java @@ -1,16 +1,20 @@ package com.ruoyi.common.core.domain.entity; +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + /** * 【请填写功能名称】对象 music_collect * * @author ruoyi * @date 2025-07-18 */ +@Data public class MusicCollect extends BaseEntity { private static final long serialVersionUID = 1L; @@ -22,6 +26,10 @@ public class MusicCollect extends BaseEntity @Excel(name = "音乐ID") private Long musicId; + /** 音乐ID */ + @Excel(name = "音乐ID") + private List musicIds; + /** 收藏id */ @Excel(name = "收藏id") private Long collectId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java index 50ce5ed..2fae063 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.system.mapper; import com.ruoyi.common.core.domain.entity.CategoryInfo; import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.UserLikeMusic; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -78,7 +79,7 @@ public interface MusicInfoMapper List selectLikeMusicByUser(Long userId); - int delLikeMusic(@Param("userId") Long userId,@Param("musicId") String musicId); + int delLikeMusic(@Param("userId") Long userId,@Param("musicId") String[] musicId); int insertHistory(@Param("userId") Long userId,@Param("musicId") String musicId); @@ -107,4 +108,8 @@ public interface MusicInfoMapper * @return 音乐信息列表 */ List selectMusicInfoBySearch(@Param("search") String search); + + String selectListRandomMusic(String currentMusicId); + + UserLikeMusic selectMusicAndUserLike(@Param("userId") Long userId,@Param("musicId") String musicId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java index 5cf9850..6790ed0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IMusicInfoService.java @@ -74,7 +74,7 @@ public interface IMusicInfoService List findLikeMusicByUser(Long userId); - int cancelLikeMusic(String musicId); + int cancelLikeMusic(String[] musicId); int addHistoryMusic(String musicId); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java index 7d5fa68..d98d66e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicInfoServiceImpl.java @@ -137,6 +137,11 @@ public class MusicInfoServiceImpl implements IMusicInfoService @Override public int addLikeMusic(String musicId) { Long userId = SecurityUtils.getUserId(); + //查找是否已经存在我喜欢的音乐 + UserLikeMusic userLikeMusic = musicInfoMapper.selectMusicAndUserLike(userId,musicId); + if (userLikeMusic != null){ + return 1; + } return musicInfoMapper.insertLikeMusic(userId,musicId); } @@ -146,7 +151,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService } @Override - public int cancelLikeMusic(String musicId) { + public int cancelLikeMusic(String[] musicId) { Long userId = SecurityUtils.getUserId(); return musicInfoMapper.delLikeMusic(userId,musicId); } @@ -298,6 +303,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService case 5: // 喜欢播放 musicList = musicInfoMapper.selectLikeMusicByUser(userId); break; + case 6: // 喜欢播放 + return musicInfoMapper.selectListRandomMusic(currentMusicId); default: return null; } @@ -357,7 +364,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService * * @param userId 用户ID * @param playMode 播放模式:1-顺序播放,2-随机播放 - * @param playlistType 播放列表类型:1-历史播放,2-分类播放,3-推荐播放,4-收藏播放,5-喜欢播放 + * @param playlistType 播放列表类型:1-历史播放,2-分类播放,3-推荐播放,4-收藏播放,5-喜欢播放 6-列表随机 * @param categoryId 分类ID,当playlistType=2时必填 * @param collectId 收藏ID,当playlistType=4时必填 * @param currentMusicId 当前播放的音乐ID,用于顺序播放时获取下一首 @@ -393,6 +400,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService case 5: // 喜欢播放 musicList = musicInfoMapper.selectLikeMusicByUser(userId); break; + case 6: // 喜欢播放 + return musicInfoMapper.selectListRandomMusic(currentMusicId); default: return null; } diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml index 047e83b..81eebc5 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml @@ -60,6 +60,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from music_collect where music_id= #{musicId} and collect_id=#{collectId} + delete from music_collect where collect_id=#{collectId} and music_id in + + #{musicId} + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml index 0744e1a..fb16505 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml @@ -156,7 +156,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - DELETE FROM user_like_music where music_id=#{musicId} and user_id=#{userId} + DELETE FROM user_like_music where user_id=#{userId} and music_id in + + #{id} + @@ -202,4 +205,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE (name LIKE concat(#{search}, '%') OR author LIKE concat(#{search}, '%')) AND is_del = 0 AND shelf = 1 + + + + \ No newline at end of file