From ef6b959ab57aa05cda91048dc6feab6263624043 Mon Sep 17 00:00:00 2001 From: menxipeng Date: Tue, 19 Aug 2025 14:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E7=B1=BB=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E7=AD=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/CategoryInfoController.java | 4 +-- .../controller/client/IndexController.java | 4 +-- .../controller/client/MusicController.java | 17 +++++++++++ .../client/UserHistoryController.java | 13 +++++++-- .../ruoyi/system/mapper/MusicInfoMapper.java | 10 ++++++- .../system/mapper/UserHistoryMapper.java | 16 +++++++++++ .../system/mapper/UserLikeMusicMapper.java | 8 ++++++ .../system/service/IMusicInfoService.java | 18 +++++++++++- .../system/service/IUserHistoryService.java | 16 +++++++++++ .../service/impl/MusicInfoServiceImpl.java | 28 +++++++++++++++++-- .../service/impl/UserHistoryServiceImpl.java | 22 +++++++++++++++ .../mapper/system/MusicInfoMapper.xml | 11 +++++++- .../mapper/system/UserHistoryMapper.xml | 11 ++++++++ .../mapper/system/UserLikeMusicMapper.xml | 4 +++ 14 files changed, 169 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java index 350e70b..a63d7e8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/CategoryInfoController.java @@ -49,9 +49,9 @@ public class CategoryInfoController extends BaseController // 根据分类获取分类音乐 @GetMapping("/cate/music/{categoryId}") - public TableDataInfo getCategoryMusic(@PathVariable String categoryId){ + public TableDataInfo getCategoryMusic(@PathVariable String categoryId,MusicInfo musicInfo){ startPage(); - List list = musicInfoService.selectMusicInfoByCid(categoryId); + List list = musicInfoService.selectMusicInfoByCid(categoryId,musicInfo); return getDataTable(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java index 9172698..08b869e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java @@ -47,9 +47,9 @@ public class IndexController extends BaseController { // 根据分类获取分类音乐 TODO: 分类播放 @GetMapping("/cate/music/{categoryId}") - public TableDataInfo getCategoryMusic(@PathVariable String categoryId){ + public TableDataInfo getCategoryMusic(@PathVariable String categoryId,MusicInfo musicInfo){ startPage(); - List list = musicInfoService.selectMusicInfoByCid(categoryId); + List list = musicInfoService.selectMusicInfoByCid(categoryId,musicInfo); return getDataTableData(list); } 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 8a4eac5..f5d354c 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 @@ -60,6 +60,23 @@ public class MusicController extends BaseController { //musicService.createPlaylist(); return getDataTableData(list); } + + /** + * 查询我喜欢的数量和图片 + */ + @GetMapping("/like/num") + public AjaxResult likeNum(){ + Long userId = SecurityUtils.getUserId(); + // 查询我喜欢的数量 + int count = musicService.findLikeNumsByUserId(userId); + // 获取一张音乐图片 + String imgUrl = musicService.findLikeMusicImageByUserId(userId); + AjaxResult ajax = AjaxResult.success(); + ajax.put("count", count); + ajax.put("imgUrl", imgUrl); + return ajax; + } + // 删除我喜欢的音乐 cancel/like @RequestMapping("/cancel/like/{musicId}") public AjaxResult cancelLikeMusic(@PathVariable String musicId){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java index 6998a01..41fad2c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java @@ -108,13 +108,20 @@ public class UserHistoryController extends BaseController /** - * 查询历史数量 + * 查询历史数量和图片 */ + @GetMapping("/num") public AjaxResult historyNum(){ Long userId = SecurityUtils.getUserId(); // 查询历史数量 - //userHistoryService.findNumsByUserId(); - return null; + int count = userHistoryService.findNumsByUserId(userId); + // 获取一张音乐图片 + String imgUrl = userHistoryService.findHistoryMusicImageByUserId(userId); + + AjaxResult ajax = AjaxResult.success(); + ajax.put("count", count); + ajax.put("imgUrl", imgUrl); + return ajax; } } 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 13f562f..9d62e42 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 @@ -64,7 +64,7 @@ public interface MusicInfoMapper MusicInfo selectByCate(CategoryInfo categoryInfo); - List selectMusicInfoByCid(String categoryId); + List selectMusicInfoByCid(@Param("categoryId") String categoryId,@Param("musicInfo") MusicInfo musicInfo); List selectMusicInfoByIds(List musicIdList); @@ -91,4 +91,12 @@ public interface MusicInfoMapper MusicInfo selectByPath(String path); List selectMusicInfoByReId(String reId); + + /** + * 根据用户ID查询喜欢的音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + String selectLikeMusicImageByUserId(@Param("userId") Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserHistoryMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserHistoryMapper.java index 9a252d3..5f6defc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserHistoryMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserHistoryMapper.java @@ -62,4 +62,20 @@ public interface UserHistoryMapper public int deleteUserHistoryByIds(String[] ids); int deleteUserHistoryByMusicId(@Param("musicIds") String[] musicIds,@Param("userId") Long userId); + + /** + * 根据用户ID查询历史记录数量 + * + * @param userId 用户ID + * @return 历史记录数量 + */ + int selectHistoryNumByUserId(@Param("userId") Long userId); + + /** + * 根据用户ID查询历史音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + String selectHistoryMusicImageByUserId(@Param("userId") Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java index f70a10a..ed35437 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserLikeMusicMapper.java @@ -62,4 +62,12 @@ public interface UserLikeMusicMapper public int deleteUserLikeMusicByIds(String[] ids); UserLikeMusic selectUserLikeMusicAndUserId(@Param("userId") Long userId,@Param("musicId") String musicId); + + /** + * 根据用户ID查询喜欢的音乐数量 + * + * @param userId 用户ID + * @return 喜欢的音乐数量 + */ + int selectLikeMusicCountByUserId(@Param("userId") Long userId); } 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 29c79d4..000d1df 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 @@ -66,7 +66,7 @@ public interface IMusicInfoService List findMusicByCate(CategoryInfo categoryInfo); - List selectMusicInfoByCid(String categoryId); + List selectMusicInfoByCid(String categoryId,MusicInfo musicInfo); List findMusicByCollectId(String collectId); @@ -100,4 +100,20 @@ public interface IMusicInfoService * @return 下一首音乐ID */ String getNextMusicId(Long userId, Integer playMode, Integer playlistType, String categoryId, String collectId,String reId, String currentMusicId); + + /** + * 根据用户ID查询喜欢的音乐数量 + * + * @param userId 用户ID + * @return 喜欢的音乐数量 + */ + int findLikeNumsByUserId(Long userId); + + /** + * 获取用户喜欢的音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + String findLikeMusicImageByUserId(Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserHistoryService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserHistoryService.java index 0c14c72..1659ebe 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserHistoryService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserHistoryService.java @@ -63,4 +63,20 @@ public interface IUserHistoryService int insertHistory(Long userId, String musicId); int deleteUserHistoryByMusicId(String[] musicId); + + /** + * 根据用户ID查询历史记录数量 + * + * @param userId 用户ID + * @return 历史记录数量 + */ + int findNumsByUserId(Long userId); + + /** + * 获取用户历史音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + String findHistoryMusicImageByUserId(Long userId); } 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 2c75d8d..c683a01 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 @@ -129,8 +129,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService } @Override - public List selectMusicInfoByCid(String categoryId) { - return musicInfoMapper.selectMusicInfoByCid(categoryId); + public List selectMusicInfoByCid(String categoryId,MusicInfo musicInfo) { + return musicInfoMapper.selectMusicInfoByCid(categoryId,musicInfo); } @Override @@ -284,7 +284,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService if (categoryId == null || categoryId.isEmpty()) { return null; // 分类播放必须提供分类ID } - musicList = musicInfoMapper.selectMusicInfoByCid(categoryId); + musicList = musicInfoMapper.selectMusicInfoByCid(categoryId,new MusicInfo()); break; case 3: // 推荐播放 if (reId == null || reId.isEmpty()) { @@ -361,6 +361,28 @@ public class MusicInfoServiceImpl implements IMusicInfoService } + /** + * 根据用户ID查询喜欢的音乐数量 + * + * @param userId 用户ID + * @return 喜欢的音乐数量 + */ + @Override + public int findLikeNumsByUserId(Long userId) { + return userLikeMusicMapper.selectLikeMusicCountByUserId(userId); + } + + /** + * 获取用户喜欢的音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + @Override + public String findLikeMusicImageByUserId(Long userId) { + return musicInfoMapper.selectLikeMusicImageByUserId(userId); + } + //TODO: 待完善 public Map getMixMusicInfo(String musicId){ MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicId); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserHistoryServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserHistoryServiceImpl.java index ee48e60..3572504 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserHistoryServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserHistoryServiceImpl.java @@ -103,4 +103,26 @@ public class UserHistoryServiceImpl implements IUserHistoryService Long userId = SecurityUtils.getUserId(); return userHistoryMapper.deleteUserHistoryByMusicId(musicIds,userId); } + + /** + * 根据用户ID查询历史记录数量 + * + * @param userId 用户ID + * @return 历史记录数量 + */ + @Override + public int findNumsByUserId(Long userId) { + return userHistoryMapper.selectHistoryNumByUserId(userId); + } + + /** + * 获取用户历史音乐中的一张图片 + * + * @param userId 用户ID + * @return 音乐图片URL + */ + @Override + public String findHistoryMusicImageByUserId(Long userId) { + return userHistoryMapper.selectHistoryMusicImageByUserId(userId); + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml index 14d6828..cd95f93 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml @@ -126,7 +126,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT * FROM music_recommend mr left join music_info mi on mi.music_id=mr.music_id WHERE mi.is_del=0 and mr.recommend_id =#{reId} + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/UserHistoryMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserHistoryMapper.xml index 94cfa3e..6f43117 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserHistoryMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserHistoryMapper.xml @@ -66,4 +66,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and user_id=#{userId} + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml index 6061b8a..d82136d 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserLikeMusicMapper.xml @@ -62,4 +62,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file