|  | @@ -65,13 +65,17 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -    public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId, UserRoleEnum userRole) throws Exception {
 | 
	
		
			
				|  |  | -        log.info("joinRoom params:courseScheduleId:{},userRole:{}",courseScheduleId,userRole);
 | 
	
		
			
				|  |  | +    public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId) throws Exception {
 | 
	
		
			
				|  |  |          Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 | 
	
		
			
				|  |  |                  map(SysUser::getId).
 | 
	
		
			
				|  |  |                  orElseThrow(()-> new BizException("请登录"));
 | 
	
		
			
				|  |  |          CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 | 
	
		
			
				|  |  |                  orElseThrow(()->new BizException("房间信息不存在"));
 | 
	
		
			
				|  |  | +        UserRoleEnum userRole = UserRoleEnum.STUDENT;
 | 
	
		
			
				|  |  | +        if(courseSchedule.getTeacherId().equals(userId)){
 | 
	
		
			
				|  |  | +            userRole = UserRoleEnum.TEACHER;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        log.info("joinRoom params:courseScheduleId:{},userRole:{},userId:{}",courseScheduleId,userRole,userId);
 | 
	
		
			
				|  |  |          BasicUserInfo sysUser = Optional.ofNullable(teacherDao.getBasicUserInfo(userId)).
 | 
	
		
			
				|  |  |                  orElseThrow(()-> new BizException("用户信息不存在"));
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
	
		
			
				|  | @@ -164,12 +168,19 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -    public void leaveRoom(String roomId,UserRoleEnum userRole) throws Exception {
 | 
	
		
			
				|  |  | +    public void leaveRoom(String roomId) throws Exception {
 | 
	
		
			
				|  |  |          Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 | 
	
		
			
				|  |  |                  map(SysUser::getId).
 | 
	
		
			
				|  |  |                  orElseThrow(()-> new BizException("请登录"));
 | 
	
		
			
				|  |  |          log.info("leaveRoom: roomId={}, userId={}", roomId, userId);
 | 
	
		
			
				|  |  |          long courseScheduleId = Long.parseLong(roomId);
 | 
	
		
			
				|  |  | +        Long teacherId = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 | 
	
		
			
				|  |  | +                map(CourseSchedule::getTeacherId).
 | 
	
		
			
				|  |  | +                orElseThrow(()->new BizException("房间信息不存在"));
 | 
	
		
			
				|  |  | +        UserRoleEnum userRole = UserRoleEnum.STUDENT;
 | 
	
		
			
				|  |  | +        if(teacherId.equals(userId)){
 | 
	
		
			
				|  |  | +            userRole = UserRoleEnum.TEACHER;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          if (userRole == UserRoleEnum.TEACHER){
 | 
	
		
			
				|  |  |              //如果老师退出房间,关闭伴奏
 | 
	
		
			
				|  |  |              courseScheduleStudentMusicSheetService.getDao().closePlayStatus(courseScheduleId,null);
 |