Browse Source

网络教室伴奏

zouxuan 4 years ago
parent
commit
d7c33587c0

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentMusicScoreDao.java

@@ -23,7 +23,7 @@ public interface CourseScheduleStudentMusicScoreDao extends BaseDAO<Integer, Cou
      * @param scheduleId
      * @param userId
      */
-    void closePlayStatus(@Param("scheduleId") long scheduleId, @Param("userId") int userId, @Param("musicScoreAccompanimentId") Integer musicScoreAccompanimentId);
+    void closePlayStatus(@Param("scheduleId") long scheduleId, @Param("userId") Integer userId, @Param("musicScoreAccompanimentId") Integer musicScoreAccompanimentId);
 
     /**
      * 开启原音播放

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

@@ -81,10 +81,13 @@
     </update>
     <update id="closePlayStatus">
         UPDATE course_schedule_student_music_score SET play_status_ = 0,accompaniment_play_status_ = 0,update_time_ = NOW()
-        WHERE course_schedule_id_ = #{scheduleId} AND user_id_ = #{userId}
+        WHERE course_schedule_id_ = #{scheduleId}
         <if test="musicScoreAccompanimentId">
             AND music_score_accompaniment_id_ = #{musicScoreAccompanimentId}
         </if>
+        <if test="musicScoreAccompanimentId">
+            AND user_id_ = #{userId}
+        </if>
     </update>
     <update id="openPlayStatus">
         UPDATE course_schedule_student_music_score SET play_status_ = 1,update_time_ = NOW()

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

@@ -67,7 +67,7 @@ public class RoomResult {
             result.setHeadUrl(member.getHeadUrl());
             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() == Integer.parseInt(result.getUserId())).collect(Collectors.toList()));
+                result.setScheduleStudentMusicScores(scheduleStudentMusicScores.stream().filter(e->e.getUserId().equals(Integer.parseInt(result.getUserId()))).collect(Collectors.toList()));
             }
             ExamSongDownloadData examSongDownloadData;
             String json = examSongMap.get(Integer.parseInt(member.getUid()));

+ 3 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -230,7 +230,7 @@ public class RoomServiceImpl implements RoomService {
         }
         //已下载的伴奏列表
         if(scheduleStudentMusicScores != null && scheduleStudentMusicScores.size() > 0){
-            userResult.setScheduleStudentMusicScores(scheduleStudentMusicScores.stream().filter(e->e.getUserId() == sysUser.getId()).collect(Collectors.toList()));
+            userResult.setScheduleStudentMusicScores(scheduleStudentMusicScores.stream().filter(e->e.getUserId().equals(sysUser.getId())).collect(Collectors.toList()));
         }
 
         userResult.setUserName(userName);
@@ -448,6 +448,7 @@ public class RoomServiceImpl implements RoomService {
         CourseSchedule courseSchedule = courseScheduleDao.get(firstCourseId.longValue());
         if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
             roleEnum = RoleTeacher;
+            courseScheduleStudentMusicScoreDao.closePlayStatus(courseSchedule.getId(),null,null);
         }else {
             roleEnum = RoleStudent;
         }
@@ -494,6 +495,7 @@ public class RoomServiceImpl implements RoomService {
             roomDao.deleteByRid(roomId);
             deleteWhiteboardByUser(roomId, userId);
             imHelper.dismiss(userId, roomId);
+            courseScheduleStudentMusicScoreDao.closePlayStatus(courseSchedule.getId(),null,null);
             log.info("leaveRoomSuccess dismiss the room: {},userId: {}", roomId,userId);
         } else {
             roomMemberDao.deleteUserByRidAndUid(roomId, userId);
@@ -1556,7 +1558,6 @@ public class RoomServiceImpl implements RoomService {
                 musicScore.setUserId(e);
                 scheduleStudentMusicScores.add(musicScore);
             });
-            //老师伴奏
             CourseScheduleStudentMusicScore musicScore = new CourseScheduleStudentMusicScore();
             musicScore.setMusicScoreAccompanimentId(accompaniment.getId());
             musicScore.setSpeed(accompaniment.getSpeed());