From a9a3995afada2f34b9196f0efbf70ec280923f7e Mon Sep 17 00:00:00 2001 From: menxipeng Date: Tue, 19 Aug 2025 13:41:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=A2=9E=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/UserHistoryController.java | 12 +++++++++ .../core/domain/entity/UserCollect.java | 5 ++++ .../system/mapper/UserCollectMapper.java | 11 ++++++++ .../service/impl/MusicCollectServiceImpl.java | 14 ++++++++++ .../service/impl/UserCollectServiceImpl.java | 22 +++++++++++++++- .../mapper/system/UserCollectMapper.xml | 26 ++++++++++++++++++- 6 files changed, 88 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java index ea645fa..6998a01 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/client/UserHistoryController.java @@ -105,4 +105,16 @@ public class UserHistoryController extends BaseController { return toAjax(userHistoryService.deleteUserHistoryByIds(ids)); } + + + /** + * 查询历史数量 + */ + public AjaxResult historyNum(){ + Long userId = SecurityUtils.getUserId(); + // 查询历史数量 + //userHistoryService.findNumsByUserId(); + return null; + } + } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java index 3d1a5d2..39f5019 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/UserCollect.java @@ -36,5 +36,10 @@ public class UserCollect extends BaseEntity @Excel(name = "歌单类型 音乐类型 ordinary 混音mixing") private String collectType; + // 歌单图片 + private String img; + + private Long musicNum; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java index f17708d..c770ae0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserCollectMapper.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.UserCollect; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * 用户收藏音乐Mapper接口 @@ -62,4 +63,14 @@ public interface UserCollectMapper public int deleteUserCollectByIds(Long[] ids); UserCollect selectUserCollectAndUserId(@Param("userId") Long userId,@Param("musicId") String musicId); + + + /** + * 根据collectIds 查询出歌单数量 + * @param collectIdList + * @return + */ + List> selectNumUserCollectIdList(List collectIdList); + + int updateImgByCollectId(UserCollect userCollect); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicCollectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicCollectServiceImpl.java index 85feb80..aac117d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicCollectServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MusicCollectServiceImpl.java @@ -1,7 +1,11 @@ package com.ruoyi.system.service.impl; import com.ruoyi.common.core.domain.entity.MusicCollect; +import com.ruoyi.common.core.domain.entity.MusicInfo; +import com.ruoyi.common.core.domain.entity.UserCollect; import com.ruoyi.system.mapper.MusicCollectMapper; +import com.ruoyi.system.mapper.MusicInfoMapper; +import com.ruoyi.system.mapper.UserCollectMapper; import com.ruoyi.system.service.IMusicCollectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +23,10 @@ public class MusicCollectServiceImpl implements IMusicCollectService { @Autowired private MusicCollectMapper musicCollectMapper; + @Autowired + private UserCollectMapper userCollectMapper; + @Autowired + private MusicInfoMapper musicInfoMapper; /** * 查询【请填写功能名称】 @@ -53,6 +61,12 @@ public class MusicCollectServiceImpl implements IMusicCollectService @Override public int insertMusicCollect(MusicCollect musicCollect) { + // 查询出音乐图片 + MusicInfo musicInfo = musicInfoMapper.selectByMusicId(musicCollect.getMusicId().toString()); + UserCollect userCollect = new UserCollect(); + userCollect.setImg(musicInfo.getImgAddr()); + userCollect.setCollectId(musicCollect.getCollectId()); + userCollectMapper.updateImgByCollectId(userCollect); return musicCollectMapper.insertMusicCollect(musicCollect); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java index 30012ec..7b9ca0e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserCollectServiceImpl.java @@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 用户收藏音乐Service业务层处理 @@ -48,7 +50,25 @@ public class UserCollectServiceImpl implements IUserCollectService @Override public List selectUserCollectList(UserCollect userCollect) { - return userCollectMapper.selectUserCollectList(userCollect); + List list = userCollectMapper.selectUserCollectList(userCollect); + //list 获取歌单音乐数量 和 获取歌单某张图片 + Long collectId = userCollect.getCollectId(); + + List collectIdList = list.stream().map(UserCollect::getCollectId).collect(Collectors.toList()); + + if (!collectIdList.isEmpty()) { + List> collectNums = userCollectMapper.selectNumUserCollectIdList(collectIdList); + + // 将查询到的歌单音乐数量设置到对应的UserCollect对象中 + list.forEach(item -> { + Map collectNum = collectNums.stream() + .filter(map -> (item.getCollectId()).equals(map.get("collectId"))) + .findFirst() + .orElse(null); + item.setMusicNum(collectNum != null ? (Long) collectNum.get("num") : 0L); + }); + } + return list; } /** diff --git a/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml index f08d001..2b6024b 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserCollectMapper.xml @@ -12,10 +12,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, user_id, collect_id, collect_name, create_time, update_time, collect_type from user_collect + select id, user_id, collect_id, collect_name, create_time, update_time, collect_type,img from user_collect SELECT uc.* FROM music_collect mc LEFT JOIN user_collect uc on uc.collect_id=mc.collect_id WHERE mc.music_id=#{musicId} and uc.user_id=#{userId} + + + + + update user_collect set img=#{img} where collectId = #{collectId} + \ No newline at end of file