From 40f49732a6cd3075268ce4eec02f430d43647232 Mon Sep 17 00:00:00 2001 From: menxipeng Date: Thu, 17 Jul 2025 23:08:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/client/IndexController.java | 16 ++++++--- .../core/domain/entity/RecommendInfo.java | 2 ++ .../ruoyi/system/mapper/MusicInfoMapper.java | 4 +++ .../system/mapper/RecommendInfoMapper.java | 2 +- .../system/service/IRecommendInfoService.java | 5 ++- .../impl/RecommendInfoServiceImpl.java | 35 ++++++++++++++++--- .../mapper/system/MusicInfoMapper.xml | 11 ++++++ .../mapper/system/RecommendInfoMapper.xml | 6 ++-- 8 files changed, 67 insertions(+), 14 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java index 5893878..7f28c5d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/IndexController.java @@ -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 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()); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java index 839742e..0ca8b54 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/RecommendInfo.java @@ -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; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java index ad71ee1..bf4877d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/MusicInfoMapper.java @@ -64,4 +64,8 @@ public interface MusicInfoMapper MusicInfo selectByCate(CategoryInfo categoryInfo); List selectMusicInfoByCid(String categoryId); + + List selectMusicInfoByIds(List musicIdList); + + List selectRecommendMusic(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java index ab91b7c..5f41f29 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecommendInfoMapper.java @@ -65,5 +65,5 @@ public interface RecommendInfoMapper int bindMusic(@Param("reId") String reId,@Param("musicIds") String[] musicIds); - RecommendInfo selectMusicRecommend(); + List selectMusicRecommend(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecommendInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecommendInfoService.java index dd512e8..f6859d3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecommendInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecommendInfoService.java @@ -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 findRecommendMusic(); + + List findRecommendBindMusic(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java index 7cc0809..b2c52f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecommendInfoServiceImpl.java @@ -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 findRecommendMusic() { + return musicInfoMapper.selectRecommendMusic(); + } + + @Override + public List findRecommendBindMusic() { + List musicRecommends = musicRecommendMapper.selectMusicRecommendList(new MusicRecommend()); + + Map> reMusicMap = musicRecommends.stream().collect(Collectors.groupingBy(MusicRecommend::getRecommendId)); + + List result = new ArrayList<>(); + + reMusicMap.forEach((reId,rmcs) -> { + RecommendInfo recommendInfo = recommendInfoMapper.selectRecommendInfoById(reId); + List musicIdList = rmcs.stream().map(MusicRecommend::getMusicId).collect(Collectors.toList()); + List musicInfos = musicInfoMapper.selectMusicInfoByIds(musicIdList); + recommendInfo.setMusics(musicInfos); + result.add(recommendInfo); + }); + return result; } } diff --git a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml index 69f6ebd..d8deb42 100644 --- a/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/MusicInfoMapper.xml @@ -124,4 +124,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml index 35a72c1..2a5d37d 100644 --- a/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/RecommendInfoMapper.xml @@ -16,7 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - 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 @@ -87,7 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into music_recommend(recommend_id,music_id) values - (#{id},#{reId}) + (#{reId},#{id})