|
@@ -255,24 +255,34 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<MusicSheetVo> queryRelatedList(IPage<MusicSheetVo> page, Long albumId, Long musicSheetId) {
|
|
|
+ public IPage<MusicSheetVo> queryRelatedList(IPage<MusicSheetVo> page, MusicSheetRelatedQueryInfo queryInfo) {
|
|
|
|
|
|
- if (albumId == null) {
|
|
|
+ if (queryInfo.getAlbumId() == null) {
|
|
|
// 查询专辑下的所有曲目
|
|
|
|
|
|
- MusicSheet musicSheet = baseMapper.selectById(musicSheetId);
|
|
|
+ MusicSheet musicSheet = baseMapper.selectById(queryInfo.getMusicSheetId());
|
|
|
|
|
|
if (musicSheet != null) {
|
|
|
MusicAlbumDetailSearch query = new MusicAlbumDetailSearch();
|
|
|
query.setMusicTagIds(musicSheet.getMusicTag());
|
|
|
query.setAuditVersion(musicSheet.getAuditVersion());
|
|
|
+ query.setMusicSheetType(musicSheet.getMusicSheetType());
|
|
|
+ if (queryInfo.getSubjectId() !=null) {
|
|
|
+ query.setSubjectIdList(Lists.newArrayList(queryInfo.getSubjectId()));
|
|
|
+ }
|
|
|
+ query.setExcludeMusicIds(Lists.newArrayList(queryInfo.getMusicSheetId()));
|
|
|
+ if (StringUtils.isNotBlank(musicSheet.getMusicSubject())) {
|
|
|
+ List<Long> subjectIds = Arrays.stream(musicSheet.getMusicSubject().split(",")).filter(StringUtils::isNotBlank).map(Long::parseLong).collect(Collectors.toList());
|
|
|
+ query.setMustMatchSubjectIds(subjectIds);
|
|
|
+ }
|
|
|
return page.setRecords(baseMapper.selectPage(page, query));
|
|
|
}
|
|
|
} else {
|
|
|
// 查询带有当前曲目标签的所有曲目
|
|
|
MusicAlbumDetailSearch query = new MusicAlbumDetailSearch();
|
|
|
- query.setId(albumId);
|
|
|
+ query.setId(queryInfo.getAlbumId());
|
|
|
query.setType(2);
|
|
|
+ query.setExcludeMusicIds(Lists.newArrayList(queryInfo.getMusicSheetId()));
|
|
|
return page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
|
|
|
}
|
|
|
return null;
|
|
@@ -724,6 +734,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
detail.setOrderNo(musicSheetPurchaseRecord.getOrderNo());
|
|
|
if (OrderStatusEnum.PAID.getCode().equals(musicSheetPurchaseRecord.getOrderStatus().getCode())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ detail.setBuyed(true);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -777,6 +788,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
.count();
|
|
|
if (count > 0) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ detail.setBuyed(true);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -790,7 +802,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByIds(tenantAlbumIds);
|
|
|
if (musicSheetIds.contains(detail.getId())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
- return;
|
|
|
+ detail.setBuyed(true);
|
|
|
}
|
|
|
}
|
|
|
} else if (ClientEnum.TEACHER == userType) {
|
|
@@ -800,7 +812,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByTenantIds(teacher.getTenantId());
|
|
|
if (musicSheetIds.contains(detail.getId())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
- return;
|
|
|
+ detail.setBuyed(true);
|
|
|
}
|
|
|
}
|
|
|
}
|