소스 검색

Merge branch 'zx_saas_cbs' of http://git.dayaedu.com/yonge/mec into dev

zouxuan 1 년 전
부모
커밋
276ee91704

+ 3 - 11
mec-application/src/main/java/com/ym/mec/student/controller/SysMusicScoreController.java

@@ -11,25 +11,17 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.annotation.Resource;
+
 @RequestMapping("${app-config.url.student:}/sysMusicScore")
 @RequestMapping("${app-config.url.student:}/sysMusicScore")
 @Api(tags = "曲库")
 @Api(tags = "曲库")
 @RestController
 @RestController
 public class SysMusicScoreController extends BaseController {
 public class SysMusicScoreController extends BaseController {
 
 
-    @Autowired
+    @Resource
     private SysMusicScoreService sysMusicScoreService;
     private SysMusicScoreService sysMusicScoreService;
 
 
     @ApiOperation(value = "分页查询")
     @ApiOperation(value = "分页查询")
-    @GetMapping("/queryPage")
-    public Object queryPage(SysExamSongQueryInfo queryInfo) {
-        queryInfo.setType("COMMON");
-        if(queryInfo.getClientType() == null){
-            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
-        }
-        return succeed(sysMusicScoreService.queryPage(queryInfo));
-    }
-
-    @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage2")
     @GetMapping("/queryPage2")
     public Object queryPage2(SysExamSongQueryInfo queryInfo) {
     public Object queryPage2(SysExamSongQueryInfo queryInfo) {
         queryInfo.setType("COMMON");
         queryInfo.setType("COMMON");

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreAccompanimentDao.java

@@ -12,19 +12,8 @@ import java.util.Map;
 public interface SysMusicScoreAccompanimentDao extends BaseDAO<String, SysMusicScoreAccompaniment> {
 public interface SysMusicScoreAccompanimentDao extends BaseDAO<String, SysMusicScoreAccompaniment> {
 
 
 
 
-    void batchInsert(@Param("sysMusicScoreAccompaniments") List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments,
-                     @Param("sysMusicScoreId") Integer sysMusicScoreId,
-                     @Param("isOpenMetronome") Boolean isOpenMetronome);
-
-    void batchDel(@Param("delExamSongAccompanimentIds") List<Integer> delExamSongAccompanimentIds);
-
     List<Integer> findSubjectByMusicScoreId(@Param("sysMusicScoreId") Integer sysMusicScoreId, @Param("idList") List<Integer> idList);
     List<Integer> findSubjectByMusicScoreId(@Param("sysMusicScoreId") Integer sysMusicScoreId, @Param("idList") List<Integer> idList);
 
 
-    void batchUpdate(@Param("sysMusicScoreAccompaniments") List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments,
-                     @Param("isOpenMetronome") Boolean isOpenMetronome);
-
-    void deleteBySongId(Integer id);
-
     List<SysMusicScoreAccompaniment> queryAccPage(Map<String, Object> params);
     List<SysMusicScoreAccompaniment> queryAccPage(Map<String, Object> params);
 
 
     int findAccCount(Map<String, Object> params);
     int findAccCount(Map<String, Object> params);

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreAccompanimentService.java

@@ -15,8 +15,7 @@ public interface SysMusicScoreAccompanimentService extends BaseService<String, S
 
 
     List<SysMusicScoreAccompaniment> queryAll(SysExamSongQueryInfo queryInfo);
     List<SysMusicScoreAccompaniment> queryAll(SysExamSongQueryInfo queryInfo);
 
 
-    SysMusicScoreAccompaniment initSysMusicScoreAccompaniment(CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication,
-                                                              CbsMusicSheetWrapper.MusicSheetSound sound);
+    SysMusicScoreAccompaniment initSysMusicScoreAccompaniment(CbsMusicSheetWrapper.MusicSheetAccApplication musicSheetApplication);
 
 
     List<SysMusicScoreAccompaniment> queryAccPage(SysExamSongQueryInfo queryInfo);
     List<SysMusicScoreAccompaniment> queryAccPage(SysExamSongQueryInfo queryInfo);
 
 

+ 7 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreAccompanimentServiceImpl.java

@@ -174,8 +174,7 @@ public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Strin
 	}
 	}
 
 
 	@Override
 	@Override
-	public SysMusicScoreAccompaniment initSysMusicScoreAccompaniment(CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication,
-																	 CbsMusicSheetWrapper.MusicSheetSound sound){
+	public SysMusicScoreAccompaniment initSysMusicScoreAccompaniment(CbsMusicSheetWrapper.MusicSheetAccApplication musicSheetApplication){
 		SysMusicScoreAccompaniment record = new SysMusicScoreAccompaniment();
 		SysMusicScoreAccompaniment record = new SysMusicScoreAccompaniment();
 //		record.setType(accompaniment.getType());
 //		record.setType(accompaniment.getType());
 		record.setRankIds("FREE".equals(musicSheetApplication.getPaymentType()) ? null : "1");
 		record.setRankIds("FREE".equals(musicSheetApplication.getPaymentType()) ? null : "1");
@@ -194,20 +193,16 @@ public class SysMusicScoreAccompanimentServiceImpl extends BaseServiceImpl<Strin
 		record.setExamSongName(musicSheetApplication.getName());
 		record.setExamSongName(musicSheetApplication.getName());
 		record.setCategoriesName(musicSheetApplication.getMusicSheetCategoryName());
 		record.setCategoriesName(musicSheetApplication.getMusicSheetCategoryName());
 		record.setSpeed(musicSheetApplication.getPlaySpeed());
 		record.setSpeed(musicSheetApplication.getPlaySpeed());
-		record.setMetronomeMp3Url(sound.getAudioFileUrl());
-		record.setTrack(sound.getTrack());
-		record.setSubjectName(sound.getTrack());
+		record.setTrack(musicSheetApplication.getTrack());
+		record.setSubjectName(musicSheetApplication.getTrack());
 		record.setXmlUrl(musicSheetApplication.getXmlFileUrl());
 		record.setXmlUrl(musicSheetApplication.getXmlFileUrl());
 		record.setMidiUrl(musicSheetApplication.getMidiFileUrl());
 		record.setMidiUrl(musicSheetApplication.getMidiFileUrl());
 		record.setEnableEvaluation(musicSheetApplication.getIsEvaluated());
 		record.setEnableEvaluation(musicSheetApplication.getIsEvaluated());
 		record.setIsOpenMetronome(musicSheetApplication.getIsUseSystemBeat());
 		record.setIsOpenMetronome(musicSheetApplication.getIsUseSystemBeat());
-		List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = musicSheetApplication.getMusicSheetAccompanimentList();
-		if (CollectionUtils.isNotEmpty(accompanimentList)) {
-			record.setMetronomeUrl(accompanimentList.get(0).getAudioFileUrl());
-			record.setUrl(accompanimentList.get(0).getAudioFileUrl());
-		}
-		record.setMetronomeMp3Url(sound.getAudioFileUrl());
-		record.setMp3Url(sound.getAudioFileUrl());
+		record.setMetronomeUrl(musicSheetApplication.getUrl());
+		record.setUrl(musicSheetApplication.getUrl());
+		record.setMetronomeMp3Url(musicSheetApplication.getMp3Url());
+		record.setMp3Url(musicSheetApplication.getMp3Url());
 		record.setIsShowFingering(musicSheetApplication.getIsShowFingering());
 		record.setIsShowFingering(musicSheetApplication.getIsShowFingering());
 		return record;
 		return record;
 	}
 	}

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

@@ -42,10 +42,6 @@
 		<result column="rank_ids_" property="rankIds" />
 		<result column="rank_ids_" property="rankIds" />
 	</resultMap>
 	</resultMap>
 
 
-	<delete id="deleteBySongId">
-		UPDATE sys_music_score_accompaniment SET del_flag_ = 1,update_time_ = NOW() WHERE exam_song_id_ = #{id}
-	</delete>
-
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="SysMusicScoreAccompaniment" >
 	<select id="get" resultMap="SysMusicScoreAccompaniment" >
 		SELECT sesa.id_,sesa.exam_song_id_,sesa.subject_id_,CASE WHEN sesa.metronome_mp3_url_ IS NULL OR sesa.metronome_mp3_url_ = '' THEN sesa.mp3_url_ ELSE sesa.metronome_mp3_url_ END url_,sesa.speed_,
 		SELECT sesa.id_,sesa.exam_song_id_,sesa.subject_id_,CASE WHEN sesa.metronome_mp3_url_ IS NULL OR sesa.metronome_mp3_url_ = '' THEN sesa.mp3_url_ ELSE sesa.metronome_mp3_url_ END url_,sesa.speed_,
@@ -67,15 +63,6 @@
 		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_,track_)
 		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,create_time_,update_time_,is_open_metronome_,track_)
 		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{metronomeMp3Url},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome},#{track})
 		VALUES(#{examSongId},#{subjectId},#{mp3Url},#{metronomeMp3Url},#{speed},#{xmlUrl},NOW(),NOW(),#{isOpenMetronome},#{track})
 	</insert>
 	</insert>
-    <insert id="batchInsert">
-		INSERT INTO sys_music_score_accompaniment (exam_song_id_,subject_id_,mp3_url_,metronome_mp3_url_,speed_,xml_url_,
-		                                           create_time_,update_time_,is_show_fingering_,memo_,is_open_metronome_,track_)
-		VALUES
-		<foreach collection="sysMusicScoreAccompaniments" item="item"  separator=",">
-			(#{sysMusicScoreId},#{item.subjectId},#{item.mp3Url},#{item.metronomeMp3Url},#{item.speed},
-			 #{item.xmlUrl},NOW(),NOW(),#{item.isShowFingering},#{item.memo},#{item.isOpenMetronome},#{item.track})
-		</foreach>
-	</insert>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment">
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment">
@@ -103,39 +90,6 @@
 			mp3_url_ = #{mp3Url},metronome_mp3_url_ = #{metronomeMp3Url}, update_time_ = NOW()
 			mp3_url_ = #{mp3Url},metronome_mp3_url_ = #{metronomeMp3Url}, update_time_ = NOW()
 	</set>WHERE id_ = #{id}
 	</set>WHERE id_ = #{id}
 	</update>
 	</update>
-	<update id="batchDel">
-		UPDATE sys_music_score_accompaniment SET del_flag_ = 1,update_time_ = NOW() WHERE id_ IN
-		<foreach collection="delExamSongAccompanimentIds" item="item" open="(" close=")" separator=",">
-			#{item}
-		</foreach>
-	</update>
-	<update id="batchUpdate">
-		<foreach collection="sysMusicScoreAccompaniments" item="item" separator=";">
-			UPDATE sys_music_score_accompaniment
-			<set>
-				<if test="item.isShowFingering != null">
-					is_show_fingering_ = #{item.isShowFingering},
-				</if>
-				<if test="isOpenMetronome != null">
-					is_open_metronome_ = #{isOpenMetronome},
-				</if>
-				<if test="item.memo != null">
-					memo_ = #{item.memo},
-				</if>
-				<if test="item.speed != null">
-					speed_ = #{item.speed},
-				</if>
-				<if test="item.examSongId != null">
-					exam_song_id_ = #{item.examSongId},
-				</if>
-				<if test="item.track != null">
-					track_ = #{item.track},
-				</if>
-				subject_id_ = #{item.subjectId},xml_url_ = #{item.xmlUrl},metronome_mp3_url_ = #{item.metronomeMp3Url},
-				mp3_url_ = #{item.mp3Url}, update_time_ = NOW()
-			</set> WHERE id_ = #{item.id}
-		</foreach>
-	</update>
 
 
 	<!-- 根据主键删除一条记录 -->
 	<!-- 根据主键删除一条记录 -->
 	<update id="delete" >
 	<update id="delete" >

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

@@ -129,10 +129,8 @@
 
 
 	<!-- 全查询 -->
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="SysMusicScore">
 	<select id="findAll" resultMap="SysMusicScore">
-		SELECT ses.*,su.real_name_ create_user_name_,smsc.name_ categories_name_,smsc.id_ categories_id_,
-		smsa.mp3_url_ accompaniment_url_,smsa.metronome_mp3_url_ accompaniment_metronome_url_,smsa.is_open_metronome_,smsa.subject_id_,smsa.xml_url_
+		SELECT ses.*,su.real_name_ create_user_name_,smsc.name_ categories_name_,smsc.id_ categories_id_
 		FROM sys_music_score ses
 		FROM sys_music_score ses
-		LEFT JOIN sys_music_score_accompaniment smsa ON smsa.exam_song_id_ = ses.id_
 		LEFT JOIN sys_user su ON ses.create_user_id_ = su.id_
 		LEFT JOIN sys_user su ON ses.create_user_id_ = su.id_
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		<include refid="queryPageSql"/>
 		<include refid="queryPageSql"/>
@@ -142,11 +140,8 @@
 
 
 	<!-- 分页查询 -->
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysMusicScore" parameterType="map">
 	<select id="queryPage" resultMap="SysMusicScore" parameterType="map">
-		SELECT ses.*,su.real_name_ create_user_name_,smsc.name_ categories_name_,smsc.id_ categories_id_,
-		smsa.mp3_url_ accompaniment_url_,smsa.metronome_mp3_url_ accompaniment_metronome_url_,
-		smsa.is_open_metronome_,smsa.subject_id_,ses.subject_ids_,smsa.xml_url_
+		SELECT ses.*,su.real_name_ create_user_name_,smsc.name_ categories_name_,smsc.id_ categories_id_,ses.subject_ids_
 		FROM sys_music_score ses
 		FROM sys_music_score ses
-		LEFT JOIN sys_music_score_accompaniment smsa ON smsa.exam_song_id_ = ses.id_
 		LEFT JOIN sys_user su ON ses.create_user_id_ = su.id_
 		LEFT JOIN sys_user su ON ses.create_user_id_ = su.id_
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		<include refid="queryPageSql"/>
 		<include refid="queryPageSql"/>
@@ -159,7 +154,6 @@
 	<select id="queryCount" resultType="int">
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(DISTINCT ses.id_) FROM sys_music_score ses
 		SELECT COUNT(DISTINCT ses.id_) FROM sys_music_score ses
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
 		LEFT JOIN sys_music_score_categories smsc ON smsc.id_ = ses.music_score_categories_id_
-		LEFT JOIN sys_music_score_accompaniment smsa ON smsa.exam_song_id_ = ses.id_
 		<include refid="queryPageSql"/>
 		<include refid="queryPageSql"/>
 	</select>
 	</select>
     <select id="findByIds" resultMap="SysMusicScore">
     <select id="findByIds" resultMap="SysMusicScore">

+ 6 - 2
mec-im/src/main/java/com/ym/pojo/RoomResult.java

@@ -2,18 +2,21 @@ package com.ym.pojo;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.microsvc.toolkit.middleware.rtc.message.RTCRoomConfig;
 import com.microsvc.toolkit.middleware.rtc.message.RTCRoomConfig;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentMusicScore;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentMusicScore;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -107,8 +110,9 @@ public class RoomResult {
             result.setHandUpOn(member.isHand());
             result.setHandUpOn(member.isHand());
             result.setHeadUrl(member.getHeadUrl());
             result.setHeadUrl(member.getHeadUrl());
             result.setPlayMidiJson(JSONObject.parseObject(midiMap.get(Integer.parseInt(member.getUid())),CustomMessage.class));
             result.setPlayMidiJson(JSONObject.parseObject(midiMap.get(Integer.parseInt(member.getUid())),CustomMessage.class));
-            if(scheduleStudentMusicScores != null && scheduleStudentMusicScores.size() > 0){
-                result.setScheduleStudentMusicScores(scheduleStudentMusicScores.stream().filter(e->e.getUserId().equals(Integer.parseInt(result.getUserId()))).collect(Collectors.toList()));
+            if(CollectionUtils.isNotEmpty(scheduleStudentMusicScores)){
+                result.setScheduleStudentMusicScores(scheduleStudentMusicScores.stream()
+                        .filter(e->e.getUserId().equals(Integer.parseInt(result.getUserId()))).collect(Collectors.toList()));
             }
             }
             ExamSongDownloadData examSongDownloadData;
             ExamSongDownloadData examSongDownloadData;
             String json = examSongMap.get(Integer.parseInt(member.getUid()));
             String json = examSongMap.get(Integer.parseInt(member.getUid()));

+ 45 - 33
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -6,8 +6,6 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Maps;
-import com.microsvc.toolkit.common.response.paging.PageInfo;
-import com.microsvc.toolkit.common.response.template.R;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginContext;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginContext;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginService;
 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginService;
 import com.microsvc.toolkit.middleware.rtc.enums.EMemberAction;
 import com.microsvc.toolkit.middleware.rtc.enums.EMemberAction;
@@ -601,8 +599,10 @@ public class RoomServiceImpl implements RoomService {
             }
             }
         }
         }
         //已下载的伴奏列表
         //已下载的伴奏列表
-        if (scheduleStudentMusicScores != null && scheduleStudentMusicScores.size() > 0) {
-            List<CourseScheduleStudentMusicScore> musicScores = scheduleStudentMusicScores.stream().filter(e -> e.getUserId().equals(sysUser.getId())).collect(Collectors.toList());
+        this.initCourseScheduleStudentMusicScore(scheduleStudentMusicScores);
+        if (CollectionUtils.isNotEmpty(scheduleStudentMusicScores)) {
+            List<CourseScheduleStudentMusicScore> musicScores = scheduleStudentMusicScores.stream()
+                    .filter(e -> e.getUserId().equals(sysUser.getId())).collect(Collectors.toList());
             String toJSONString = JSON.toJSONString(musicScores, SerializerFeature.DisableCircularReferenceDetect);
             String toJSONString = JSON.toJSONString(musicScores, SerializerFeature.DisableCircularReferenceDetect);
             List<CourseScheduleStudentMusicScore> lists = JSON.parseArray(toJSONString, CourseScheduleStudentMusicScore.class);
             List<CourseScheduleStudentMusicScore> lists = JSON.parseArray(toJSONString, CourseScheduleStudentMusicScore.class);
             userResult.setScheduleStudentMusicScores(lists);
             userResult.setScheduleStudentMusicScores(lists);
@@ -642,17 +642,8 @@ public class RoomServiceImpl implements RoomService {
             Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
             Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
             Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, courseId.toString()));
             Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, courseId.toString()));
             Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, courseId.toString()));
             Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, courseId.toString()));
+            this.initCourseScheduleStudentMusicScore(scheduleStudentMusicScores);
             roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
             roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
-
-            // 全员静音状态开启
-            /*if (muteAll && TencentCloudRTCPlugin.PLUGIN_NAME.equals(courseSchedule.getServiceProvider())) {
-                for (RoomResult.MemberResult item : roomResult.getMembers()) {
-                    // 重置学生用户当前静音状态
-                    if (RoleStudent.getValue() == item.getRole()) {
-                        item.setMicrophone(false);
-                    }
-                }
-            }*/
         }
         }
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
         if (room != null) {
         if (room != null) {
@@ -674,6 +665,27 @@ public class RoomServiceImpl implements RoomService {
         businessLogger.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
         businessLogger.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
     }
     }
 
 
+    private void initCourseScheduleStudentMusicScore(List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores) {
+        if(CollectionUtils.isEmpty(scheduleStudentMusicScores)){
+            return;
+        }
+        List<Long> musicSheetSoundIds = scheduleStudentMusicScores.stream().map(e->Long.parseLong(e.getMusicScoreAccompanimentId())).collect(Collectors.toList());
+        List<CbsMusicSheetWrapper.MusicSheetAccApplication> sheetApplications = this.getSheetApplications(musicSheetSoundIds);
+        Map<Long, CbsMusicSheetWrapper.MusicSheetAccApplication> sheetApplicationMap = sheetApplications.stream()
+                .collect(Collectors.toMap(CbsMusicSheetWrapper.MusicSheetAccApplication::getId, Function.identity()));
+        for (CourseScheduleStudentMusicScore studentMusicScore : scheduleStudentMusicScores) {
+            CbsMusicSheetWrapper.MusicSheetAccApplication sheetApplication =
+                    sheetApplicationMap.get(Long.parseLong(studentMusicScore.getMusicScoreAccompanimentId()));
+            if(sheetApplication == null) {
+                continue;
+            }
+            studentMusicScore.setMusicScoreName(sheetApplication.getName());
+            studentMusicScore.setMp3Url(sheetApplication.getMp3Url());
+            studentMusicScore.setUrl(sheetApplication.getUrl());
+            courseScheduleStudentMusicScoreDao.update(studentMusicScore);
+        }
+    }
+
     private void joinImGroup(String roomId, Integer actualTeacherId, CourseSchedule courseSchedule) throws Exception {
     private void joinImGroup(String roomId, Integer actualTeacherId, CourseSchedule courseSchedule) throws Exception {
 
 
         String joinImGroupKey = "joinImGroup:" + roomId;
         String joinImGroupKey = "joinImGroup:" + roomId;
@@ -2225,6 +2237,7 @@ public class RoomServiceImpl implements RoomService {
             Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
             Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
             Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, roomId.substring(1)));
             Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, roomId.substring(1)));
             Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, roomId.substring(1)));
             Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, roomId.substring(1)));
+            this.initCourseScheduleStudentMusicScore(scheduleStudentMusicScores);
             roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
             roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
 
 
             // 全员静音开启状态
             // 全员静音开启状态
@@ -2704,22 +2717,26 @@ public class RoomServiceImpl implements RoomService {
         courseScheduleStudentPaymentDao.adjustPlayMidi(Long.parseLong(roomId.substring(1)), playMidiMessageData.getUserId(), content);
         courseScheduleStudentPaymentDao.adjustPlayMidi(Long.parseLong(roomId.substring(1)), playMidiMessageData.getUserId(), content);
     }
     }
 
 
-    private CbsMusicSheetWrapper.MusicSheetApplication getSheetApplication(String musicSheetSoundId){
+    private CbsMusicSheetWrapper.MusicSheetAccApplication getSheetApplication(String musicSheetSoundId){
         CbsMusicSheetWrapper.MusicSheetApplicationQuery query = sysMusicScoreService.getMusicSheetApplicationQuery();
         CbsMusicSheetWrapper.MusicSheetApplicationQuery query = sysMusicScoreService.getMusicSheetApplicationQuery();
         query.setRows(1);
         query.setRows(1);
         query.setMusicSheetSoundId(Long.parseLong(musicSheetSoundId));
         query.setMusicSheetSoundId(Long.parseLong(musicSheetSoundId));
-        List<CbsMusicSheetWrapper.MusicSheetApplication> applications = sysMusicScoreService.queryCbsMusicSheetApplication(query);
+        List<CbsMusicSheetWrapper.MusicSheetAccApplication> applications = sysMusicScoreService.queryCbsMusicSheetSoundApplication(query).getRows();
         if (CollectionUtils.isEmpty(applications)) {
         if (CollectionUtils.isEmpty(applications)) {
             throw new BizException("曲目信息不存在");
             throw new BizException("曲目信息不存在");
         }
         }
-        CbsMusicSheetWrapper.MusicSheetApplication sheetApplication = applications.get(0);
-        if (CollectionUtils.isEmpty(sheetApplication.getMusicSheetSoundList())) {
-            throw new BizException("曲目原音信息不存在");
-        }
-        if (CollectionUtils.isEmpty(sheetApplication.getMusicSheetAccompanimentList())) {
-            throw new BizException("曲目伴奏信息不存在");
+        return applications.get(0);
+    }
+
+    private List<CbsMusicSheetWrapper.MusicSheetAccApplication> getSheetApplications(List<Long> musicSheetSoundIds){
+        CbsMusicSheetWrapper.MusicSheetApplicationQuery query = sysMusicScoreService.getMusicSheetApplicationQuery();
+        query.setRows(musicSheetSoundIds.size());
+        query.setMusicSheetSoundIds(musicSheetSoundIds);
+        List<CbsMusicSheetWrapper.MusicSheetAccApplication> applications = sysMusicScoreService.queryCbsMusicSheetSoundApplication(query).getRows();
+        if (CollectionUtils.isEmpty(applications)) {
+            throw new BizException("曲目信息不存在");
         }
         }
-        return sheetApplication;
+        return applications;
     }
     }
 
 
     @Override
     @Override
@@ -2732,9 +2749,7 @@ public class RoomServiceImpl implements RoomService {
                 courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(musicScoreData.getMusicScoreAccompanimentId(),
                 courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(musicScoreData.getMusicScoreAccompanimentId(),
                         courseScheduleId, null, null, 0);
                         courseScheduleId, null, null, 0);
         //获取曲目信息
         //获取曲目信息
-        CbsMusicSheetWrapper.MusicSheetApplication sheetApplication = this.getSheetApplication(musicScoreData.getMusicScoreAccompanimentId());
-        //获取曲目原音信息
-        List<CbsMusicSheetWrapper.MusicSheetSound> soundList = sheetApplication.getMusicSheetSoundList();
+        CbsMusicSheetWrapper.MusicSheetAccApplication sheetApplication = this.getSheetApplication(musicScoreData.getMusicScoreAccompanimentId());
         if (scheduleStudentMusicScores.size() == 0) {
         if (scheduleStudentMusicScores.size() == 0) {
             //第一次下载,生成数据
             //第一次下载,生成数据
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
@@ -2756,8 +2771,7 @@ public class RoomServiceImpl implements RoomService {
             scheduleStudentMusicScores.add(musicScore);
             scheduleStudentMusicScores.add(musicScore);
             courseScheduleStudentMusicScoreDao.batchInsert(scheduleStudentMusicScores);
             courseScheduleStudentMusicScoreDao.batchInsert(scheduleStudentMusicScores);
         }
         }
-        CbsMusicSheetWrapper.MusicSheetSound sheetSound = soundList.get(0);
-        SysMusicScoreAccompaniment accompaniment = sysMusicScoreAccompanimentService.initSysMusicScoreAccompaniment(sheetApplication, sheetSound);
+        SysMusicScoreAccompaniment accompaniment = sysMusicScoreAccompanimentService.initSysMusicScoreAccompaniment(sheetApplication);
         accompaniment.setId(musicScoreData.getMusicScoreAccompanimentId());
         accompaniment.setId(musicScoreData.getMusicScoreAccompanimentId());
         MusicScoreMessage musicScoreMessage = JSON.parseObject(JSON.toJSONString(accompaniment), MusicScoreMessage.class);
         MusicScoreMessage musicScoreMessage = JSON.parseObject(JSON.toJSONString(accompaniment), MusicScoreMessage.class);
         // 发送消息
         // 发送消息
@@ -2844,13 +2858,11 @@ public class RoomServiceImpl implements RoomService {
             if (CollectionUtils.isEmpty(studentMusicScores)) {
             if (CollectionUtils.isEmpty(studentMusicScores)) {
                 throw new BizException("学员不存在此下载曲目");
                 throw new BizException("学员不存在此下载曲目");
             }
             }
-            CbsMusicSheetWrapper.MusicSheetApplication sheetApplication = this.getSheetApplication(accompanimentId);
+            CbsMusicSheetWrapper.MusicSheetAccApplication sheetApplication = this.getSheetApplication(accompanimentId);
             for (CourseScheduleStudentMusicScore studentMusicScore : studentMusicScores) {
             for (CourseScheduleStudentMusicScore studentMusicScore : studentMusicScores) {
                 studentMusicScore.setMusicScoreName(sheetApplication.getName());
                 studentMusicScore.setMusicScoreName(sheetApplication.getName());
-                CbsMusicSheetWrapper.MusicSheetSound sound = sheetApplication.getMusicSheetSoundList().get(0);
-                studentMusicScore.setMp3Url(sound.getAudioFileUrl());
-                CbsMusicSheetWrapper.MusicSheetAccompaniment accompaniment = sheetApplication.getMusicSheetAccompanimentList().get(0);
-                studentMusicScore.setUrl(accompaniment.getAudioFileUrl());
+                studentMusicScore.setMp3Url(sheetApplication.getMp3Url());
+                studentMusicScore.setUrl(sheetApplication.getUrl());
                 courseScheduleStudentMusicScoreDao.update(studentMusicScore);
                 courseScheduleStudentMusicScoreDao.update(studentMusicScore);
             }
             }
             CourseScheduleStudentMusicScore studentMusicScore = studentMusicScores.get(0);
             CourseScheduleStudentMusicScore studentMusicScore = studentMusicScores.get(0);