首页部分
This commit is contained in:
@@ -4,7 +4,6 @@ package com.ruoyi.web.controller.client;
|
||||
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.domain.entity.RecommendInfo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.system.service.IBannerInfoService;
|
||||
import com.ruoyi.system.service.ICategoryInfoService;
|
||||
@@ -17,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RequestMapping("/client/index")
|
||||
@RestController
|
||||
@@ -55,10 +53,18 @@ public class IndexController extends BaseController {
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@GetMapping("/re/music")
|
||||
// 获取推荐音乐
|
||||
public TableDataInfo getRecommendMusic(){
|
||||
startPage();
|
||||
List<MusicInfo> list = recommendInfoService.findRecommendMusic();
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@GetMapping("/re/bind/music")
|
||||
// 获取推荐绑定音乐
|
||||
public RecommendInfo getRecommendMusic(){
|
||||
recommendInfoService.findRecommendMusic();
|
||||
return null;
|
||||
public AjaxResult getRecommendBindMusic(){
|
||||
return AjaxResult.success(recommendInfoService.findRecommendBindMusic());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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;
|
||||
@@ -13,6 +14,7 @@ import java.util.List;
|
||||
* @author ruoyi
|
||||
* @date 2025-07-15
|
||||
*/
|
||||
@Data
|
||||
public class RecommendInfo extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -64,4 +64,8 @@ public interface MusicInfoMapper
|
||||
MusicInfo selectByCate(CategoryInfo categoryInfo);
|
||||
|
||||
List<MusicInfo> selectMusicInfoByCid(String categoryId);
|
||||
|
||||
List<MusicInfo> selectMusicInfoByIds(List<Long> musicIdList);
|
||||
|
||||
List<MusicInfo> selectRecommendMusic();
|
||||
}
|
||||
|
||||
@@ -65,5 +65,5 @@ public interface RecommendInfoMapper
|
||||
int bindMusic(@Param("reId") String reId,@Param("musicIds") String[] musicIds);
|
||||
|
||||
|
||||
RecommendInfo selectMusicRecommend();
|
||||
List<RecommendInfo> selectMusicRecommend();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.system.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
||||
import com.ruoyi.common.core.domain.entity.RecommendInfo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -62,5 +63,7 @@ public interface IRecommendInfoService
|
||||
|
||||
int bindMusic(String reId, String[] musicIds);
|
||||
|
||||
RecommendInfo findRecommendMusic();
|
||||
List<MusicInfo> findRecommendMusic();
|
||||
|
||||
List<RecommendInfo> findRecommendBindMusic();
|
||||
}
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
||||
import com.ruoyi.common.core.domain.entity.MusicRecommend;
|
||||
import com.ruoyi.common.core.domain.entity.RecommendInfo;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.system.mapper.MusicInfoMapper;
|
||||
import com.ruoyi.system.mapper.MusicRecommendMapper;
|
||||
import com.ruoyi.system.mapper.RecommendInfoMapper;
|
||||
import com.ruoyi.system.service.IRecommendInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 推荐Service业务层处理
|
||||
@@ -21,6 +28,10 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService
|
||||
{
|
||||
@Autowired
|
||||
private RecommendInfoMapper recommendInfoMapper;
|
||||
@Autowired
|
||||
private MusicRecommendMapper musicRecommendMapper;
|
||||
@Autowired
|
||||
private MusicInfoMapper musicInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询推荐
|
||||
@@ -103,9 +114,25 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecommendInfo findRecommendMusic() {
|
||||
RecommendInfo recommendInfo = recommendInfoMapper.selectMusicRecommend();
|
||||
|
||||
return null;
|
||||
public List<MusicInfo> findRecommendMusic() {
|
||||
return musicInfoMapper.selectRecommendMusic();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RecommendInfo> findRecommendBindMusic() {
|
||||
List<MusicRecommend> musicRecommends = musicRecommendMapper.selectMusicRecommendList(new MusicRecommend());
|
||||
|
||||
Map<Long, List<MusicRecommend>> reMusicMap = musicRecommends.stream().collect(Collectors.groupingBy(MusicRecommend::getRecommendId));
|
||||
|
||||
List<RecommendInfo> result = new ArrayList<>();
|
||||
|
||||
reMusicMap.forEach((reId,rmcs) -> {
|
||||
RecommendInfo recommendInfo = recommendInfoMapper.selectRecommendInfoById(reId);
|
||||
List<Long> musicIdList = rmcs.stream().map(MusicRecommend::getMusicId).collect(Collectors.toList());
|
||||
List<MusicInfo> musicInfos = musicInfoMapper.selectMusicInfoByIds(musicIdList);
|
||||
recommendInfo.setMusics(musicInfos);
|
||||
result.add(recommendInfo);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,4 +124,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="selectMusicInfoByCid" resultMap="MusicInfoResult">
|
||||
SELECT m.* FROM music_category mc left JOIN music_info m on mc.music_id = m.music_id WHERE mc.category_id = #{categoryId} and m.shelf=1 and m.is_del=0
|
||||
</select>
|
||||
|
||||
<select id="selectMusicInfoByIds" resultMap="MusicInfoResult">
|
||||
SELECT * from music_info where music_info.music_id in
|
||||
<foreach item="id" collection="collection" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectRecommendMusic" resultMap="MusicInfoResult">
|
||||
SELECT mi.* FROM music_recommend mr LEFT JOIN music_info mi on mr.music_id = mi.music_id and mi.is_del=0
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -16,7 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRecommendInfoVo">
|
||||
select id, name, creator, modify, create_time, update_time, is_del, desc from recommend_info
|
||||
select id, name, creator, modify, create_time, update_time, is_del, `desc` from recommend_info
|
||||
</sql>
|
||||
|
||||
<select id="selectRecommendInfoList" parameterType="RecommendInfo" resultMap="RecommendInfoResult">
|
||||
@@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="creator != null and creator != ''"> and creator = #{creator}</if>
|
||||
<if test="modify != null and modify != ''"> and modify = #{modify}</if>
|
||||
<if test="isDel != null "> and is_del = #{isDel}</if>
|
||||
<if test="desc != null and desc != ''"> and desc = #{desc}</if>
|
||||
<if test="desc != null and desc != ''"> and `desc` = #{desc}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -87,7 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<insert id="bindMusic">
|
||||
insert into music_recommend(recommend_id,music_id) values
|
||||
<foreach item="id" collection="musicIds" separator=",">
|
||||
(#{id},#{reId})
|
||||
(#{reId},#{id})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user