Przeglądaj źródła

Merge branch 'feature/0803-im' of http://git.dayaedu.com/yonge/cooleshow into feature/0803-im

liujc 2 lat temu
rodzic
commit
37ffca53ae

+ 10 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java

@@ -64,6 +64,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     @Resource
     private MusicSheetAccompanimentService musicSheetAccompanimentService;
     @Resource
+    private MusicSheetService musicSheetService;
+    @Resource
     private StudentAttendanceService studentAttendanceService;
     @Resource
     private TeacherAttendanceService teacherAttendanceService;
@@ -407,11 +409,17 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         // IM用户ID
         String imUserId = imGroupService.getImUserId(userId,musicSheetDto.getClientType());
         ImNetworkMusicSheetDownloadMessageContent content = JSON.parseObject(JSON.toJSONString(accompaniment), ImNetworkMusicSheetDownloadMessageContent.class);
-        content.setExamSongId(accompaniment.getMusicSheetId().intValue());
         if(StringUtils.isNotEmpty(accompaniment.getMusicSubjectId())){
             content.setSubjectId(Integer.parseInt(accompaniment.getMusicSubjectId()));
         }
-        content.setMp3Url(accompaniment.getAudioFileUrl());
+        if(accompaniment.getMusicSheetId() != null){
+            content.setExamSongId(accompaniment.getMusicSheetId().intValue());
+            MusicSheet musicSheet = musicSheetService.getById(accompaniment.getMusicSheetId());
+            if(musicSheet != null){
+                content.setMp3Url(musicSheet.getAudioFileUrl());
+                content.setUrl(musicSheet.getMetronomeUrl());
+            }
+        }
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         basicUserInfo.setImUserId(imUserId);
         CourseSchedule courseSchedule = courseScheduleService.getById(roomId);

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentMusicSheetDao.xml

@@ -54,12 +54,12 @@
     </update>
 
     <resultMap id="CourseScheduleStudentMusicSheetResult" type="com.yonge.cooleshow.biz.dal.dto.CourseScheduleStudentMusicSheetResult" extends="BaseResultMap">
-        <result property="url" column="audio_file_url_"/>
-        <result property="mp3Url" column="mp3_url_"/>
+        <result property="url" column="metronome_url_"/>
+        <result property="mp3Url" column="audio_file_url_"/>
         <result property="musicScoreName" column="music_sheet_name_"/>
     </resultMap>
     <select id="queryBySheetIdAndCourseId" resultMap="CourseScheduleStudentMusicSheetResult">
-        SELECT cssm.*,msa.audio_file_url_ mp3_url_,ms.audio_file_url_,ms.music_sheet_name_  FROM course_schedule_student_music_sheet cssm
+        SELECT cssm.*,ms.audio_file_url_,ms.metronome_url_,ms.music_sheet_name_  FROM course_schedule_student_music_sheet cssm
         LEFT JOIN music_sheet_accompaniment msa ON cssm.music_sheet_accompaniment_id_ = msa.id_
         LEFT JOIN music_sheet ms ON ms.id_ = msa.music_sheet_id_
         <where>

+ 1 - 1
cooleshow-user/user-classroom/src/main/java/com/yonge/cooleshow/classroom/config/ResourceServerConfig.java

@@ -31,7 +31,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				.and()
 				.authorizeRequests()
 				.antMatchers("/task/**").hasIpAddress("0.0.0.0/0")
-				.antMatchers("/v2/api-docs","/room/statusSync","/room/statusSyncTencent")
+				.antMatchers("/v2/api-docs","/room/statusSync","/room/tencentTtcCallback")
                 .permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 

+ 15 - 17
cooleshow-user/user-classroom/src/main/java/com/yonge/cooleshow/classroom/controller/RoomController.java

@@ -87,7 +87,7 @@ public class RoomController extends BaseController {
     }
 
 
-    @PostMapping(value = "/statusSyncTencent")
+    @PostMapping(value = "/tencentTtcCallback")
     public void statusSyncTencent(@RequestBody TencentData.TRTCEventInfo eventInfo) {
         try {
             if (Objects.isNull(eventInfo.getEventInfo())) {
@@ -98,22 +98,20 @@ public class RoomController extends BaseController {
             String roomId = eventInfo.getEventInfo().getRoomId();
 
             // 网络教室回调整消息
-            if (roomId.startsWith("S") || roomId.startsWith("I")) {
-                // 进出用户信息
-                String userId = eventInfo.getEventInfo().getUserId();
-                switch (ETencentTRTCCallbackCommand.get(eventInfo.getEventType())){
-                    case EVENT_TYPE_ENTER_ROOM:
-                        //成员加入
-                        imNetworkRoomService.joinRoomSuccess(roomId, userId);
-                        break;
-                    case EVENT_TYPE_EXIT_ROOM:
-                        //成员退出
-                        imNetworkRoomService.quitRoomSuccess(roomId, userId);
-                        break;
-                    default:
-                        // 默认事件,直接忽略
-                        break;
-                }
+            // 进出用户信息
+            String userId = eventInfo.getEventInfo().getUserId();
+            switch (ETencentTRTCCallbackCommand.get(eventInfo.getEventType())){
+                case EVENT_TYPE_ENTER_ROOM:
+                    //成员加入
+                    imNetworkRoomService.joinRoomSuccess(roomId, userId);
+                    break;
+                case EVENT_TYPE_EXIT_ROOM:
+                    //成员退出
+                    imNetworkRoomService.quitRoomSuccess(roomId, userId);
+                    break;
+                default:
+                    // 默认事件,直接忽略
+                    break;
             }
 
             // 直播课回调消息, roomId.startsWith("LIVE")