|
@@ -18,71 +18,37 @@ import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
|
|
-import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicTag;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.PlatformCashAccountRecord;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.StudentStar;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.Subject;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.Teacher;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.UserOrderDetail;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.AccountBizTypeEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.AudioTypeEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
|
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
|
|
|
|
-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.*;
|
|
import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
|
|
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.support.WrapperUtil;
|
|
-import com.yonge.cooleshow.biz.dal.vo.*;
|
|
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetUploadCountVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetWebsiteDetailVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.StudentTotalVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.StudentVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherAuditMusicSheetVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetListVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
|
|
import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
|
|
@@ -222,6 +188,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
@Autowired
|
|
@Autowired
|
|
private RedisCacheService redisCacheService;
|
|
private RedisCacheService redisCacheService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private TenantAlbumService tenantAlbumService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserTenantAlbumRecordService userTenantAlbumRecordService;
|
|
|
|
+
|
|
public MusicSheetDao getDao() {
|
|
public MusicSheetDao getDao() {
|
|
return musicSheetDao;
|
|
return musicSheetDao;
|
|
}
|
|
}
|
|
@@ -1810,7 +1782,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
|
|
List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
|
|
if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("MUSIC")) {
|
|
if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("MUSIC")) {
|
|
|
|
|
|
- PageUtil.getPage(queryInfo);
|
|
|
|
// 查询曲目列表
|
|
// 查询曲目列表
|
|
List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
|
|
List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
|
|
|
|
|
|
@@ -1894,6 +1865,81 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@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) {
|
|
public Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId) {
|
|
MusicSheet musicSheet = new MusicSheet();
|
|
MusicSheet musicSheet = new MusicSheet();
|
|
musicSheet.setMusicImg(musicImgDto.getMusicImg());
|
|
musicSheet.setMusicImg(musicImgDto.getMusicImg());
|