|  | @@ -5,9 +5,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.openfeign.client.MusicFeignClientService;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendWrapper;
 | 
	
		
			
				|  |  |  import com.beust.jcommander.internal.Lists;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.openfeign.wrapper.music.CbsSubjectApiWrapper;
 | 
	
		
			
				|  |  | +import com.microsvc.toolkit.common.response.paging.PageInfo;
 | 
	
		
			
				|  |  | +import com.microsvc.toolkit.common.response.template.R;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dao.MusicAlbumDao;
 | 
	
	
		
			
				|  | @@ -63,6 +69,7 @@ import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMusicMapper;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.mapper.TenantGroupAlbumMapper;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.*;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.service.cbs.CbsMusicScoreService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.*;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 | 
	
	
		
			
				|  | @@ -89,6 +96,7 @@ import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -214,6 +222,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private TenantAlbumMusicMapper tenantAlbumMusicMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private CbsMusicScoreService cbsMusicScoreService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public MusicSheetDao getDao() {
 | 
	
		
			
				|  |  |          return musicSheetDao;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -406,20 +417,103 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |          return musicSheetShareVo;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public MusicSheetDetailVo getCbsDetail(Long id) {
 | 
	
		
			
				|  |  | +        MusicSheet musicSheet = this.baseMapper.get(id);
 | 
	
		
			
				|  |  | +        if (musicSheet == null || musicSheet.getDelFlag()) {
 | 
	
		
			
				|  |  | +            throw new BizException("未找到曲目信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if(musicSheet.getCbsMusicSheetId() == null){
 | 
	
		
			
				|  |  | +            throw new BizException("曲目信息未同步");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        R<CbsMusicSheetWrapper.MusicSheet> musicSheetR = cbsMusicScoreService.musicSheetDetail(musicSheet.getCbsMusicSheetId());
 | 
	
		
			
				|  |  | +        if(musicSheetR.getCode() != 200){
 | 
	
		
			
				|  |  | +            throw new BizException("获取曲目信息失败");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        CbsMusicSheetWrapper.MusicSheet musicSheet1 = musicSheetR.getData();
 | 
	
		
			
				|  |  | +        if (musicSheet1 == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("未找到曲目信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        MusicSheetDetailVo detailVo = JSON.parseObject(JSON.toJSONString(musicSheet), MusicSheetDetailVo.class);
 | 
	
		
			
				|  |  | +        this.initMusicSheetDetailVo(detailVo,musicSheet);
 | 
	
		
			
				|  |  | +        return detailVo;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void initMusicSheetDetailVo(MusicSheetDetailVo detailVo,MusicSheet musicSheet) {
 | 
	
		
			
				|  |  | +        R<CbsMusicSheetWrapper.MusicSheet> musicSheetR = cbsMusicScoreService.musicSheetDetail(musicSheet.getCbsMusicSheetId());
 | 
	
		
			
				|  |  | +        if(musicSheetR.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());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        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.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());
 | 
	
		
			
				|  |  | +        List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheet1.getMusicSheetAccompanimentList();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(accompanimentList)) {
 | 
	
		
			
				|  |  | +            detailVo.setAudioFileUrl(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());
 | 
	
		
			
				|  |  | +                background.add(accompaniment);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //按照sortNumber排序
 | 
	
		
			
				|  |  | +            background.sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
 | 
	
		
			
				|  |  | +            detailVo.setBackground(background);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType) {
 | 
	
		
			
				|  |  | -        return detail(id, sysUser, userType,null);
 | 
	
		
			
				|  |  | +        return this.getCbsDetail(id);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType,String tenantAlbumId) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        MusicSheetDetailVo detail = baseMapper.detail(id);
 | 
	
		
			
				|  |  | -        if (detail == null) {
 | 
	
		
			
				|  |  | -            throw new BizException("未找到曲目信息");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        MusicSheetDetailVo detail = this.getCbsDetail(id);
 | 
	
		
			
				|  |  |          // 设置收藏人数
 | 
	
		
			
				|  |  |          detail.setFavoriteCount(detail.getFavoriteCount() + detail.getVirtualNumber());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -578,12 +672,102 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        // 机构专辑购买
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 学生生效中的机构专辑
 | 
	
		
			
				|  |  | +        if (ClientEnum.STUDENT == userType) {
 | 
	
		
			
				|  |  | +            List<Long> tenantAlbumIds = userTenantAlbumRecordMapper.selectTenantIds(studentId);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(tenantAlbumIds)) {
 | 
	
		
			
				|  |  | +                List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByIds(tenantAlbumIds);
 | 
	
		
			
				|  |  | +                if (musicSheetIds.contains(detail.getId())) {
 | 
	
		
			
				|  |  | +                    detail.setPlay(YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } else if (ClientEnum.TEACHER == userType) {
 | 
	
		
			
				|  |  | +            // 老师所在机构启用的专辑
 | 
	
		
			
				|  |  | +            Teacher teacher = teacherService.getById(studentId);
 | 
	
		
			
				|  |  | +            if (teacher.getTenantId() !=null) {
 | 
	
		
			
				|  |  | +                List<Long> musicSheetIds = tenantAlbumMusicService.getMusicIdsByTenantIds(teacher.getTenantId());
 | 
	
		
			
				|  |  | +                if (musicSheetIds.contains(detail.getId())) {
 | 
	
		
			
				|  |  | +                    detail.setPlay(YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void initMusicSheetVo(MusicSheetVo record,CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication,Map<Long, CbsSubjectApiWrapper.Subject> subjectMap){
 | 
	
		
			
				|  |  | +        if(StringUtils.isNotEmpty(musicSheetApplication.getSubjectIds())){
 | 
	
		
			
				|  |  | +            StringBuffer sb = new StringBuffer();
 | 
	
		
			
				|  |  | +            for (String s : musicSheetApplication.getSubjectIds().split(",")) {
 | 
	
		
			
				|  |  | +                CbsSubjectApiWrapper.Subject subject = subjectMap.get(Long.parseLong(s));
 | 
	
		
			
				|  |  | +                if(subject != null){
 | 
	
		
			
				|  |  | +                    if (sb.length() > 0) {
 | 
	
		
			
				|  |  | +                        sb.append(",");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    sb.append(subject.getSubjectName());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            record.setSubjectNames(sb.toString());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        record.setCbsMusicSheetId(musicSheetApplication.getId());
 | 
	
		
			
				|  |  | +        record.setAudioType(AudioTypeEnum.valueOf(musicSheetApplication.getPlayMode().getCode()));
 | 
	
		
			
				|  |  | +        record.setCanEvaluate(musicSheetApplication.getIsEvaluated() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +        record.setShowFingering(musicSheetApplication.getIsShowFingering() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +        record.setMusicTag(musicSheetApplication.getMusicTagIds());
 | 
	
		
			
				|  |  | +        record.setMusicTagNames(musicSheetApplication.getMusicTagNames());
 | 
	
		
			
				|  |  | +        List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheetApplication.getMusicSheetAccompanimentList();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(accompanimentList)) {
 | 
	
		
			
				|  |  | +            record.setAudioFileUrl(accompanimentList.get(0).getAudioFileUrl());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        record.setXmlFileUrl(musicSheetApplication.getXmlFileUrl());
 | 
	
		
			
				|  |  | +        record.setMidiUrl(musicSheetApplication.getMidiFileUrl());
 | 
	
		
			
				|  |  | +        record.setAuditVersion(musicSheetApplication.getAppAuditFlag() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +        record.setHasBeat((musicSheetApplication.getIsPlayBeat() && !musicSheetApplication.getIsUseSystemBeat()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +        record.setExtConfigJson(musicSheetApplication.getExtConfigJson());
 | 
	
		
			
				|  |  | +        record.setMusicJSON(musicSheetApplication.getMusicJson());
 | 
	
		
			
				|  |  | +        record.setMusicJianSvg(musicSheetApplication.getMusicJianSvg());
 | 
	
		
			
				|  |  | +        record.setMusicFirstSvg(musicSheetApplication.getMusicFirstSvg());
 | 
	
		
			
				|  |  | +        record.setFirstTone(musicSheetApplication.getMusicFirstImg());
 | 
	
		
			
				|  |  | +        record.setFixedTone(musicSheetApplication.getMusicJianImg());
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void initMusicSheetVos(List<MusicSheetVo> records) {
 | 
	
		
			
				|  |  | +        if(CollectionUtils.isNotEmpty(records)){
 | 
	
		
			
				|  |  | +            List<Long> cbsMusicSheetIds = records.stream().map(e -> e.getCbsMusicSheetId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            CbsMusicSheetWrapper.MusicSheetApplicationQuery query = new CbsMusicSheetWrapper.MusicSheetApplicationQuery();
 | 
	
		
			
				|  |  | +            query.setMusicSheetIds(cbsMusicSheetIds);
 | 
	
		
			
				|  |  | +            query.setDetailFlag(true);
 | 
	
		
			
				|  |  | +            R<PageInfo<CbsMusicSheetWrapper.MusicSheetApplication>> pageInfoR = cbsMusicScoreService.selectPage(query);
 | 
	
		
			
				|  |  | +            if(pageInfoR.getCode() != 200){
 | 
	
		
			
				|  |  | +                throw new BizException("获取曲目信息失败");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            PageInfo<CbsMusicSheetWrapper.MusicSheetApplication> pageInfo = pageInfoR.getData();
 | 
	
		
			
				|  |  | +            if(pageInfo != null && CollectionUtils.isNotEmpty(pageInfo.getRows())){
 | 
	
		
			
				|  |  | +                Map<Long, CbsMusicSheetWrapper.MusicSheetApplication> musicSheetApplicationMap = pageInfo.getRows()
 | 
	
		
			
				|  |  | +                        .stream().collect(Collectors.toMap(CbsMusicSheetWrapper.MusicSheetApplication::getId, Function.identity()));
 | 
	
		
			
				|  |  | +                CbsSubjectApiWrapper.SubjectQuery subjectQuery = new CbsSubjectApiWrapper.SubjectQuery();
 | 
	
		
			
				|  |  | +                subjectQuery.setCbsSubjectIds(records.stream().map(MusicSheetVo::getMusicSubject).filter(StringUtils::isNotEmpty).map(Long::parseLong).distinct().collect(Collectors.toList()));
 | 
	
		
			
				|  |  | +                List<CbsSubjectApiWrapper.Subject> subjects = subjectService.getDao().queryCbsList(subjectQuery);
 | 
	
		
			
				|  |  | +                Map<Long, CbsSubjectApiWrapper.Subject> subjectMap = subjects.stream().collect(Collectors.toMap(CbsSubjectApiWrapper.Subject::getSubjectId, Function.identity()));
 | 
	
		
			
				|  |  | +                for (MusicSheetVo record : records) {
 | 
	
		
			
				|  |  | +                    CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication = musicSheetApplicationMap.get(record.getCbsMusicSheetId());
 | 
	
		
			
				|  |  | +                    if(musicSheetApplication != null){
 | 
	
		
			
				|  |  | +                        this.initMusicSheetVo(record,musicSheetApplication,subjectMap);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public IPage<MusicSheetVo> selectStudentPage(IPage<MusicSheetVo> page, StudentMusicSheetSearch query, ClientEnum clientType) {
 | 
	
		
			
				|  |  |          List<MusicSheetVo> records = baseMapper.selectStudentMusicPage(page, query, clientType);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        //设置内容平台曲目信息
 | 
	
		
			
				|  |  | +        this.initMusicSheetVos(records);
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(records)) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 统计单曲归属专辑数
 | 
	
	
		
			
				|  | @@ -719,6 +903,8 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |          query.setDelFlag(null);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<MusicSheetVo> records = baseMapper.selectMyMusicPage(page, query);
 | 
	
		
			
				|  |  | +        //设置内容平台曲目信息
 | 
	
		
			
				|  |  | +        this.initMusicSheetVos(records);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 统计曲目专辑数
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(records)) {
 | 
	
	
		
			
				|  | @@ -736,6 +922,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |          List<MusicSheetVo> records = baseMapper.selectFavoriteMusicPage(page, query, clientType);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(records)) {
 | 
	
		
			
				|  |  | +            this.initMusicSheetVos(records);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 更新曲目专辑数量
 | 
	
		
			
				|  |  |              musicSheetService.updateMusicAlbumNumInfo(records);
 | 
	
	
		
			
				|  | @@ -758,7 +945,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 | 
	
		
			
				|  |  |          // 设置学生端收藏联系
 | 
	
		
			
				|  |  |          query.setClientType(ClientEnum.STUDENT);
 | 
	
		
			
				|  |  |          // 构建分页信息
 | 
	
		
			
				|  |  | -        page.setRecords(baseMapper.selectPracticeMusicPage(query, practiceMusicIdList));
 | 
	
		
			
				|  |  | +        List<MusicSheetVo> musicSheetVos = baseMapper.selectPracticeMusicPage(query, practiceMusicIdList);
 | 
	
		
			
				|  |  | +        //设置内容平台曲目信息
 | 
	
		
			
				|  |  | +        this.initMusicSheetVos(musicSheetVos);
 | 
	
		
			
				|  |  | +        page.setRecords(musicSheetVos);
 | 
	
		
			
				|  |  |          page.setPages(practiceMusicIdPage.getPages());
 | 
	
		
			
				|  |  |          page.setCurrent(practiceMusicIdPage.getCurrent());
 | 
	
		
			
				|  |  |          page.setSize(practiceMusicIdPage.getSize());
 |