|
@@ -55,6 +55,7 @@ import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
|
|
@@ -223,6 +224,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
private MusicSheetService musicSheetService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private AlbumFavoriteService albumFavoriteService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private TenantInfoService tenantInfoService;
|
|
|
|
|
|
@Autowired
|
|
@@ -1780,43 +1784,82 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
PageUtil.getPage(queryInfo);
|
|
|
|
|
|
List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
|
|
|
- MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
|
|
|
- musicSheetSearch.setMusicSheetIdlist(musicIds);
|
|
|
- IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
|
|
|
- List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
|
|
|
- if (CollectionUtils.isNotEmpty(records)) {
|
|
|
- for (MusicSheetVo record : records) {
|
|
|
- MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
|
|
|
- musicName.setId(record.getId());
|
|
|
- musicName.setName(record.getMusicSheetName());
|
|
|
- musicName.setType("MUSIC");
|
|
|
- musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
|
|
|
- musicNames.add(musicName);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(musicIds)) {
|
|
|
+
|
|
|
+
|
|
|
+ MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
|
|
|
+ musicSheetSearch.setMusicSheetIdlist(musicIds);
|
|
|
+ IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
|
|
|
+ List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+ for (MusicSheetVo record : records) {
|
|
|
+ MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
|
|
|
+ musicName.setId(record.getId());
|
|
|
+ musicName.setName(record.getMusicSheetName());
|
|
|
+ musicName.setType("MUSIC");
|
|
|
+ musicName.setHotFlag(record.getHotFlag() != null?record.getHotFlag():YesOrNoEnum.NO);
|
|
|
+ musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
|
|
|
+ musicNames.add(musicName);
|
|
|
+ }
|
|
|
+ searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (queryInfo.getUserId() != null) {
|
|
|
+ List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
|
|
|
+ .eq(MusicFavorite::getUserId, queryInfo.getUserId())
|
|
|
+ .eq(MusicFavorite::getClientType, ClientEnum.STUDENT)
|
|
|
+ .in(MusicFavorite::getMusicSheetId, musicIds)
|
|
|
+ .list();
|
|
|
+ if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
|
|
|
+ Set<Long> set = musicFavoriteList.stream()
|
|
|
+ .map(MusicFavorite::getMusicSheetId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ for (MusicCompareWrapper.MusicName record : musicNames) {
|
|
|
+ record.setFavorite(set.contains(record.getId()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
|
|
|
}
|
|
|
}
|
|
|
if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("ALBUM")) {
|
|
|
|
|
|
|
|
|
List<Long> albumIds = musicSheetDao.searchAlbum(PageUtil.getPage(queryInfo),queryInfo);
|
|
|
- MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
|
|
|
- musicSheetSearch.setAlbumIds(albumIds);
|
|
|
- IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
|
|
|
- List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
|
|
|
- if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(albumIds)) {
|
|
|
+ MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
|
|
|
+ musicSheetSearch.setAlbumIds(albumIds);
|
|
|
+ IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
|
|
|
+ List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
|
|
|
+ albumIds = albumFavoriteService.selectFavorite(queryInfo.getUserId(), albumIds, ClientEnum.STUDENT);
|
|
|
for (MusicAlbumVo record : records) {
|
|
|
- MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
|
|
|
- musicName.setId(record.getId());
|
|
|
- musicName.setName(record.getAlbumName());
|
|
|
- musicName.setType("ALBUM");
|
|
|
- musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
|
|
|
- musicNames.add(musicName);
|
|
|
+ if (albumIds.contains(record.getId())) {
|
|
|
+ record.setFavorite(YesOrNoEnum.YES);
|
|
|
+ } else {
|
|
|
+ record.setFavorite(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+ for (MusicAlbumVo record : records) {
|
|
|
+ MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
|
|
|
+ musicName.setId(record.getId());
|
|
|
+ musicName.setName(record.getAlbumName());
|
|
|
+ musicName.setType("ALBUM");
|
|
|
+ musicName.setHotFlag(record.getHotFlag() !=null?record.getHotFlag():YesOrNoEnum.NO);
|
|
|
+ musicName.setFavorite(record.getFavorite());
|
|
|
+ musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
|
|
|
+ musicNames.add(musicName);
|
|
|
+ }
|
|
|
+ searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
|
|
|
}
|
|
|
- searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
|
|
|
}
|
|
|
}
|
|
|
musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
|
|
|
+ if (musicNames.size() > queryInfo.getRows()) {
|
|
|
+ musicNames = musicNames.subList(0,queryInfo.getRows());
|
|
|
+ }
|
|
|
searchData.setMusicNames(musicNames);
|
|
|
return searchData;
|
|
|
}
|