| 
					
				 | 
			
			
				@@ -99,31 +99,15 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void joinRoomSuccess(RoomMember roomMember) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StudentExamApiDto examResult = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String roomId = roomMember.getRid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String userId = roomMember.getUid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long registrationId = roomMember.getExamRegistrationId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        log.info("joinRoomSuccess: roomId={}, userId={}", roomId,userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer anInt = Integer.parseInt(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(registrationId != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            examResult = eduUserFeignService.getExamResult(registrationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CheckUtils.checkArgument(roomId != null, "roomId must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("joinRoomSuccess: roomId={}, userId={}, registrationId={}", roomId,userId,registrationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Date curTime = DateTimeUtils.currentUTC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!roomDao.existsByRid(roomId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             saveRoom(roomId,curTime, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        RoleEnum roleEnum = RoleEnum.getEnumByValue(roomMember.getRole()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        log.info("user exist in the room: roomId={} , userId={}, use the last role={}", roomId, userId, roomMember.getRole()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roomMember.getRole()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        msg.setTimestamp(curTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        msg.setUserName(roomMember.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        msg.setCamera(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imHelper.publishMessage(userId, roomId, msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UserInfo userInfo = userDao.findByUid(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (userInfo == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             userInfo = new UserInfo(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -136,17 +120,22 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             userInfo.setUpdateDt(curTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             userDao.save(userInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Join, userId, roomMember.getRole()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.setTimestamp(curTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.setUserName(roomMember.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg.setCamera(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        imHelper.publishMessage(userId, roomId, msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.info("join success: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, roomMember.getRole()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(registrationId != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StudentExamApiDto examResult = eduUserFeignService.getExamResult(registrationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(examResult.getIsFinishedExam() == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 eduUserFeignService.updateFinishedExam(registrationId,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.publishMessage(eduUserFeignService.getPublishMessage(registrationId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             eduUserFeignService.upsetStudentAttendance(registrationId,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             imHelper.startRecord(roomId, registrationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            exitRoom(roomId,userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            eduUserFeignService.upsetTeacherAttendance(Long.parseLong(roomId),anInt,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            eduUserFeignService.upsetTeacherAttendance(Long.parseLong(roomId),Integer.parseInt(userId),0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             imHelper.configRecord(roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -248,11 +237,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         room.setName(roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         room.setCreateDt(createTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         room.setDisplay(display); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            roomDao.save(room); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            throw new BizException("当前线上课人数较多,请稍后重试"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        roomDao.save(room); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, boolean cameraOn, Date joinTime,Long examRegistrationId) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -277,10 +262,6 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long registrationId = roomMember.getExamRegistrationId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.info("leaveRoomSuccess: roomId={}, userId={}", roomId,userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CheckUtils.checkArgument(userId != null, "userId must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CheckUtils.checkArgument(roomId != null, "roomId must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        Room room = roomDao.findByRid(roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!roomDao.existsByRid(roomId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.error("room : {} not exist ", roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 |