修复收藏等问题
This commit is contained in:
@@ -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;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -50,9 +50,11 @@ public class MusicController extends BaseController {
|
||||
// 添加我喜欢的音乐
|
||||
@RequestMapping("/like/music/{musicId}")
|
||||
public AjaxResult addLikeMusic(@PathVariable String musicId){
|
||||
musicService.addLikeMusic(musicId);
|
||||
if (musicService.addLikeMusic(musicId) > 0){
|
||||
return AjaxResult.success();
|
||||
}
|
||||
return AjaxResult.error("添加失败");
|
||||
}
|
||||
|
||||
// 获取我喜欢的音乐 TODO: 喜欢播放
|
||||
@RequestMapping("/like/music")
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ public class SysLoginController
|
||||
public AjaxResult getRouters()
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
|
||||
List<SysMenu> menus = menuService.selectMenuTreeByUserId(1L);
|
||||
return AjaxResult.success(menuService.buildMenus(menus));
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Long> musicIds;
|
||||
|
||||
/** 收藏id */
|
||||
@Excel(name = "收藏id")
|
||||
private Long collectId;
|
||||
|
||||
@@ -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<MusicInfo> 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<MusicInfo> selectMusicInfoBySearch(@Param("search") String search);
|
||||
|
||||
String selectListRandomMusic(String currentMusicId);
|
||||
|
||||
UserLikeMusic selectMusicAndUserLike(@Param("userId") Long userId,@Param("musicId") String musicId);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public interface IMusicInfoService
|
||||
|
||||
List<MusicInfo> findLikeMusicByUser(Long userId);
|
||||
|
||||
int cancelLikeMusic(String musicId);
|
||||
int cancelLikeMusic(String[] musicId);
|
||||
|
||||
int addHistoryMusic(String musicId);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -60,6 +60,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</delete>
|
||||
|
||||
<delete id="delBindMusic">
|
||||
delete from music_collect where music_id= #{musicId} and collect_id=#{collectId}
|
||||
delete from music_collect where collect_id=#{collectId} and music_id in
|
||||
<foreach collection="musicIds" item="musicId" open="(" close=")" separator=",">
|
||||
#{musicId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -156,7 +156,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</select>
|
||||
|
||||
<delete id="delLikeMusic">
|
||||
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
|
||||
<foreach collection="musicId" item="id" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="insertHistory">
|
||||
@@ -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
|
||||
</select>
|
||||
|
||||
<select id="selectListRandomMusic" resultType="java.lang.String">
|
||||
SELECT music_info.music_id from music_info where music_id != #{currentMusicId} ORDER BY RAND() LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectMusicAndUserLike" resultType="com.ruoyi.common.core.domain.entity.UserLikeMusic">
|
||||
SELECT user_id as userId , music_id as musicId FROm user_like_music where user_id=#{userId} and music_id=#{musicId} limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user