|
@@ -53,34 +53,11 @@ import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.*;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.*;
|
|
|
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;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicFavoriteService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPracticeRecordService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicTagService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.PlatformCashAccountRecordService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.RedisCacheService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.StudentService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.StudentStarService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.SubjectService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.UserAccountService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.UserOrderService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.*;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
|
|
@@ -222,6 +199,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
@Autowired
|
|
|
private RedisCacheService redisCacheService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TenantAlbumService tenantAlbumService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserTenantAlbumRecordService userTenantAlbumRecordService;
|
|
|
+
|
|
|
public MusicSheetDao getDao() {
|
|
|
return musicSheetDao;
|
|
|
}
|
|
@@ -1810,7 +1793,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
|
|
|
if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("MUSIC")) {
|
|
|
|
|
|
- PageUtil.getPage(queryInfo);
|
|
|
// 查询曲目列表
|
|
|
List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
|
|
|
|
|
@@ -1894,6 +1876,81 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public MusicCompareWrapper.SearchData searchTenant(MusicCompareWrapper.MusicSearch queryInfo) {
|
|
|
+ MusicCompareWrapper.SearchData searchData = new MusicCompareWrapper.SearchData();
|
|
|
+ List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
|
|
|
+ searchData.setMusicNames(musicNames);
|
|
|
+
|
|
|
+ // 查询学生机构
|
|
|
+ Student student = studentService.getById(queryInfo.getUserId());
|
|
|
+ if (student == null) {
|
|
|
+ throw new BizException("学生不存在");
|
|
|
+ }
|
|
|
+ if (student.getTenantId() == null || student.getTenantId() == -1) {
|
|
|
+ throw new BizException("学生未绑定机构");
|
|
|
+ }
|
|
|
+ // 查询机构下的专辑
|
|
|
+ List<TenantAlbum> albumList = tenantAlbumService.getByTenantId(student.getTenantId(), true);
|
|
|
+ List<Long> albumIds = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(albumList)) {
|
|
|
+ albumIds = albumList.stream().map(TenantAlbum::getId).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<UserTenantAlbumRecord> recordList = userTenantAlbumRecordService
|
|
|
+ .getNewestByTenantIdAndUserId(student.getTenantId(), queryInfo.getUserId(), ClientEnum.STUDENT, albumIds);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(recordList)) {
|
|
|
+ albumIds = recordList.stream().map(UserTenantAlbumRecord::getTenantAlbumId).distinct().collect(Collectors.toList());
|
|
|
+ queryInfo.setTenantAlbumIds(albumIds);
|
|
|
+ } else {
|
|
|
+ return searchData;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询曲目列表
|
|
|
+ List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
|
|
|
+ return searchData;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId) {
|
|
|
MusicSheet musicSheet = new MusicSheet();
|
|
|
musicSheet.setMusicImg(musicImgDto.getMusicImg());
|