소스 검색

管乐迷曲目来源内容平台

zouxuan 1 년 전
부모
커밋
5995677b9e

+ 4 - 1
mec-application/src/main/java/com/ym/mec/web/controller/SysMusicScoreAccompanimentController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreAccompanimentService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -11,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @RequestMapping("${app-config.url.web:}/sysMusicScoreAccompaniment")
 @Api(tags = "曲库服务")
 @RestController
@@ -38,7 +41,7 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('sysMusicScoreAccompaniment/queryPage')")
-    public Object queryPage(SysExamSongQueryInfo queryInfo) {
+    public HttpResponseResult<List<SysMusicScoreAccompaniment>> queryPage(SysExamSongQueryInfo queryInfo) {
         return succeed(sysMusicScoreAccompanimentService.queryAll(queryInfo));
     }
 

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java

@@ -1,16 +1,13 @@
 package com.ym.mec.biz.dal.dao;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApiWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendWrapper;
-import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetExtendWrapper;
 import com.ym.mec.biz.dal.dto.SysMusicScoreMetronomeTranscod;
 import com.ym.mec.biz.dal.dto.SysMusicScoreTranscod;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -40,4 +37,6 @@ public interface SysMusicScoreDao extends BaseDAO<Integer, SysMusicScore> {
     void batchDel(@Param("cbsMusicSheetIds") String cbsMusicSheetIds);
 
     void updateMusicSheet(@Param("param") CbsMusicSheetApiWrapper.MusicSheetUpdate musicSheetUpdate);
+
+    void batchInsertAccompaniment(@Param("vos") List<Integer> musicSheetIds);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CbsMusicSheetServiceImpl.java

@@ -70,6 +70,10 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
         }
         if(CollectionUtils.isNotEmpty(addMusicSheet)){
             sysMusicScoreService.getDao().batchInsert(addMusicSheet);
+            List<Long> cbsIds = addMusicSheet.stream().map(e -> e.getMusicSheetId()).collect(Collectors.toList());
+            List<SysMusicScore> sysMusicScores = sysMusicScoreService.getDao().findByCbsId(cbsIds);
+            List<Integer> collect = sysMusicScores.stream().map(e -> e.getId()).collect(Collectors.toList());
+            sysMusicScoreService.getDao().batchInsertAccompaniment(collect);
         }
         return true;
     }

+ 58 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreAccompanimentServiceImpl.java

@@ -5,8 +5,13 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.entity.SysMusicScore;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,12 +30,16 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 
+import javax.annotation.Resource;
+
 @Service
 public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Integer, SysMusicScoreAccompaniment> implements SysMusicScoreAccompanimentService {
 	
-	@Autowired
+	@Resource
 	private SysMusicScoreAccompanimentDao sysMusicScoreAccompanimentDao;
-	@Autowired
+	@Resource
+	private SubjectDao subjectDao;
+	@Resource
 	private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
 
 	@Override
@@ -57,7 +66,53 @@ public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Integ
 	public List<SysMusicScoreAccompaniment> queryAll(SysExamSongQueryInfo queryInfo) {
 		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
-		return sysMusicScoreAccompanimentDao.queryPage(params);
+		List<SysMusicScoreAccompaniment> accompaniments = sysMusicScoreAccompanimentDao.queryPage(params);
+
+		return accompaniments;
+	}
+
+	public void initAccompaniment(List<SysMusicScoreAccompaniment> accompaniments){
+		/*List<Subject> subjects = subjectDao.queryCbsList(null);
+		Map<Long, Subject> subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getCbsSubjectId, Function.identity()));
+		if(StringUtils.isNotEmpty(musicSheetApplication.getSubjectIds())){
+			StringBuffer sb = new StringBuffer();
+			for (String s : musicSheetApplication.getSubjectIds().split(",")) {
+				Subject subject = subjectMap.get(Long.parseLong(s));
+				if(subject != null){
+					if (sb.length() > 0) {
+						sb.append(",");
+					}
+					sb.append(subject.getName());
+				}
+			}
+			record.setSubjectName(sb.toString());
+		}
+		record.setCbsMusicSheetId(musicSheetApplication.getId());
+		record.setPlayMode(SysMusicScore.PlayMode.valueOf(musicSheetApplication.getPlayMode().getCode()));
+		record.setExtConfigJson(musicSheetApplication.getExtConfigJson());
+		record.setExtStyleConfigJson(musicSheetApplication.getExtStyleConfigJson());
+		if(musicSheetApplication.getMusicSheetCategoryId() != null){
+			record.setMusicScoreCategoriesId(musicSheetApplication.getMusicSheetCategoryId().intValue());
+			record.setCategoriesId(musicSheetApplication.getMusicSheetCategoryId().intValue());
+		}
+		record.setName(musicSheetApplication.getName());
+		record.setCategoriesName(musicSheetApplication.getMusicSheetCategoryName());
+		record.setSpeed(musicSheetApplication.getPlaySpeed());
+		List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheetApplication.getMusicSheetAccompanimentList();
+		if (CollectionUtils.isNotEmpty(accompanimentList)) {
+			record.setMetronomeUrl(accompanimentList.get(0).getAudioFileUrl());
+			record.setUrl(accompanimentList.get(0).getAudioFileUrl());
+		}
+		List<CbsMusicSheetWrapper.MusicSheetSound> soundList = musicSheetApplication.getMusicSheetSoundList();
+		if (CollectionUtils.isNotEmpty(soundList)) {
+			record.setAccompanimentMetronomeUrl(soundList.get(0).getAudioFileUrl());
+			record.setAccompanimentUrl(soundList.get(0).getAudioFileUrl());
+		}
+		record.setXmlUrl(musicSheetApplication.getXmlFileUrl());
+		record.setMidiUrl(musicSheetApplication.getMidiFileUrl());
+		record.setOrder(musicSheetApplication.getSortNo());
+		record.setEnableEvaluation(musicSheetApplication.getIsEvaluated());
+		record.setIsOpenMetronome(musicSheetApplication.getIsUseSystemBeat() && musicSheetApplication.getIsPlayBeat());*/
 	}
 
 	@Override

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -216,7 +216,7 @@
 
 	<sql id="queryPageSql">
 		<where>
-			sesa.del_flag_ = 0
+			sesa.del_flag_ = 0 AND ses.del_flag_ = 0
 			<if test="enable != null">
 				AND sesc.enable_ = #{enable}
 			</if>

+ 13 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -229,10 +229,14 @@
 		</foreach>
 	</update>
 	<update id="batchEnable">
-		update sys_music_score set show_flag_ = #{status} where FIND_IN_SET(cbs_music_sheet_id_,#{cbsMusicSheetIds})
+		update sys_music_score set show_flag_ = #{status} where FIND_IN_SET(cbs_music_sheet_id_,#{cbsMusicSheetIds});
 	</update>
 	<update id="batchDel">
-		update sys_music_score set del_flag_ = 1 where FIND_IN_SET(cbs_music_sheet_id_,#{cbsMusicSheetIds})
+		update sys_music_score set del_flag_ = 1 where FIND_IN_SET(cbs_music_sheet_id_,#{cbsMusicSheetIds});
+		update sys_music_score_accompaniment msa
+			left join sys_music_score sms ON sms.id_ = msa.exam_song_id_
+			set msa.del_flag_ = 1
+		where FIND_IN_SET(sms.cbs_music_sheet_id_,#{cbsMusicSheetIds})
 	</update>
 	<update id="updateMusicSheet">
 		update sys_music_score set name_ = #{param.name},
@@ -262,6 +266,13 @@
 			)
 		</foreach>
 	</insert>
+	<insert id="batchInsertAccompaniment">
+		INSERT INTO sys_music_score_accompaniment (exam_song_id_)
+		VALUES
+		<foreach collection="vos" item="item"  separator=",">
+			(#{item})
+		</foreach>
+	</insert>
 
 	<sql id="queryPageSql">
 		<where>