|  | @@ -4,26 +4,35 @@ package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  | +import com.beust.jcommander.internal.Lists;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.EClientType;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.music.EAudioType;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.music.EMusicAvailableType;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.music.EMusicPlayMode;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
 | 
	
		
			
				|  |  | +import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.domain.wrapper.MusicSheetWrapper;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.openfeign.client.MusicFeignClientService;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendClientWrapper;
 | 
	
		
			
				|  |  |  import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 | 
	
		
			
				|  |  |  import com.microsvc.toolkit.common.response.template.R;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.ReasonDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Subject;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.SysMusicScore;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.OrganizationService;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.SysMusicScoreService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.page.PageInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.collection.MapUtil;
 | 
	
		
			
				|  |  | +import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  |  import org.apache.commons.collections.CollectionUtils;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Value;
 | 
	
	
		
			
				|  | @@ -38,6 +47,7 @@ import java.util.function.Function;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  | +@Slf4j
 | 
	
		
			
				|  |  |  public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicScore> implements SysMusicScoreService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Resource
 | 
	
	
		
			
				|  | @@ -49,6 +59,10 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  |      private OrganizationService organizationService;
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  | +    private SubjectService subjectService;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private SysMusicScoreAccompanimentDao sysMusicScoreAccompanimentDao;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  |      private MusicFeignClientService musicFeignClientService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Value("${openfeign-client.app-id:1745637981387108354}")
 | 
	
	
		
			
				|  | @@ -291,38 +305,24 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void sync() {
 | 
	
		
			
				|  |  | -        Date date = new Date();
 | 
	
		
			
				|  |  | -        // 100个线程的无界线程池
 | 
	
		
			
				|  |  |          ThreadPoolExecutor executorService =  new ThreadPoolExecutor(50, 50,
 | 
	
		
			
				|  |  |                  0L, TimeUnit.MILLISECONDS,
 | 
	
		
			
				|  |  |                  new LinkedBlockingQueue<>());
 | 
	
		
			
				|  |  | -//        while (true) {
 | 
	
		
			
				|  |  | -        IPage<MusicSheet> page = baseMapper.selectSyncPage(new Page<>(1, -1));
 | 
	
		
			
				|  |  | -        List<MusicSheet> records = page.getRecords();
 | 
	
		
			
				|  |  | +        List<SysMusicScore> records = sysMusicScoreDao.selectSyncPage();
 | 
	
		
			
				|  |  |          if (CollectionUtils.isEmpty(records)) {
 | 
	
		
			
				|  |  |              return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        for (MusicSheet record : records) {
 | 
	
		
			
				|  |  | -            if (record.getCbsMusicSheetId() != null && !DateUtil.format(record.getCreateTime(),"yyyy-MM-dd HH:mm:ss").equals("2024-06-25 00:00:00")) {
 | 
	
		
			
				|  |  | -                continue;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        for (SysMusicScore record : records) {
 | 
	
		
			
				|  |  |              executorService.submit(() ->
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                          try {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                            syncMusicSheet(record, date);
 | 
	
		
			
				|  |  | +                            syncMusicSheet(record);
 | 
	
		
			
				|  |  |                          }catch (Exception e) {
 | 
	
		
			
				|  |  |                              log.error("曲目同步异常,曲目ID:{}", record.getId(), e);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |              );
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        curPage++;
 | 
	
		
			
				|  |  | -//        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          while (!executorService.getQueue().isEmpty()) {
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  |                  log.info("线程池中正在执行的任务数量:{},等待数量:{}", executorService.getActiveCount(),executorService.getQueue().size());
 | 
	
	
		
			
				|  | @@ -335,6 +335,152 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 | 
	
		
			
				|  |  |          executorService.shutdown();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private void syncMusicSheet(SysMusicScore record) {
 | 
	
		
			
				|  |  | +        List<SysMusicScoreAccompaniment> list = sysMusicScoreAccompanimentDao.findByMusicScoreId(record.getId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = this.musicToAddMusicSheet(record,list);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        R<CbsMusicSheetWrapper.MusicSheet> musicSheetR = musicFeignClientService.musicCbsSync(addMusicSheet);
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            CbsMusicSheetWrapper.MusicSheet musicSheet = musicSheetR.feignData();
 | 
	
		
			
				|  |  | +            if (musicSheet == null) {
 | 
	
		
			
				|  |  | +                log.error("曲目同步失败,曲目ID:{}", record.getId());
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            MusicSheet musicSheet1 = new MusicSheet();
 | 
	
		
			
				|  |  | +            musicSheet1.setId(record.getId());
 | 
	
		
			
				|  |  | +            musicSheet1.setCbsMusicSheetId(musicSheet.getId());
 | 
	
		
			
				|  |  | +//            musicSheet1.setCbsSubjectId(musicSheet.getSubjectIds());
 | 
	
		
			
				|  |  | +            musicSheet1.setMusicSheetName(musicSheet.getName());
 | 
	
		
			
				|  |  | +            this.updateById(musicSheet1);
 | 
	
		
			
				|  |  | +        } catch (Exception e){
 | 
	
		
			
				|  |  | +            log.error("曲目同步失败,曲目ID:{}", record.getId(),e);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    //测试环境合奏分类
 | 
	
		
			
				|  |  | +    private static String categoryIds = "42,43,44,45,46,91,92,93,94,95,7,11,15,180";
 | 
	
		
			
				|  |  | +    private static String prodCategoryIds = "42,43,44,45,46,91,92,93,94,95,185,186,7,11,15,180";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private CbsMusicSheetWrapper.AddMusicSheet musicToAddMusicSheet(SysMusicScore from, List<SysMusicScoreAccompaniment> accList) {
 | 
	
		
			
				|  |  | +        CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = new CbsMusicSheetWrapper.AddMusicSheet();
 | 
	
		
			
				|  |  | +        addMusicSheet.setId(Long.parseLong(from.getCbsMusicSheetId()));
 | 
	
		
			
				|  |  | +        addMusicSheet.setName(from.getName());
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotBlank(from.getSubjectIds())) {
 | 
	
		
			
				|  |  | +            List<Integer> subjectIds = Arrays.stream(from.getSubjectIds().split(","))
 | 
	
		
			
				|  |  | +                    .map(Integer::parseInt).distinct().collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            List<Subject> list = subjectService.findBySubjectByIdList(subjectIds);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(list)) {
 | 
	
		
			
				|  |  | +                addMusicSheet.setSubjectIds(list.stream().map(o->o.getCbsSubjectId().toString()).collect(Collectors.joining(",")));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        addMusicSheet.setSendAppFlag(false);
 | 
	
		
			
				|  |  | +        addMusicSheet.setAppAuditFlag(false);
 | 
	
		
			
				|  |  | +        addMusicSheet.setRemark(from.getMuseScoreMemo());
 | 
	
		
			
				|  |  | +        addMusicSheet.setIsUseSystemBeat(true);
 | 
	
		
			
				|  |  | +        if(categoryIds.contains(from.getCategoriesId().toString())){
 | 
	
		
			
				|  |  | +            addMusicSheet.setMusicSheetType(EMusicSheetType.CONCERT);
 | 
	
		
			
				|  |  | +        }else {
 | 
	
		
			
				|  |  | +            addMusicSheet.setMusicSheetType(EMusicSheetType.SINGLE);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        addMusicSheet.setIsEvaluated(from.isEnableEvaluation());
 | 
	
		
			
				|  |  | +        addMusicSheet.setIsConvertibleScore(true);
 | 
	
		
			
				|  |  | +        addMusicSheet.setPlaySpeed(from.getSpeed());
 | 
	
		
			
				|  |  | +        addMusicSheet.setPlayMode(from.getPlayMode() == SysMusicScore.PlayMode.MP3 ? EMusicPlayMode.MP3 : EMusicPlayMode.MIDI);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        addMusicSheet.setMidiFileUrl(from.getMidiUrl());
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicJson(from.getMusicJSON());
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicSvg(from.getMusicSvg());
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicJianSvg(from.getMusicJianSvg());
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicFirstSvg(from.getMusicFirstSvg());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicFirstImg(Optional.ofNullable(from.getFirstTone()).orElse(from.getFirstTone()));
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicJianImg(Optional.ofNullable(from.getFixedTone()).orElse(from.getFixedTone()));
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicImg(from.getMusicImg());
 | 
	
		
			
				|  |  | +        addMusicSheet.setExtConfigJson(from.getExtConfigJson());
 | 
	
		
			
				|  |  | +        addMusicSheet.setCreateTime(from.getCreateTime());
 | 
	
		
			
				|  |  | +        addMusicSheet.setAudioType(from.getAccompanimentType() !=null && from.getAccompanimentType() == AccompanimentTypeEnum.COMMON? EAudioType.COMMON:EAudioType.HOMEMODE);
 | 
	
		
			
				|  |  | +        if (from.getSourceType() !=null) {
 | 
	
		
			
				|  |  | +            addMusicSheet.setAvailableType(from.getSourceType() == SourceTypeEnum.PLATFORM? EMusicAvailableType.PLATFORM:EMusicAvailableType.PERSON);
 | 
	
		
			
				|  |  | +            addMusicSheet.setSourceType(from.getSourceType() == SourceTypeEnum.PLATFORM? EMusicSourceType.PLATFORM:EMusicSourceType.PERSON);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            addMusicSheet.setAvailableType(EMusicAvailableType.PLATFORM);
 | 
	
		
			
				|  |  | +            addMusicSheet.setSourceType(EMusicSourceType.PLATFORM);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        addMusicSheet.setStatus(from.getState() == YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +        addMusicSheet.setReason(from.getReason());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        String tracks = "";
 | 
	
		
			
				|  |  | +        // 伴奏,原音 扩展信息
 | 
	
		
			
				|  |  | +        if (addMusicSheet.getPlayMode() == EMusicPlayMode.MP3) {
 | 
	
		
			
				|  |  | +            CbsMusicSheetWrapper.MusicSheetAccompaniment musicSheetAccompaniment = new CbsMusicSheetWrapper.MusicSheetAccompaniment();
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotBlank(from.getMetronomeUrl())) {
 | 
	
		
			
				|  |  | +                musicSheetAccompaniment.setAudioFileUrl(from.getMetronomeUrl());
 | 
	
		
			
				|  |  | +            }else if (StringUtils.isNotBlank(from.getUrl())) {
 | 
	
		
			
				|  |  | +                musicSheetAccompaniment.setAudioFileUrl(from.getUrl());
 | 
	
		
			
				|  |  | +            } else if (StringUtils.isNotBlank(from.getAudioFileUrl())) {
 | 
	
		
			
				|  |  | +                musicSheetAccompaniment.setAudioFileUrl(from.getAudioFileUrl());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotBlank(musicSheetAccompaniment.getAudioFileUrl())) {
 | 
	
		
			
				|  |  | +                addMusicSheet.setMusicSheetAccompanimentList(Lists.newArrayList(musicSheetAccompaniment));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(accList)) {
 | 
	
		
			
				|  |  | +                List<CbsMusicSheetWrapper.MusicSheetSound> musicSheetSounds = new ArrayList<>();
 | 
	
		
			
				|  |  | +                int i = 0;
 | 
	
		
			
				|  |  | +                for (SysMusicScoreAccompaniment sheetAccompaniment : accList) {
 | 
	
		
			
				|  |  | +                    CbsMusicSheetWrapper.MusicSheetSound musicSheetSound = new CbsMusicSheetWrapper.MusicSheetSound();
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNotBlank(sheetAccompaniment.getMetronomeMp3Url())){
 | 
	
		
			
				|  |  | +                        musicSheetSound.setAudioFileUrl(sheetAccompaniment.getMetronomeMp3Url());
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        musicSheetSound.setAudioFileUrl(sheetAccompaniment.getMp3Url());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    musicSheetSound.setTrack(sheetAccompaniment.getTrack());
 | 
	
		
			
				|  |  | +                    musicSheetSound.setSortNumber(i++);
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNotBlank(musicSheetSound.getAudioFileUrl())) {
 | 
	
		
			
				|  |  | +                        //xml
 | 
	
		
			
				|  |  | +                        addMusicSheet.setXmlFileUrl(sheetAccompaniment.getXmlUrl());
 | 
	
		
			
				|  |  | +                        //是否显示指法
 | 
	
		
			
				|  |  | +                        addMusicSheet.setIsShowFingering(sheetAccompaniment.getIsShowFingering());
 | 
	
		
			
				|  |  | +                        //是否播放节拍器
 | 
	
		
			
				|  |  | +                        addMusicSheet.setIsPlayBeat(sheetAccompaniment.getIsOpenMetronome());
 | 
	
		
			
				|  |  | +                        musicSheetSounds.add(musicSheetSound);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                tracks = musicSheetSounds.stream().map(CbsMusicSheetWrapper.MusicSheetSound::getTrack).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  | +                addMusicSheet.setMusicSheetSoundList(musicSheetSounds);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        addMusicSheet.setMultiTracksSelection(tracks);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        CbsMusicSheetWrapper.MusicSheetExtend musicSheetExtend = new CbsMusicSheetWrapper.MusicSheetExtend();
 | 
	
		
			
				|  |  | +        musicSheetExtend.setApplicationId(Long.parseLong(openFeignClientConfigProperties.getAppId()));
 | 
	
		
			
				|  |  | +        if (from.getSourceType() !=null) {
 | 
	
		
			
				|  |  | +            if (from.getSourceType() == SourceTypeEnum.TEACHER) {
 | 
	
		
			
				|  |  | +                musicSheetExtend.setUserId(from.getUserId());
 | 
	
		
			
				|  |  | +                musicSheetExtend.setClientType(EClientType.TEACHER.name());
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                musicSheetExtend.setClientType(EClientType.BACKEND.name());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        addMusicSheet.setMusicSheetExtend(musicSheetExtend);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 应用扩展信息
 | 
	
		
			
				|  |  | +        CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend addMusicSheetApplicationExtend = new CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend();
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setApplicationId(Long.parseLong(openFeignClientConfigProperties.getAppId()));
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setStatus(addMusicSheet.getStatus());
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setSortNo(from.getSortNumber());
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setPaymentType(from.getPaymentType());
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setTopFlag(from.getTopFlag() !=null && from.getTopFlag() == YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setExquisiteFlag(from.getExquisiteFlag() !=null && from.getExquisiteFlag() == YesOrNoEnum.YES);
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setAvailableType(from.getProviderType() !=null && from.getProviderType() == SourceTypeEnum.TENANT?EMusicAvailableType.ORG:EMusicAvailableType.PLATFORM);
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setMusicTagIds(from.getMusicTag());
 | 
	
		
			
				|  |  | +        addMusicSheetApplicationExtend.setMusicPrice(from.getMusicPrice());
 | 
	
		
			
				|  |  | +        addMusicSheet.setAddMusicSheetApplicationExtend(Lists.newArrayList(addMusicSheetApplicationExtend));
 | 
	
		
			
				|  |  | +        addMusicSheet.setIsConvertibleScore(true);
 | 
	
		
			
				|  |  | +        return addMusicSheet;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private void getAllCategoryIdList(List<Integer> categoryIdList, List<SysMusicScoreCategories> sysMusicScoreCategoriesList) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(sysMusicScoreCategoriesList)) {
 |