修复收藏等问题
This commit is contained in:
@@ -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