|
@@ -363,7 +363,31 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
|
|
|
@Override
|
|
|
public IPage<MusicSheetVo> selectAlbumDetailPage(IPage<MusicSheetVo> page, MusicAlbumDetailSearch query) {
|
|
|
- return page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
|
|
|
+
|
|
|
+ List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
|
|
|
+ if (CollectionUtils.isEmpty(records)) {
|
|
|
+ return musicSheetVoIPage;
|
|
|
+ }
|
|
|
+ // 是否关注
|
|
|
+ if (query.getStudentId() != null) {
|
|
|
+ List<Long> musicIdList = records.stream().map(MusicSheetVo::getId).collect(Collectors.toList());
|
|
|
+ List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
|
|
|
+ .eq(MusicFavorite::getUserId, query.getStudentId())
|
|
|
+ .eq(MusicFavorite::getClientType, query.getClientType())
|
|
|
+ .in(MusicFavorite::getMusicSheetId, musicIdList)
|
|
|
+ .list();
|
|
|
+ if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
|
|
|
+ Set<Long> set = musicFavoriteList.stream()
|
|
|
+ .map(MusicFavorite::getMusicSheetId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ for (MusicSheetVo record : records) {
|
|
|
+ record.setFavorite(set.contains(record.getId())?YesOrNoEnum.YES:YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return musicSheetVoIPage;
|
|
|
}
|
|
|
|
|
|
@Override
|