|
@@ -1,6 +1,5 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
@@ -8,7 +7,10 @@ import com.yonge.cooleshow.biz.dal.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.SysConfigDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.*;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseSchedule;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.IMApiResultInfo;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoom;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ImNetworkRoomErrorEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ImNetworkRoomMemberChangedEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.UserRoleEnum;
|
|
@@ -25,8 +27,10 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
/**
|
|
|
* 网络教室房间(ImNetworkRoom)表服务实现类
|
|
@@ -65,7 +69,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId, UserRoleEnum userRole) throws Exception {
|
|
|
log.info("joinRoom params:courseScheduleId:{},userRole:{}",courseScheduleId,userRole);
|
|
|
- CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getDao().findOne(courseScheduleId)).
|
|
|
+ CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getBaseMapper().selectById(courseScheduleId)).
|
|
|
orElseThrow(()-> new BizException("课程信息不存在"));
|
|
|
Date now = new Date();
|
|
|
courseSchedule.setUpdatedTime(now);
|
|
@@ -194,34 +198,34 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
Long courseScheduleId = musicSheetData.getCourseScheduleId();
|
|
|
log.info("pushDownloadMusicSheetMsg: roomId={}, userId={}", courseScheduleId, userId);
|
|
|
//获取已通知下载的伴奏列表
|
|
|
- List<CourseScheduleStudentMusicSheetResult> musicSheetResults = courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(musicSheetData.getMusicSheetAccompanimentId(),
|
|
|
- courseScheduleId, null, null, UserRoleEnum.STUDENT.ordinal());
|
|
|
- ImNetworkMusicSheetDownloadMessageContent content = musicSheetAccompanimentService.getDao().findMsgContentByAccompanimentId(musicSheetData.getMusicSheetAccompanimentId());
|
|
|
- if (musicSheetResults.size() == 0) {
|
|
|
- //第一次下载,生成数据
|
|
|
- List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentService.getDao().queryByCourseId(courseScheduleId);
|
|
|
- Set<Long> studentIds = courseScheduleStudentPayments.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
- studentIds.forEach(e -> {
|
|
|
- CourseScheduleStudentMusicSheetResult musicSheetResult = new CourseScheduleStudentMusicSheetResult();
|
|
|
- musicSheetResult.setMusicSheetAccompanimentId(accompaniment.getId());
|
|
|
- musicSheetResult.setSpeed(100);
|
|
|
- musicSheetResult.setCourseScheduleId(courseScheduleId);
|
|
|
- musicSheetResult.setUserId(e);
|
|
|
- musicSheetResult.setUserType(UserRoleEnum.STUDENT.ordinal());
|
|
|
- musicSheetResults.add(musicSheetResult);
|
|
|
- });
|
|
|
- CourseScheduleStudentMusicSheetResult musicSheetResult = new CourseScheduleStudentMusicSheetResult();
|
|
|
- musicSheetResult.setMusicSheetAccompanimentId(accompaniment.getId());
|
|
|
- musicSheetResult.setSpeed(100);
|
|
|
- musicSheetResult.setCourseScheduleId(courseScheduleId);
|
|
|
- musicSheetResult.setUserId(userId);
|
|
|
- musicSheetResult.setUserType(UserRoleEnum.TEACHER.ordinal());
|
|
|
- musicSheetResults.add(musicSheetResult);
|
|
|
- courseScheduleStudentMusicSheetService.getDao().batchInsert(musicSheetResults);
|
|
|
- }
|
|
|
- ImNetworkRoomMusicSheetData musicScoreMessage = JSON.parseObject(JSON.toJSONString(accompaniment), ImNetworkRoomMusicSheetData.class);
|
|
|
- ImNetworkMusicSheetDownloadMessage msg = new ImNetworkMusicSheetDownloadMessage(musicScoreMessage);
|
|
|
- imHelper.publishMessage(authUser.getId().toString(), roomId, msg, 0);
|
|
|
+// List<CourseScheduleStudentMusicSheetResult> musicSheetResults = courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(musicSheetData.getMusicSheetAccompanimentId(),
|
|
|
+// courseScheduleId, null, null, UserRoleEnum.STUDENT.ordinal());
|
|
|
+// ImNetworkMusicSheetDownloadMessageContent downloadMessageContent = musicSheetAccompanimentService.getDao().findMsgContentByAccompanimentId(musicSheetData.getMusicSheetAccompanimentId());
|
|
|
+// if (musicSheetResults.size() == 0) {
|
|
|
+// //第一次下载,生成数据
|
|
|
+// List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentService.getDao().queryByCourseId(courseScheduleId);
|
|
|
+// Set<Long> studentIds = courseScheduleStudentPayments.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
+// studentIds.forEach(e -> {
|
|
|
+// CourseScheduleStudentMusicSheetResult musicSheetResult = new CourseScheduleStudentMusicSheetResult();
|
|
|
+// musicSheetResult.setMusicSheetAccompanimentId(accompaniment.getId());
|
|
|
+// musicSheetResult.setSpeed(100);
|
|
|
+// musicSheetResult.setCourseScheduleId(courseScheduleId);
|
|
|
+// musicSheetResult.setUserId(e);
|
|
|
+// musicSheetResult.setUserType(UserRoleEnum.STUDENT.ordinal());
|
|
|
+// musicSheetResults.add(musicSheetResult);
|
|
|
+// });
|
|
|
+// CourseScheduleStudentMusicSheetResult musicSheetResult = new CourseScheduleStudentMusicSheetResult();
|
|
|
+// musicSheetResult.setMusicSheetAccompanimentId(accompaniment.getId());
|
|
|
+// musicSheetResult.setSpeed(100);
|
|
|
+// musicSheetResult.setCourseScheduleId(courseScheduleId);
|
|
|
+// musicSheetResult.setUserId(userId);
|
|
|
+// musicSheetResult.setUserType(UserRoleEnum.TEACHER.ordinal());
|
|
|
+// musicSheetResults.add(musicSheetResult);
|
|
|
+// courseScheduleStudentMusicSheetService.getDao().batchInsert(musicSheetResults);
|
|
|
+// }
|
|
|
+// ImNetworkRoomMusicSheetData musicScoreMessage = JSON.parseObject(JSON.toJSONString(accompaniment), ImNetworkRoomMusicSheetData.class);
|
|
|
+// ImNetworkMusicSheetDownloadMessage msg = new ImNetworkMusicSheetDownloadMessage(musicScoreMessage);
|
|
|
+// imHelper.publishMessage(authUser.getId().toString(), roomId, msg, 0);
|
|
|
}
|
|
|
|
|
|
//校验用户是否提前进入教室
|