首页部分

This commit is contained in:
menxipeng
2025-07-17 23:08:37 +08:00
parent fd19d6acd0
commit 40f49732a6
8 changed files with 67 additions and 14 deletions

View File

@@ -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();
}

View File

@@ -65,5 +65,5 @@ public interface RecommendInfoMapper
int bindMusic(@Param("reId") String reId,@Param("musicIds") String[] musicIds);
RecommendInfo selectMusicRecommend();
List<RecommendInfo> selectMusicRecommend();
}

View File

@@ -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();
}

View File

@@ -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;
}
}

View File

@@ -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>

View File

@@ -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>