Jelajahi Sumber

酷乐秀曲目来源改为内容平台

zouxuan 1 tahun lalu
induk
melakukan
79f3d58d3b

+ 83 - 97
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -416,97 +416,92 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     public void initMusicSheetDetailVo(MusicSheetDetailVo detailVo,MusicSheet musicSheet) {
-        R<CbsMusicSheetWrapper.MusicSheet> musicSheetR = cbsMusicScoreService.musicSheetDetail(musicSheet.getCbsMusicSheetId());
-        if(musicSheetR.getCode() != 200){
+        CbsMusicSheetWrapper.MusicSheetApplicationQuery query = new CbsMusicSheetWrapper.MusicSheetApplicationQuery();
+        query.setPage(1);
+        query.setRows(1);
+        query.setMusicSheetIds(Collections.singletonList(musicSheet.getCbsMusicSheetId()));
+        query.setDetailFlag(true);
+        R<PageInfo<CbsMusicSheetWrapper.MusicSheetApplication>> pageInfoR = cbsMusicScoreService.selectPage(query);
+        if(pageInfoR.getCode() != 200){
             throw new BizException("获取曲目信息失败");
         }
-        CbsMusicSheetWrapper.MusicSheet musicSheet1 = musicSheetR.getData();
-        if (musicSheet1 == null) {
-            throw new BizException("未找到曲目信息");
-        }
-        CbsMusicSheetWrapper.MusicSheetExtend musicSheetExtend = musicSheet1.getMusicSheetExtend();
-        if (musicSheetExtend != null && musicSheetExtend.getUserId() != null) {
-            detailVo.setUserName(musicSheetExtend.getUserName());
-            detailVo.setUserId(musicSheetExtend.getUserId());
-            //获取用户头像
-            SysUser sysUser = sysUserFeignService.queryUserById(musicSheetExtend.getUserId());
-            if (sysUser != null) {
-                detailVo.setUserAvatar(sysUser.getAvatar());
-            }
-        }
-
-        detailVo.setSubjectNames(musicSheet1.getSubjectNames());
-        detailVo.setCode(musicSheet1.getSubjectCodes());
-//        if(StringUtils.isNotEmpty(musicSheet1.getSubjectIds())){
-//            CbsSubjectApiWrapper.SubjectQuery subjectQuery = new CbsSubjectApiWrapper.SubjectQuery();
-//            subjectQuery.setCbsSubjectIds(Arrays.stream(musicSheet1.getSubjectIds().split(",")).map(Long::parseLong).collect(Collectors.toList()));
-//            List<CbsSubjectApiWrapper.Subject> subjects = subjectService.getDao().queryCbsList(subjectQuery);
-//            if(CollectionUtils.isNotEmpty(subjects)){
-//                detailVo.setSubjectNames(subjects.stream().map(CbsSubjectApiWrapper.Subject::getSubjectName).collect(Collectors.joining(",")));
-//                detailVo.setCode(subjects.stream().map(CbsSubjectApiWrapper.Subject::getCode).collect(Collectors.joining(",")));
-//            }
-//        }
-        detailVo.setId(musicSheet.getId());
-        detailVo.setCbsMusicSheetId(musicSheet1.getId());
-        detailVo.setMp3Type(AudioTypeEnum.valueOf(musicSheet1.getIsPlayBeat()&&musicSheet1.getIsUseSystemBeat()?"MP3":"MP3_METRONOME"));
-        detailVo.setIsPlayBeat(musicSheet1.getIsPlayBeat());
-        detailVo.setAudioType(AudioTypeEnum.valueOf(musicSheet1.getPlayMode().getCode()));
-        detailVo.setCanEvaluate(musicSheet1.getIsEvaluated() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
-        detailVo.setShowFingering(musicSheet1.getIsShowFingering() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
-        detailVo.setMusicTag(musicSheet1.getMusicTag());
-        detailVo.setMusicTagNames(musicSheet1.getMusicTagNames());
-        detailVo.setMusicImg(musicSheet1.getMusicImg());
-        detailVo.setTitleImg(musicSheet1.getMusicCover());
-        detailVo.setPlaySpeed(musicSheet1.getPlaySpeed());
-        List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheet1.getMusicSheetAccompanimentList();
-        if (CollectionUtils.isNotEmpty(accompanimentList)) {
-            detailVo.setMetronomeUrl(accompanimentList.get(0).getAudioFileUrl());
-        }
-        detailVo.setXmlFileUrl(musicSheet1.getXmlFileUrl());
-        detailVo.setMidiUrl(musicSheet1.getMidiFileUrl());
-        detailVo.setAuditVersion(musicSheet1.getAppAuditFlag() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
-        detailVo.setHasBeat((musicSheet1.getIsPlayBeat() && !musicSheet1.getIsUseSystemBeat()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
-        detailVo.setExtConfigJson(musicSheet1.getExtConfigJson());
-        detailVo.setMusicJSON(musicSheet1.getMusicJson());
-        detailVo.setMusicJianSvg(musicSheet1.getMusicJianSvg());
-        detailVo.setMusicFirstSvg(musicSheet1.getMusicFirstSvg());
-        detailVo.setFirstTone(musicSheet1.getMusicFirstImg());
-        detailVo.setFixedTone(musicSheet1.getMusicJianImg());
-        List<CbsMusicSheetWrapper.MusicSheetSound> soundList = musicSheet1.getMusicSheetSoundList();
-        if (CollectionUtils.isNotEmpty(soundList)) {
-            List<MusicSheetAccompaniment> background = new ArrayList<>();
-            for (CbsMusicSheetWrapper.MusicSheetSound sound : soundList) {
-                MusicSheetAccompaniment accompaniment = new MusicSheetAccompaniment();
-                accompaniment.setMusicSheetId(musicSheet.getId());
-                accompaniment.setAudioFileUrl(sound.getAudioFileUrl());
-                accompaniment.setSortNumber(sound.getSortNumber());
-                accompaniment.setTrack(sound.getTrack());
-                accompaniment.setMusicalInstrumentId(sound.getMusicalInstrumentId());
-                background.add(accompaniment);
-            }
-            //按照sortNumber排序
+        PageInfo<CbsMusicSheetWrapper.MusicSheetApplication> pageInfo = pageInfoR.getData();
+        if(pageInfo != null && CollectionUtils.isNotEmpty(pageInfo.getRows())){
+            CbsMusicSheetWrapper.MusicSheetApplication musicSheet1 = pageInfo.getRows().get(0);
+            CbsMusicSheetWrapper.MusicSheetExtend musicSheetExtend = musicSheet1.getMusicSheetExtend();
+            if (musicSheetExtend != null && musicSheetExtend.getUserId() != null) {
+                detailVo.setUserName(musicSheetExtend.getUserName());
+                detailVo.setUserId(musicSheetExtend.getUserId());
+                //获取用户头像
+                SysUser sysUser = sysUserFeignService.queryUserById(musicSheetExtend.getUserId());
+                if (sysUser != null) {
+                    detailVo.setUserAvatar(sysUser.getAvatar());
+                }
+            }
+            detailVo.setMusicPrice(musicSheet1.getMusicPrice());
+            detailVo.setSubjectNames(musicSheet1.getSubjectNames());
+            detailVo.setCode(musicSheet1.getSubjectCodes());
+            detailVo.setId(musicSheet.getId());
+            detailVo.setCbsMusicSheetId(musicSheet1.getId());
+            detailVo.setMp3Type(AudioTypeEnum.valueOf(musicSheet1.getIsPlayBeat()&&musicSheet1.getIsUseSystemBeat()?"MP3":"MP3_METRONOME"));
+            detailVo.setIsPlayBeat(musicSheet1.getIsPlayBeat());
+            detailVo.setAudioType(AudioTypeEnum.valueOf(musicSheet1.getPlayMode().getCode()));
+            detailVo.setCanEvaluate(musicSheet1.getIsEvaluated() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            detailVo.setShowFingering(musicSheet1.getIsShowFingering() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            detailVo.setMusicTagNames(musicSheet1.getMusicTagNames());
+            detailVo.setMusicImg(musicSheet1.getMusicImg());
+            detailVo.setTitleImg(musicSheet1.getMusicCover());
+            detailVo.setPlaySpeed(musicSheet1.getPlaySpeed());
+            List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheet1.getMusicSheetAccompanimentList();
+            if (CollectionUtils.isNotEmpty(accompanimentList)) {
+                detailVo.setMetronomeUrl(accompanimentList.get(0).getAudioFileUrl());
+            }
+            detailVo.setXmlFileUrl(musicSheet1.getXmlFileUrl());
+            detailVo.setMidiUrl(musicSheet1.getMidiFileUrl());
+            detailVo.setAuditVersion(musicSheet1.getAppAuditFlag() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            detailVo.setHasBeat((musicSheet1.getIsPlayBeat() && !musicSheet1.getIsUseSystemBeat()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+            detailVo.setExtConfigJson(musicSheet1.getExtConfigJson());
+            detailVo.setMusicJSON(musicSheet1.getMusicJson());
+            detailVo.setMusicJianSvg(musicSheet1.getMusicJianSvg());
+            detailVo.setMusicFirstSvg(musicSheet1.getMusicFirstSvg());
+            detailVo.setFirstTone(musicSheet1.getMusicFirstImg());
+            detailVo.setFixedTone(musicSheet1.getMusicJianImg());
+            List<CbsMusicSheetWrapper.MusicSheetSound> soundList = musicSheet1.getMusicSheetSoundList();
+            if (CollectionUtils.isNotEmpty(soundList)) {
+                List<MusicSheetAccompaniment> background = new ArrayList<>();
+                for (CbsMusicSheetWrapper.MusicSheetSound sound : soundList) {
+                    MusicSheetAccompaniment accompaniment = new MusicSheetAccompaniment();
+                    accompaniment.setMusicSheetId(musicSheet.getId());
+                    accompaniment.setAudioFileUrl(sound.getAudioFileUrl());
+                    accompaniment.setSortNumber(sound.getSortNumber());
+                    accompaniment.setTrack(sound.getTrack());
+                    accompaniment.setMusicalInstrumentId(sound.getMusicalInstrumentId());
+                    background.add(accompaniment);
+                }
+                //按照sortNumber排序
 //            background.sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
-            detailVo.setBackground(background);
-            //获取乐器名称
-            String instrumentIds = background.stream().map(e -> e.getMusicalInstrumentId()).filter(StringUtils::isNotEmpty).collect(Collectors.joining(","));
-            if (StringUtils.isNotEmpty(instrumentIds)) {
-                List<Long> instrumentIsList = Arrays.stream(instrumentIds.split(",")).map(Long::valueOf).distinct().collect(Collectors.toList());
-                List<InstrumentWrapper.Instrument> instruments = instrumentService.getInstruments(instrumentIsList);
-                Map<Long,InstrumentWrapper.Instrument> instrumentMap =
-                        instruments.stream().collect(Collectors.toMap(InstrumentWrapper.Instrument::getId, o -> o, (o1, o2) -> o1));
-                for (MusicSheetAccompaniment accompaniment : background) {
-                    if (StringUtils.isNotEmpty(accompaniment.getMusicalInstrumentId())){
-                        StringBuffer sb = new StringBuffer();
-                        for (String s : accompaniment.getMusicalInstrumentId().split(",")) {
-                            InstrumentWrapper.Instrument instrument = instrumentMap.get(Long.parseLong(s));
-                            if (instrument != null){
-                                if(sb.length() > 0) {
-                                    sb.append(",");
+                detailVo.setBackground(background);
+                //获取乐器名称
+                String instrumentIds = background.stream().map(e -> e.getMusicalInstrumentId()).filter(StringUtils::isNotEmpty).collect(Collectors.joining(","));
+                if (StringUtils.isNotEmpty(instrumentIds)) {
+                    List<Long> instrumentIsList = Arrays.stream(instrumentIds.split(",")).map(Long::valueOf).distinct().collect(Collectors.toList());
+                    List<InstrumentWrapper.Instrument> instruments = instrumentService.getInstruments(instrumentIsList);
+                    Map<Long,InstrumentWrapper.Instrument> instrumentMap =
+                            instruments.stream().collect(Collectors.toMap(InstrumentWrapper.Instrument::getId, o -> o, (o1, o2) -> o1));
+                    for (MusicSheetAccompaniment accompaniment : background) {
+                        if (StringUtils.isNotEmpty(accompaniment.getMusicalInstrumentId())){
+                            StringBuffer sb = new StringBuffer();
+                            for (String s : accompaniment.getMusicalInstrumentId().split(",")) {
+                                InstrumentWrapper.Instrument instrument = instrumentMap.get(Long.parseLong(s));
+                                if (instrument != null){
+                                    if(sb.length() > 0) {
+                                        sb.append(",");
+                                    }
+                                    sb.append(instrument.getName());
                                 }
-                                sb.append(instrument.getName());
                             }
+                            accompaniment.setMusicalInstrumentName(sb.toString());
                         }
-                        accompaniment.setMusicalInstrumentName(sb.toString());
                     }
                 }
             }
@@ -530,6 +525,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 //            sheet.setSourceType(musicSheetApplication.getSourceType() == EMusicSourceType.PERSON ? SourceTypeEnum.TEACHER :
 //                    musicSheetApplication.getSourceType() == EMusicSourceType.ORG ? SourceTypeEnum.TENANT :SourceTypeEnum.PLATFORM);
 //        }
+        sheet.setMusicPrice(musicSheetApplication.getMusicPrice());
         sheet.setComposer(musicSheetApplication.getComposer());
         sheet.setAudioType(AudioTypeEnum.valueOf(musicSheetApplication.getPlayMode().getCode()));
         if (StringUtils.isNotEmpty(musicSheetApplication.getPlaySpeed())) {
@@ -815,6 +811,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         } else {
             record.setSubjectNames(musicSheetApplication.getSubjectNames());
         }
+        record.setMusicPrice(musicSheetApplication.getMusicPrice());
         record.setCbsMusicSheetId(musicSheetApplication.getId());
         record.setAudioType(AudioTypeEnum.valueOf(musicSheetApplication.getPlayMode().getCode()));
         record.setCanEvaluate(musicSheetApplication.getIsEvaluated() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
@@ -1572,23 +1569,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             if(musicSheetApplication == null){
                 continue;
             }
-            /*if(StringUtils.isNotEmpty(musicSheetApplication.getSubjectIds())){
-                StringBuffer sb = new StringBuffer();
-                for (String s : musicSheetApplication.getSubjectIds().split(",")) {
-                    String subjectName = subjectMap.get(Long.parseLong(s));
-                    if(StringUtils.isNotEmpty(subjectName)){
-                        if (sb.length() > 0) {
-                            sb.append(",");
-                        }
-                        sb.append(subjectName);
-                    }
-                }
-            }*/
             if(musicSheetApplication.getMusicSheetType() == EMusicSheetType.CONCERT){
                 record.setSubjectNames(null);
             }else {
                 record.setSubjectNames(musicSheetApplication.getSubjectNames());
             }
+            record.setMusicPrice(musicSheetApplication.getMusicPrice());
             record.setCbsMusicSheetId(musicSheetApplication.getId());
             record.setAudioType(AudioTypeEnum.valueOf(musicSheetApplication.getPlayMode().getCode()));
             record.setCanEvaluate(musicSheetApplication.getIsEvaluated() ? YesOrNoEnum.YES : YesOrNoEnum.NO);