diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UserLikeMusicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UserLikeMusicController.java index 626437f..1d6a340 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UserLikeMusicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/back/UserLikeMusicController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.UserLikeMusic; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.IUserLikeMusicService; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +18,7 @@ import java.util.List; /** * 【请填写功能名称】Controller - * + * * @author ruoyi * @date 2025-07-15 */ @@ -95,4 +96,6 @@ public class UserLikeMusicController extends BaseController { return toAjax(userLikeMusicService.deleteUserLikeMusicByIds(ids)); } + + } 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 0fdc612..f845bfe 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 @@ -5,6 +5,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.MusicInfo; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.service.IBannerInfoService; import com.ruoyi.system.service.ICategoryInfoService; import com.ruoyi.system.service.IMusicInfoService; @@ -29,7 +30,8 @@ public class IndexController extends BaseController { private IMusicInfoService musicInfoService; @Autowired private IRecommendInfoService recommendInfoService; - + @Autowired + private IMusicInfoService musicService; /** * @return com.ruoyi.common.core.domain.AjaxResult * 获取banner @@ -58,6 +60,14 @@ public class IndexController extends BaseController { public TableDataInfo getRecommendMusic(){ startPage(); List list = recommendInfoService.findRecommendMusic(); + + Long userId = SecurityUtils.getUserId(); + for (MusicInfo musicInfo : list) { + Long musicId = musicInfo.getMusicId(); + MusicInfo selectUserLikeMusic = musicService.selectUserLikeMusic(String.valueOf(musicId), userId); + musicInfo.setLike(selectUserLikeMusic.isLike()); + } + return getDataTableData(list); } @@ -75,6 +85,6 @@ public class IndexController extends BaseController { 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 88e0b3e..a3768e5 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 @@ -211,4 +211,11 @@ public class MusicController extends BaseController { // return AjaxResult.success(musicInfos); } + // 查找该音乐是否是我喜欢的音乐 + @GetMapping("/selectUserLikeMusic/{musicId}") + public AjaxResult selectUserLikeMusic(@PathVariable("musicId") String musicId) { + Long userId = SecurityUtils.getUserId(); + return AjaxResult.success(musicService.selectUserLikeMusic(musicId,userId)); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java index fef5c6a..7af254a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/config/UmengConfig.java @@ -42,22 +42,22 @@ public class UmengConfig { private final PushClient client = new PushClient(); public UmResp send(String token,String deviceTypeUp){ - String umAppkey = null; - if (deviceTypeUp.equals(DeviceTypeEnum.ANDROID.name())){ - umAppkey = AliKeyConfig.UMApp_Android_Key; - }else if (deviceTypeUp.equals(DeviceTypeEnum.IOS.name())){ - umAppkey = AliKeyConfig.UMApp_IOS_Key; - } +// String umAppkey = null; + // if (deviceTypeUp.equals(DeviceTypeEnum.ANDROID.name())){ + // umAppkey = AliKeyConfig.UMApp_Android_Key; + // }else if (deviceTypeUp.equals(DeviceTypeEnum.IOS.name())){ + // umAppkey = AliKeyConfig.UMApp_IOS_Key; + // } //687b2df479267e0210b79b6f - String appKey = AliKeyConfig.UMApp_AliKey; - String appSecret = AliKeyConfig.UMApp_AliSecret; + // String appKey = AliKeyConfig.UMApp_AliKey; + // String appSecret = AliKeyConfig.UMApp_AliSecret; // if (deviceTypeUp.equals(DeviceTypeEnum.ANDROID.name())){ // // } // //687b2df479267e0210b79b6f -// String umAppkey = "68a99a66ec2b5b6f8825b8b1"; -// String appKey = "204918113"; -// String appSecret = "v4UrIhhLZlo0adpmevyCfvThGFbrRer0"; + String umAppkey = "68a99a66ec2b5b6f8825b8b1"; + String appKey = "204918113"; + String appSecret = "v4UrIhhLZlo0adpmevyCfvThGFbrRer0"; // 下面的url要和阿里云云市场购买的商品对应 String url = "https://verify5.market.alicloudapi.com/api/v1/mobile/info?appkey=" + umAppkey; HttpPost httpPost = new HttpPost(url); @@ -161,11 +161,12 @@ public class UmengConfig { public static void main(String[] args) throws Exception { UmengConfig umengConfig = new UmengConfig(); -// System.out.println(DeviceTypeEnum.ANDROID.name()); -// UmResp sss1 = umengConfig.send("eyJvIjoiaU9TIiwiayI6ImJNSGJwMktVdjhVaE5zOW1wQWhwYlwvWCtVRTlqcnZKeXhjb091N3BDdVlqcHNEc2RKM3A2M0pJZ056U0JrdlY5UlFPSHo3U25ZMmNcL3ZpbUI3ZHN2THFwQXlkbmRJeDB4NHhLSytFR2pvVEF4eU1oUnpUVHlrNHYzZThCSjNIajJOamJoK0VPdUtRTXV3N2pnS0dIdHJoT3FJRFF4QXJ0NisrUTI1ODhhQWdEVnp5TUVZdmxpTFhKeDUwS1wvZWI5VjdSb1VoNkMzc2E5Mm1xcHI1S3FxMm9KZHk3THoyYkVPQUVnM1hvWHJWVlwvcmtOMFluV1AyMVBZb0xrVFgxXC84TWZhVXZJRkY2aWJldDVaYkNzMVNhZU9LVU1rcnlicVpINHBMNlF5TzBFRjkrUHljT01hOGlVTjZabVZ6dm1HOFJHK3BjQjF1amVpSVpRN2N5bDRPOGxnPT0iLCJjIjoiSW02VTJVV3IxYTlDTkpmN29WR2FpRGxCZ3RSamQ5djUwaENCajJMWXd5N2Y3dzV2SndnWHFSXC8zeTlWYzFpSDFITnFHN1wvcUZpN2cxXC94cGQ5RGNsVjE0SXFKYmsxSHppZkNcL0JSU0NaeGpFTm5qWndTR3l1K1VnR3luajhnMWlHbkFhOHRmVWRUN0lGNWdrOGpVSVlteTZBNllkXC92Z2RXXC9wa1krcE9pczVWZEUrTjhXMjhEXC9idXhjQm1Wbm5obHpMWmdzRHUrdWcwQ0FMY2M0V3JybWdGdFcyOWN4Mkh5SGNNZ3AwY2xuOW5GQnNaS20zbDV3QWZIeUd2WkRpU1R3Q0lpSjFHUzNXUm1oZFVVdXo4NHRqMnBhWHZ1Y01Sa0tnNGt6Mk9cLyt4QmMrRzJ1VGpETXNtcW1nVUdBSWFoMlNyaGs5MEJMZWlKSFRLY0diTjlZbmN2cjZlMTBlZE1nSDR3QTB5K0lnTzlXd2t5OVAwb1FUbEZpUHd1Tm9PMm1OUEFpTDVwb3ZkZEp0QmY4TDZmb3B1NWl4a0FnVzBUdFM2OHN3Y3BaeWhuT25zRks0dXI2OHc3YWIySWJPNWpZMnhLTHZvb1NjMmRcLzhcL2JSTmxFM0txUUFLcDRGQUpxdWJ2bjhQRzdPcGN2bXhuSkF4bTJYNTFkQUZtaTdsSjZuZlc0MlJSNDRZWDBtMlhkczAwY3hZa2s5Q29zeVdWVUdGUkVDMjdjUUFURU9PMWp2TzdlMHEwOTRLZjdnaEx2UFJadlo2bFIxSUxmTTJxeWlQc0V5dmRiSUJyaG1yVEtJOWdqRW5Qc3U2dEZPc1RiZ0oxaVwvNGZBRFBKWDhOczF1Ym9taVl2KzZnVGsyNzlZTmQ3WU9OT21mMzlTOG05RktrNEN3Uk1QT1wvcVVSMGRJN25HbER4U1wvWEFFbWNHU0wxcDllczN0U0lsVUIrbHNcL3luWWZFNWNicDIwRE9NV3ZcL0xLa0I2cXA5RkVtaXV6eDY2MWYzZE9hZnk2WUJ2V2dsQnljU05TSkdDNkpYeTZnWHEwR1wvNE9XTkRPdjFhakIxMnhGRk9PK1dhbUVKcG9Takxic0FFV0V5eEtDb3pXaU9meG0ydEJ0bHdoM2hwXC9Vb3RyRCtIbkY2Z1NOOGtCblVtYnJRU3FzYUdsM2g3WDZSZUREbXdRSmMzSzY0QkxNcCJ9", "ios"); -// String sss; -// -// sss = "{\"success\":true,\"data\":{\"mobile\":\"18518753918\",\"score\":null,\"activeScore\":null,\"aesEncryptKey\":null},\"code\":2001,\"message\":\"gain mobile's result success\",\"requestId\":\"0E87E249-42A0-42C0-94D3-7424D45E571E\"}\n"; + System.out.println(DeviceTypeEnum.ANDROID.name()); + UmResp sss1 = umengConfig.send( + "eyJvIjoiaU9TIiwiayI6ImJNSGJwMktVdjhVaE5zOW1wQWhwYlwvWCtVRTlqcnZKeXhjb091N3BDdVlqcHNEc2RKM3A2M0pJZ056U0JrdlY5UlFPSHo3U25ZMmNcL3ZpbUI3ZHN2THFwQXlkbmRJeDB4NHhLSytFR2pvVEF4eU1oUnpUVHlrNHYzZThCSjNIajJOamJoK0VPdUtRTXV3N2pnS0dIdHJoT3FJRFF4QXJ0NisrUTI1ODhhQWdEVnp5TUVZdmxpTFhKeDUwS1wvZWI5VjdSb1VoNkMzc2E5Mm1xcHI1S3FxMm9KZHk3THoyYkVPQUVnM1hvWHJWVlwvcmtOMFluV1AyMVBZb0xrVFgxXC84TWZhVXZJRkY2aWJldDVaYkNzMVNhZU9LVU1rcnlicVpINHBMNlF5TzBFRjkrUHljT01hOGlVTjZabVZ6dm1HOFJHK3BjQjF1amVpSVpRN2N5bDRPOGxnPT0iLCJjIjoiSW02VTJVV3IxYTlDTkpmN29WR2FpRGxCZ3RSamQ5djUwaENCajJMWXd5N2Y3dzV2SndnWHFSXC8zeTlWYzFpSDFITnFHN1wvcUZpN2cxXC94cGQ5RGNsVjE0SXFKYmsxSHppZkNcL0JSU0NaeGpFTm5qWndTR3l1K1VnR3luajhnMWlHbkFhOHRmVWRUN0lGNWdrOGpVSVlteTZBNllkXC92Z2RXXC9wa1krcE9pczVWZEUrTjhXMjhEXC9idXhjQm1Wbm5obHpMWmdzRHUrdWcwQ0FMY2M0V3JybWdGdFcyOWN4Mkh5SGNNZ3AwY2xuOW5GQnNaS20zbDV3QWZIeUd2WkRpU1R3Q0lpSjFHUzNXUm1oZFVVdXo4NHRqMnBhWHZ1Y01Sa0tnNGt6Mk9cLyt4QmMrRzJ1VGpETXNtcW1nVUdBSWFoMlNyaGs5MEJMZWlKSFRLY0diTjlZbmN2cjZlMTBlZE1nSDR3QTB5K0lnTzlXd2t5OVAwb1FUbEZpUHd1Tm9PMm1OUEFpTDVwb3ZkZEp0QmY4TDZmb3B1NWl4a0FnVzBUdFM2OHN3Y3BaeWhuT25zRks0dXI2OHc3YWIySWJPNWpZMnhLTHZvb1NjMmRcLzhcL2JSTmxFM0txUUFLcDRGQUpxdWJ2bjhQRzdPcGN2bXhuSkF4bTJYNTFkQUZtaTdsSjZuZlc0MlJSNDRZWDBtMlhkczAwY3hZa2s5Q29zeVdWVUdGUkVDMjdjUUFURU9PMWp2TzdlMHEwOTRLZjdnaEx2UFJadlo2bFIxSUxmTTJxeWlQc0V5dmRiSUJyaG1yVEtJOWdqRW5Qc3U2dEZPc1RiZ0oxaVwvNGZBRFBKWDhOczF1Ym9taVl2KzZnVGsyNzlZTmQ3WU9OT21mMzlTOG05RktrNEN3Uk1QT1wvcVVSMGRJN25HbER4U1wvWEFFbWNHU0wxcDllczN0U0lsVUIrbHNcL3luWWZFNWNicDIwRE9NV3ZcL0xLa0I2cXA5RkVtaXV6eDY2MWYzZE9hZnk2WUJ2V2dsQnljU05TSkdDNkpYeTZnWHEwR1wvNE9XTkRPdjFhakIxMnhGRk9PK1dhbUVKcG9Takxic0FFV0V5eEtDb3pXaU9meG0ydEJ0bHdoM2hwXC9Vb3RyRCtIbkY2Z1NOOGtCblVtYnJRU3FzYUdsM2g3WDZSZUREbXdRSmMzSzY0QkxNcCJ9", "IOS"); + // String sss; + + // sss = "{\"success\":true,\"data\":{\"mobile\":\"18518753918\",\"score\":null,\"activeScore\":null,\"aesEncryptKey\":null},\"code\":2001,\"message\":\"gain mobile's result success\",\"requestId\":\"0E87E249-42A0-42C0-94D3-7424D45E571E\"}\n"; // // UmResp ss = JSONUtil.toBean(sss, UmResp.class); // System.out.println(ss); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicCollectMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicCollectMapper.java index d80f95d..493eee1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicCollectMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicCollectMapper.java @@ -7,15 +7,15 @@ import java.util.List; /** * 【请填写功能名称】Mapper接口 - * + * * @author ruoyi * @date 2025-07-18 */ -public interface MusicCollectMapper +public interface MusicCollectMapper { /** * 查询【请填写功能名称】 - * + * * @param id 【请填写功能名称】主键 * @return 【请填写功能名称】 */ @@ -23,7 +23,7 @@ public interface MusicCollectMapper /** * 查询【请填写功能名称】列表 - * + * * @param musicCollect 【请填写功能名称】 * @return 【请填写功能名称】集合 */ @@ -31,7 +31,7 @@ public interface MusicCollectMapper /** * 新增【请填写功能名称】 - * + * * @param musicCollect 【请填写功能名称】 * @return 结果 */ @@ -39,7 +39,7 @@ public interface MusicCollectMapper /** * 修改【请填写功能名称】 - * + * * @param musicCollect 【请填写功能名称】 * @return 结果 */ @@ -47,7 +47,7 @@ public interface MusicCollectMapper /** * 删除【请填写功能名称】 - * + * * @param id 【请填写功能名称】主键 * @return 结果 */ @@ -55,7 +55,7 @@ public interface MusicCollectMapper /** * 批量删除【请填写功能名称】 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ @@ -64,4 +64,6 @@ public interface MusicCollectMapper int delBindMusic(MusicCollect musicCollect); MusicCollect selectCollectIdAndMusicId(MusicCollect musicCollect); + + int deleteMusicCollectByCollectIds(Long[] ids); } 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 2fae063..af05e51 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 @@ -9,15 +9,15 @@ import java.util.List; /** * 音乐信息Mapper接口 - * + * * @author ruoyi * @date 2025-07-15 */ -public interface MusicInfoMapper +public interface MusicInfoMapper { /** * 查询音乐信息 - * + * * @param id 音乐信息主键 * @return 音乐信息 */ @@ -25,7 +25,7 @@ public interface MusicInfoMapper /** * 查询音乐信息列表 - * + * * @param musicInfo 音乐信息 * @return 音乐信息集合 */ @@ -33,7 +33,7 @@ public interface MusicInfoMapper /** * 新增音乐信息 - * + * * @param musicInfo 音乐信息 * @return 结果 */ @@ -41,7 +41,7 @@ public interface MusicInfoMapper /** * 修改音乐信息 - * + * * @param musicInfo 音乐信息 * @return 结果 */ @@ -49,7 +49,7 @@ public interface MusicInfoMapper /** * 删除音乐信息 - * + * * @param id 音乐信息主键 * @return 结果 */ @@ -57,7 +57,7 @@ public interface MusicInfoMapper /** * 批量删除音乐信息 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ @@ -92,18 +92,18 @@ public interface MusicInfoMapper MusicInfo selectByPath(String path); List selectMusicInfoByReId(String reId); - + /** * 根据用户ID查询喜欢的音乐中的一张图片 - * + * * @param userId 用户ID * @return 音乐图片URL */ String selectLikeMusicImageByUserId(@Param("userId") Long userId); - + /** * 根据作者名称或音乐名称模糊搜索音乐 - * + * * @param search 搜索关键词 * @return 音乐信息列表 */ @@ -112,4 +112,6 @@ public interface MusicInfoMapper String selectListRandomMusic(String currentMusicId); UserLikeMusic selectMusicAndUserLike(@Param("userId") Long userId,@Param("musicId") String musicId); + + MusicInfo selectUserLikeMusic(@Param("musicId") String musicId,@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 6790ed0..4c8f3b3 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 @@ -138,4 +138,6 @@ public interface IMusicInfoService * @return 音乐信息列表,包含是否是当前用户喜欢的标识 */ List findLikeSearch(String search); + + MusicInfo selectUserLikeMusic(String musicId, 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 15bf8c0..ef254c0 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 @@ -268,7 +268,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 获取上一首播放的音乐ID - * + * * @param userId 用户ID * @param playMode 播放模式:1-顺序播放,2-随机播放 * @param playlistType 播放列表类型:1-历史播放,2-分类播放,3-推荐播放,4-收藏播放,5-喜欢播放 @@ -281,7 +281,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService @Override public String getPrevMusicId(Long userId, Integer playMode, Integer playlistType, String categoryId, String collectId, String reId, String currentMusicId) { List musicList = null; - + // 根据播放列表类型获取对应的音乐列表 switch (playlistType) { case 1: // 历史播放 @@ -313,13 +313,13 @@ public class MusicInfoServiceImpl implements IMusicInfoService default: return null; } - + // 如果列表为空,返回null if (musicList == null || musicList.isEmpty()) { return null; } - + // 根据播放模式获取上一首音乐ID if (playMode == 1) { // 顺序播放 // 按照ID排序列表 @@ -328,14 +328,14 @@ public class MusicInfoServiceImpl implements IMusicInfoService Long idB = b.getMusicId(); return idA.compareTo(idB); }); - - + + // 如果没有当前音乐ID,返回列表中的最后一首 if (currentMusicId == null || currentMusicId.isEmpty()) { return musicList.get(musicList.size() - 1).getMusicId().toString(); } - + // 查找当前音乐在列表中的位置 int currentIndex = -1; for (int i = 0; i < musicList.size(); i++) { @@ -366,7 +366,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 获取下一首播放的音乐ID - * + * * @param userId 用户ID * @param playMode 播放模式:1-顺序播放,2-随机播放 * @param playlistType 播放列表类型:1-历史播放,2-分类播放,3-推荐播放,4-收藏播放,5-喜欢播放 6-列表随机 @@ -378,7 +378,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService @Override public String getNextMusicId(Long userId, Integer playMode, Integer playlistType, String categoryId, String collectId, String reId, String currentMusicId) { List musicList = null; - + // 根据播放列表类型获取对应的音乐列表 switch (playlistType) { case 1: // 历史播放 @@ -410,15 +410,15 @@ public class MusicInfoServiceImpl implements IMusicInfoService default: return null; } - + // 如果列表为空,返回null if (musicList == null || musicList.isEmpty()) { return null; } - + // 打印调试信息:列表大小和当前音乐ID System.out.println("播放列表大小: " + musicList.size() + ", 当前音乐ID: " + currentMusicId); - + // 根据播放模式获取下一首音乐ID if (playMode == 1) { // 顺序播放 // 按照ID排序列表 @@ -427,17 +427,17 @@ public class MusicInfoServiceImpl implements IMusicInfoService Long idB = b.getMusicId(); return idA.compareTo(idB); }); - + // 打印排序后的ID列表,用于调试 for (MusicInfo music : musicList) { System.out.println(music.getMusicId()); } - + // 如果没有当前音乐ID,返回列表中的第一首 if (currentMusicId == null || currentMusicId.isEmpty()) { return musicList.get(0).getMusicId().toString(); } - + // 查找当前音乐在列表中的位置 int currentIndex = -1; for (int i = 0; i < musicList.size(); i++) { @@ -469,7 +469,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService /** * 根据用户ID查询喜欢的音乐数量 - * + * * @param userId 用户ID * @return 喜欢的音乐数量 */ @@ -477,10 +477,10 @@ public class MusicInfoServiceImpl implements IMusicInfoService public int findLikeNumsByUserId(Long userId) { return userLikeMusicMapper.selectLikeMusicCountByUserId(userId); } - + /** * 获取用户喜欢的音乐中的一张图片 - * + * * @param userId 用户ID * @return 音乐图片URL */ @@ -488,17 +488,17 @@ public class MusicInfoServiceImpl implements IMusicInfoService public String findLikeMusicImageByUserId(Long userId) { return musicInfoMapper.selectLikeMusicImageByUserId(userId); } - + /** * 根据作者名称或音乐名称模糊搜索音乐 - * + * * @param search 搜索关键词 * @return 音乐信息列表,包含是否是当前用户喜欢的标识 */ @Override public List findLikeSearch(String search) { - + // 根据作者名称或音乐名称模糊搜索音乐 List musicList = musicInfoMapper.selectMusicInfoBySearch(search); @@ -532,4 +532,13 @@ public class MusicInfoServiceImpl implements IMusicInfoService return null; } + @Override + public MusicInfo selectUserLikeMusic(String musicId, Long userId) { + MusicInfo musicInfo = musicInfoMapper.selectUserLikeMusic(musicId, userId); + if (musicInfo != null){ + musicInfo.setLike(true); + return musicInfo; + } + return new MusicInfo(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java index 5ce6b41..1b61ee4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java @@ -19,12 +19,12 @@ import java.util.stream.Collectors; /** * 推荐Service业务层处理 - * + * * @author ruoyi * @date 2025-07-15 */ @Service -public class RecommendInfoServiceImpl implements IRecommendInfoService +public class RecommendInfoServiceImpl implements IRecommendInfoService { @Autowired private RecommendInfoMapper recommendInfoMapper; @@ -35,7 +35,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 查询推荐 - * + * * @param id 推荐主键 * @return 推荐 */ @@ -47,7 +47,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 查询推荐列表 - * + * * @param recommendInfo 推荐 * @return 推荐 */ @@ -59,7 +59,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 新增推荐 - * + * * @param recommendInfo 推荐 * @return 结果 */ @@ -73,7 +73,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 修改推荐 - * + * * @param recommendInfo 推荐 * @return 结果 */ @@ -86,7 +86,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 批量删除推荐 - * + * * @param ids 需要删除的推荐主键 * @return 结果 */ @@ -99,7 +99,7 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService /** * 删除推荐信息 - * + * * @param id 推荐主键 * @return 结果 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java index 96d4311..0730a2a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java @@ -17,12 +17,12 @@ import java.util.stream.Collectors; /** * 用户收藏音乐Service业务层处理 - * + * * @author ruoyi * @date 2025-07-15 */ @Service -public class UserCollectServiceImpl implements IUserCollectService +public class UserCollectServiceImpl implements IUserCollectService { @Autowired private UserCollectMapper userCollectMapper; @@ -31,7 +31,7 @@ public class UserCollectServiceImpl implements IUserCollectService /** * 查询用户收藏音乐 - * + * * @param id 用户收藏音乐主键 * @return 用户收藏音乐 */ @@ -43,7 +43,7 @@ public class UserCollectServiceImpl implements IUserCollectService /** * 查询用户收藏音乐列表 - * + * * @param userCollect 用户收藏音乐 * @return 用户收藏音乐 */ @@ -58,7 +58,7 @@ public class UserCollectServiceImpl implements IUserCollectService if (!collectIdList.isEmpty()) { List> collectNums = userCollectMapper.selectNumUserCollectIdList(collectIdList); - + // 将查询到的歌单音乐数量设置到对应的UserCollect对象中 list.forEach(item -> { Map collectNum = collectNums.stream() @@ -73,7 +73,7 @@ public class UserCollectServiceImpl implements IUserCollectService /** * 新增用户收藏音乐 - * + * * @param userCollect 用户收藏音乐 * @return 结果 */ @@ -89,7 +89,7 @@ public class UserCollectServiceImpl implements IUserCollectService /** * 修改用户收藏音乐 - * + * * @param userCollect 用户收藏音乐 * @return 结果 */ @@ -102,19 +102,21 @@ public class UserCollectServiceImpl implements IUserCollectService /** * 批量删除用户收藏音乐 - * + * * @param ids 需要删除的用户收藏音乐主键 * @return 结果 */ @Override public int deleteUserCollectByIds(Long[] ids) { + // 删除关联 + musicCollectMapper.deleteMusicCollectByCollectIds(ids); return userCollectMapper.deleteUserCollectByIds(ids); } /** * 删除用户收藏音乐信息 - * + * * @param id 用户收藏音乐主键 * @return 结果 */ diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml index a3cea59..58f07af 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicCollectMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -16,12 +16,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + SELECT * FROM music_collect where music_id=#{musicId} and collect_id=#{collectId} - \ No newline at end of file + + + delete from music_collect where collect_id in + + #{collectId} + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml index fb16505..fd5015f 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -30,7 +30,7 @@ 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/MusicRecommendMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicRecommendMapper.xml index b801476..e49a306 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicRecommendMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicRecommendMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -16,12 +16,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - +