修复收藏等问题
This commit is contained in:
@@ -75,15 +75,15 @@ public class FileController extends BaseController {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (musicInfo.getVip() != null && musicInfo.getVip() == 1) {
|
// if (musicInfo.getVip() != null && musicInfo.getVip() == 1) {
|
||||||
// 判断用户vip
|
// // 判断用户vip
|
||||||
if (!MusicUtil.getShopIsVip(shopUser)) {
|
// if (!MusicUtil.getShopIsVip(shopUser)) {
|
||||||
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
|
// response.setStatus(HttpServletResponse.SC_FORBIDDEN);
|
||||||
response.setContentType("application/json;charset=UTF-8");
|
// response.setContentType("application/json;charset=UTF-8");
|
||||||
response.getWriter().write("{\"code\":403,\"msg\":\"该音乐为VIP专享,请升级VIP后下载\"}");
|
// response.getWriter().write("{\"code\":403,\"msg\":\"该音乐为VIP专享,请升级VIP后下载\"}");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,8 +50,10 @@ public class MusicController extends BaseController {
|
|||||||
// 添加我喜欢的音乐
|
// 添加我喜欢的音乐
|
||||||
@RequestMapping("/like/music/{musicId}")
|
@RequestMapping("/like/music/{musicId}")
|
||||||
public AjaxResult addLikeMusic(@PathVariable String musicId){
|
public AjaxResult addLikeMusic(@PathVariable String musicId){
|
||||||
musicService.addLikeMusic(musicId);
|
if (musicService.addLikeMusic(musicId) > 0){
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return AjaxResult.error("添加失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取我喜欢的音乐 TODO: 喜欢播放
|
// 获取我喜欢的音乐 TODO: 喜欢播放
|
||||||
@@ -82,7 +84,7 @@ public class MusicController extends BaseController {
|
|||||||
|
|
||||||
// 删除我喜欢的音乐 cancel/like
|
// 删除我喜欢的音乐 cancel/like
|
||||||
@RequestMapping("/cancel/like/{musicId}")
|
@RequestMapping("/cancel/like/{musicId}")
|
||||||
public AjaxResult cancelLikeMusic(@PathVariable String musicId){
|
public AjaxResult cancelLikeMusic(@PathVariable String[] musicId){
|
||||||
musicService.cancelLikeMusic(musicId);
|
musicService.cancelLikeMusic(musicId);
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ public class SysLoginController
|
|||||||
public AjaxResult getRouters()
|
public AjaxResult getRouters()
|
||||||
{
|
{
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
|
List<SysMenu> menus = menuService.selectMenuTreeByUserId(1L);
|
||||||
return AjaxResult.success(menuService.buildMenus(menus));
|
return AjaxResult.success(menuService.buildMenus(menus));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
package com.ruoyi.common.core.domain.entity;
|
package com.ruoyi.common.core.domain.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【请填写功能名称】对象 music_collect
|
* 【请填写功能名称】对象 music_collect
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-07-18
|
* @date 2025-07-18
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class MusicCollect extends BaseEntity
|
public class MusicCollect extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -22,6 +26,10 @@ public class MusicCollect extends BaseEntity
|
|||||||
@Excel(name = "音乐ID")
|
@Excel(name = "音乐ID")
|
||||||
private Long musicId;
|
private Long musicId;
|
||||||
|
|
||||||
|
/** 音乐ID */
|
||||||
|
@Excel(name = "音乐ID")
|
||||||
|
private List<Long> musicIds;
|
||||||
|
|
||||||
/** 收藏id */
|
/** 收藏id */
|
||||||
@Excel(name = "收藏id")
|
@Excel(name = "收藏id")
|
||||||
private Long collectId;
|
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.CategoryInfo;
|
||||||
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
||||||
|
import com.ruoyi.common.core.domain.entity.UserLikeMusic;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -78,7 +79,7 @@ public interface MusicInfoMapper
|
|||||||
|
|
||||||
List<MusicInfo> selectLikeMusicByUser(Long userId);
|
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);
|
int insertHistory(@Param("userId") Long userId,@Param("musicId") String musicId);
|
||||||
|
|
||||||
@@ -107,4 +108,8 @@ public interface MusicInfoMapper
|
|||||||
* @return 音乐信息列表
|
* @return 音乐信息列表
|
||||||
*/
|
*/
|
||||||
List<MusicInfo> selectMusicInfoBySearch(@Param("search") String search);
|
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);
|
List<MusicInfo> findLikeMusicByUser(Long userId);
|
||||||
|
|
||||||
int cancelLikeMusic(String musicId);
|
int cancelLikeMusic(String[] musicId);
|
||||||
|
|
||||||
int addHistoryMusic(String musicId);
|
int addHistoryMusic(String musicId);
|
||||||
|
|
||||||
|
|||||||
@@ -137,6 +137,11 @@ public class MusicInfoServiceImpl implements IMusicInfoService
|
|||||||
@Override
|
@Override
|
||||||
public int addLikeMusic(String musicId) {
|
public int addLikeMusic(String musicId) {
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
//查找是否已经存在我喜欢的音乐
|
||||||
|
UserLikeMusic userLikeMusic = musicInfoMapper.selectMusicAndUserLike(userId,musicId);
|
||||||
|
if (userLikeMusic != null){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
return musicInfoMapper.insertLikeMusic(userId,musicId);
|
return musicInfoMapper.insertLikeMusic(userId,musicId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,7 +151,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int cancelLikeMusic(String musicId) {
|
public int cancelLikeMusic(String[] musicId) {
|
||||||
Long userId = SecurityUtils.getUserId();
|
Long userId = SecurityUtils.getUserId();
|
||||||
return musicInfoMapper.delLikeMusic(userId,musicId);
|
return musicInfoMapper.delLikeMusic(userId,musicId);
|
||||||
}
|
}
|
||||||
@@ -298,6 +303,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService
|
|||||||
case 5: // 喜欢播放
|
case 5: // 喜欢播放
|
||||||
musicList = musicInfoMapper.selectLikeMusicByUser(userId);
|
musicList = musicInfoMapper.selectLikeMusicByUser(userId);
|
||||||
break;
|
break;
|
||||||
|
case 6: // 喜欢播放
|
||||||
|
return musicInfoMapper.selectListRandomMusic(currentMusicId);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -357,7 +364,7 @@ public class MusicInfoServiceImpl implements IMusicInfoService
|
|||||||
*
|
*
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
* @param playMode 播放模式:1-顺序播放,2-随机播放
|
* @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 categoryId 分类ID,当playlistType=2时必填
|
||||||
* @param collectId 收藏ID,当playlistType=4时必填
|
* @param collectId 收藏ID,当playlistType=4时必填
|
||||||
* @param currentMusicId 当前播放的音乐ID,用于顺序播放时获取下一首
|
* @param currentMusicId 当前播放的音乐ID,用于顺序播放时获取下一首
|
||||||
@@ -393,6 +400,8 @@ public class MusicInfoServiceImpl implements IMusicInfoService
|
|||||||
case 5: // 喜欢播放
|
case 5: // 喜欢播放
|
||||||
musicList = musicInfoMapper.selectLikeMusicByUser(userId);
|
musicList = musicInfoMapper.selectLikeMusicByUser(userId);
|
||||||
break;
|
break;
|
||||||
|
case 6: // 喜欢播放
|
||||||
|
return musicInfoMapper.selectListRandomMusic(currentMusicId);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="delBindMusic">
|
<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>
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -156,7 +156,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<delete id="delLikeMusic">
|
<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>
|
</delete>
|
||||||
|
|
||||||
<insert id="insertHistory">
|
<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}, '%'))
|
WHERE (name LIKE concat(#{search}, '%') OR author LIKE concat(#{search}, '%'))
|
||||||
AND is_del = 0 AND shelf = 1
|
AND is_del = 0 AND shelf = 1
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
Reference in New Issue
Block a user