|
@@ -3,13 +3,17 @@ package com.ym.mec.biz.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
|
|
import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
|
|
|
|
+import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
|
|
import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
|
|
import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
|
|
import com.dayaedu.cbs.openfeign.wrapper.music.*;
|
|
import com.dayaedu.cbs.openfeign.wrapper.music.*;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import com.microsvc.toolkit.common.response.paging.PageInfo;
|
|
import com.microsvc.toolkit.common.response.paging.PageInfo;
|
|
import com.microsvc.toolkit.common.response.paging.QueryInfo;
|
|
import com.microsvc.toolkit.common.response.paging.QueryInfo;
|
|
import com.ym.mec.biz.dal.dao.SysUserTenantDao;
|
|
import com.ym.mec.biz.dal.dao.SysUserTenantDao;
|
|
import com.ym.mec.biz.dal.entity.Instrument;
|
|
import com.ym.mec.biz.dal.entity.Instrument;
|
|
import com.ym.mec.biz.dal.entity.SysMusicScore;
|
|
import com.ym.mec.biz.dal.entity.SysMusicScore;
|
|
|
|
+import com.ym.mec.biz.dal.enums.ClientEnum;
|
|
|
|
+import com.ym.mec.biz.dal.wrapper.MusicSheetWrapper;
|
|
import com.ym.mec.biz.service.InstrumentService;
|
|
import com.ym.mec.biz.service.InstrumentService;
|
|
import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
|
|
import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
|
|
import com.ym.mec.biz.service.SysMusicScoreService;
|
|
import com.ym.mec.biz.service.SysMusicScoreService;
|
|
@@ -17,6 +21,7 @@ import com.ym.mec.common.exception.BizException;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -39,6 +44,9 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
|
|
@Resource
|
|
@Resource
|
|
private InstrumentService instrumentService;
|
|
private InstrumentService instrumentService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysMusicScoreService musicSheetService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Boolean saveApplicationExtend(List<CbsMusicSheetApplicationExtendWrapper.MusicSheetApplicationExtend> addMusicSheet) {
|
|
public Boolean saveApplicationExtend(List<CbsMusicSheetApplicationExtendWrapper.MusicSheetApplicationExtend> addMusicSheet) {
|
|
@@ -129,4 +137,56 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
|
|
sysMusicScoreService.getDao().updateMusicSheet(musicSheetUpdate);
|
|
sysMusicScoreService.getDao().updateMusicSheet(musicSheetUpdate);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取曲目应用拓展详情
|
|
|
|
+ * @param query CbsMusicSheetAppWrapper.MusicSheetQuery
|
|
|
|
+ * @return CbsMusicSheetAppWrapper.MusicSheetDetail
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public CbsMusicSheetAppWrapper.MusicSheetDetail getMusicSheetDetail(CbsMusicSheetAppWrapper.MusicSheetQuery query) {
|
|
|
|
+
|
|
|
|
+ // 根据总控曲目ID,查询应用端曲目
|
|
|
|
+ List<SysMusicScore> musicScores = sysMusicScoreService.getDao().findByCbsId(Lists.newArrayList(query.getCbsMusicId()), false);
|
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isEmpty(musicScores)) {
|
|
|
|
+ throw new BizException("曲目不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 返回应用端曲目
|
|
|
|
+ SysMusicScore musicScore = musicScores.get(0);
|
|
|
|
+ CbsMusicSheetAppWrapper.MusicSheetDetail music = CbsMusicSheetAppWrapper.MusicSheetDetail
|
|
|
|
+ .builder()
|
|
|
|
+ .bizId(musicScore.getId().longValue())
|
|
|
|
+ .paymentType(StringUtils.isBlank(musicScore.getRankIds()) ? "FREE" : "VIP")
|
|
|
|
+ .bizMusicCategoryId(musicScore.getCategoriesId() == null ? null : musicScore.getCategoriesId().longValue())
|
|
|
|
+ .scoreType(musicScore.getScoreType())
|
|
|
|
+ .isConvertibleScore(musicScore.getIsConvertibleScore())
|
|
|
|
+ .specialPercussionFlag(false)
|
|
|
|
+ .build();
|
|
|
|
+
|
|
|
|
+ // 如果是合奏 并且乐器ID = 2268
|
|
|
|
+ if ("2268".equals(query.getMusicalInstrumentIds())
|
|
|
|
+ && musicScore.getMusicSheetType().equals(EMusicSheetType.CONCERT.getCode())) {
|
|
|
|
+ // 设置特殊打击乐标识
|
|
|
|
+ music.setSpecialPercussionFlag(true);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 学生端查询曲目使用状态
|
|
|
|
+ if (query.getClientType().equals(ClientEnum.STUDENT.getCode())) {
|
|
|
|
+ MusicSheetWrapper.ClientMusicSheetInfoQuery clientQuery = MusicSheetWrapper.ClientMusicSheetInfoQuery
|
|
|
|
+ .builder()
|
|
|
|
+ .userType(ClientEnum.STUDENT)
|
|
|
|
+ .userId(query.getUserId().intValue())
|
|
|
|
+ .musicSheetId(musicScore.getId())
|
|
|
|
+ .build();
|
|
|
|
+ MusicSheetWrapper.ClientMusicSheetInfo clientMusicSheetInfo = musicSheetService.queryMusicScoreDetail(clientQuery);
|
|
|
|
+ if (clientMusicSheetInfo != null) {
|
|
|
|
+ music.setUseStatus(clientMusicSheetInfo.getUseStatus());
|
|
|
|
+ } else {
|
|
|
|
+ music.setUseStatus("LOCK");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return music;
|
|
|
|
+ }
|
|
}
|
|
}
|