|
@@ -1,6 +1,7 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao;
|
|
@@ -113,6 +114,15 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
//定时销毁房间
|
|
|
//初始化房间用户信息
|
|
|
ImNetworkRoomMember roomMember = imNetworkRoomMemberService.initRoomMember(roomId,sysUser,userRole,!courseSchedule.getMuteAll());
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults =
|
|
|
+ courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(null, Long.parseLong(roomId), null, null, null);
|
|
|
+ if(!CollectionUtils.isEmpty(studentMusicSheetResults)){
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> musicScores = studentMusicSheetResults.stream().
|
|
|
+ filter(e -> e.getUserId().equals(userId)).collect(Collectors.toList());
|
|
|
+ String toJSONString = JSON.toJSONString(musicScores, SerializerFeature.DisableCircularReferenceDetect);
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> lists = JSON.parseArray(toJSONString, CourseScheduleStudentMusicSheetResult.class);
|
|
|
+ roomMember.setMusicSheetResults(lists);
|
|
|
+ }
|
|
|
joinRoomResult.setUserInfo(roomMember);
|
|
|
//获取教室剩余时长
|
|
|
joinRoomResult.setSurplusTime(DateUtil.secondsBetween(now, courseSchedule.getEndTime()));
|
|
@@ -177,6 +187,15 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
String imUserId = imGroupService.getImUserId(userId, userRole);
|
|
|
ImNetworkRoomMember roomMember = imNetworkRoomMemberService.lambdaQuery().eq(ImNetworkRoomMember::getRoomId,roomId)
|
|
|
.eq(ImNetworkRoomMember::getUserId,imUserId).last("LIMIT 1").one();
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults =
|
|
|
+ courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(null, Long.parseLong(roomId), null, null, null);
|
|
|
+ if(!CollectionUtils.isEmpty(studentMusicSheetResults)){
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> musicScores = studentMusicSheetResults.stream().
|
|
|
+ filter(e -> e.getUserId().equals(userId)).collect(Collectors.toList());
|
|
|
+ String toJSONString = JSON.toJSONString(musicScores, SerializerFeature.DisableCircularReferenceDetect);
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> lists = JSON.parseArray(toJSONString, CourseScheduleStudentMusicSheetResult.class);
|
|
|
+ roomMember.setMusicSheetResults(lists);
|
|
|
+ }
|
|
|
joinRoomResult.setUserInfo(roomMember);
|
|
|
//获取教室剩余时长
|
|
|
joinRoomResult.setSurplusTime(DateUtil.secondsBetween(new Date(), courseSchedule.getEndTime()));
|
|
@@ -349,11 +368,11 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
Long accompanimentId = Optional.of(musicSheetDto).map(ImNetworkMusicSheetDto::getMusicScoreAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
|
|
|
log.info("pushDownloadMusicSheetMsg: roomId:{} ,accompanimentId:{}", roomId,accompanimentId);
|
|
|
Long userId = sysUserService.getUserId();
|
|
|
- List<CourseScheduleStudentMusicSheetResult> scheduleStudentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().
|
|
|
- queryBySheetIdAndCourseId(accompanimentId, Long.parseLong(roomId), null, null, 0);
|
|
|
-
|
|
|
MusicSheetAccompaniment accompaniment = musicSheetAccompanimentService.lambdaQuery().eq(MusicSheetAccompaniment::getMusicSheetId,accompanimentId)
|
|
|
.last("LIMIT 1").one();
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> scheduleStudentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().
|
|
|
+ queryBySheetIdAndCourseId(accompaniment.getId(), Long.parseLong(roomId), null, null, 0);
|
|
|
+
|
|
|
if (scheduleStudentMusicSheetResults.isEmpty()) {
|
|
|
//第一次下载,生成数据
|
|
|
List<CourseScheduleStudentPayment> studentPayments =
|
|
@@ -361,14 +380,14 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
Set<Long> studentIds = studentPayments.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toSet());
|
|
|
studentIds.forEach(e -> {
|
|
|
CourseScheduleStudentMusicSheetResult musicSheet = new CourseScheduleStudentMusicSheetResult();
|
|
|
- musicSheet.setMusicScoreAccompanimentId(accompanimentId);
|
|
|
+ musicSheet.setMusicScoreAccompanimentId(accompaniment.getId());
|
|
|
musicSheet.setSpeed(accompaniment.getSpeed());
|
|
|
musicSheet.setCourseScheduleId(Long.parseLong(roomId));
|
|
|
musicSheet.setUserId(e);
|
|
|
scheduleStudentMusicSheetResults.add(musicSheet);
|
|
|
});
|
|
|
CourseScheduleStudentMusicSheetResult musicSheet = new CourseScheduleStudentMusicSheetResult();
|
|
|
- musicSheet.setMusicScoreAccompanimentId(accompanimentId);
|
|
|
+ musicSheet.setMusicScoreAccompanimentId(accompaniment.getId());
|
|
|
musicSheet.setSpeed(accompaniment.getSpeed());
|
|
|
musicSheet.setCourseScheduleId(Long.parseLong(roomId));
|
|
|
musicSheet.setUserId(userId);
|