|  | @@ -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);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //校验用户是否提前进入教室
 |