首页部分
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.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
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.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.system.service.IBannerInfoService;
|
import com.ruoyi.system.service.IBannerInfoService;
|
||||||
import com.ruoyi.system.service.ICategoryInfoService;
|
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 org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@RequestMapping("/client/index")
|
@RequestMapping("/client/index")
|
||||||
@RestController
|
@RestController
|
||||||
@@ -55,10 +53,18 @@ public class IndexController extends BaseController {
|
|||||||
return getDataTable(list);
|
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(){
|
public AjaxResult getRecommendBindMusic(){
|
||||||
recommendInfoService.findRecommendMusic();
|
return AjaxResult.success(recommendInfoService.findRecommendBindMusic());
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
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;
|
||||||
@@ -13,6 +14,7 @@ import java.util.List;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-07-15
|
* @date 2025-07-15
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class RecommendInfo extends BaseEntity
|
public class RecommendInfo extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -64,4 +64,8 @@ public interface MusicInfoMapper
|
|||||||
MusicInfo selectByCate(CategoryInfo categoryInfo);
|
MusicInfo selectByCate(CategoryInfo categoryInfo);
|
||||||
|
|
||||||
List<MusicInfo> selectMusicInfoByCid(String categoryId);
|
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);
|
int bindMusic(@Param("reId") String reId,@Param("musicIds") String[] musicIds);
|
||||||
|
|
||||||
|
|
||||||
RecommendInfo selectMusicRecommend();
|
List<RecommendInfo> selectMusicRecommend();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.system.service;
|
package com.ruoyi.system.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.entity.MusicInfo;
|
||||||
import com.ruoyi.common.core.domain.entity.RecommendInfo;
|
import com.ruoyi.common.core.domain.entity.RecommendInfo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -62,5 +63,7 @@ public interface IRecommendInfoService
|
|||||||
|
|
||||||
int bindMusic(String reId, String[] musicIds);
|
int bindMusic(String reId, String[] musicIds);
|
||||||
|
|
||||||
RecommendInfo findRecommendMusic();
|
List<MusicInfo> findRecommendMusic();
|
||||||
|
|
||||||
|
List<RecommendInfo> findRecommendBindMusic();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
package com.ruoyi.system.service.impl;
|
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.core.domain.entity.RecommendInfo;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
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.mapper.RecommendInfoMapper;
|
||||||
import com.ruoyi.system.service.IRecommendInfoService;
|
import com.ruoyi.system.service.IRecommendInfoService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐Service业务层处理
|
* 推荐Service业务层处理
|
||||||
@@ -21,6 +28,10 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService
|
|||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private RecommendInfoMapper recommendInfoMapper;
|
private RecommendInfoMapper recommendInfoMapper;
|
||||||
|
@Autowired
|
||||||
|
private MusicRecommendMapper musicRecommendMapper;
|
||||||
|
@Autowired
|
||||||
|
private MusicInfoMapper musicInfoMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询推荐
|
* 查询推荐
|
||||||
@@ -103,9 +114,25 @@ public class RecommendInfoServiceImpl implements IRecommendInfoService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RecommendInfo findRecommendMusic() {
|
public List<MusicInfo> findRecommendMusic() {
|
||||||
RecommendInfo recommendInfo = recommendInfoMapper.selectMusicRecommend();
|
return musicInfoMapper.selectRecommendMusic();
|
||||||
|
}
|
||||||
return null;
|
|
||||||
|
@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 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 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>
|
||||||
|
|
||||||
|
<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>
|
</mapper>
|
||||||
@@ -16,7 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectRecommendInfoVo">
|
<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>
|
</sql>
|
||||||
|
|
||||||
<select id="selectRecommendInfoList" parameterType="RecommendInfo" resultMap="RecommendInfoResult">
|
<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="creator != null and creator != ''"> and creator = #{creator}</if>
|
||||||
<if test="modify != null and modify != ''"> and modify = #{modify}</if>
|
<if test="modify != null and modify != ''"> and modify = #{modify}</if>
|
||||||
<if test="isDel != null "> and is_del = #{isDel}</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>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<insert id="bindMusic">
|
<insert id="bindMusic">
|
||||||
insert into music_recommend(recommend_id,music_id) values
|
insert into music_recommend(recommend_id,music_id) values
|
||||||
<foreach item="id" collection="musicIds" separator=",">
|
<foreach item="id" collection="musicIds" separator=",">
|
||||||
(#{id},#{reId})
|
(#{reId},#{id})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user