|  | @@ -47,6 +47,7 @@ import org.springframework.transaction.annotation.Propagation;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.concurrent.TimeUnit;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import static com.ym.pojo.RoleEnum.RoleStudent;
 | 
	
	
		
			
				|  | @@ -272,7 +273,11 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |              redisTemplate.delete(joinSuccessKey);
 | 
	
		
			
				|  |  |              return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        redisTemplate.opsForValue().set("joinRoomSuccess"+ roomId + userId,roomId);
 | 
	
		
			
				|  |  | +        String leaveSuccessKey = "leaveRoomSuccess"+ roomId + userId;
 | 
	
		
			
				|  |  | +        if(redisTemplate.hasKey(leaveSuccessKey)){
 | 
	
		
			
				|  |  | +            redisTemplate.delete(leaveSuccessKey);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        redisTemplate.opsForValue().set(joinSuccessKey,roomId,2l,TimeUnit.SECONDS);
 | 
	
		
			
				|  |  |          log.info("joinRoomSuccess : roomId={}, userId={}", roomId, userId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          RoleEnum roleEnum = RoleEnum.getEnumByValue(roomMember.getRole());
 | 
	
	
		
			
				|  | @@ -381,10 +386,17 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |          if(roomMember == null){
 | 
	
		
			
				|  |  |              return ;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        String leaveSuccessKey = "leaveRoomSuccess"+ roomId + userId;
 | 
	
		
			
				|  |  | +        if(redisTemplate.hasKey(leaveSuccessKey)){
 | 
	
		
			
				|  |  | +            redisTemplate.delete(leaveSuccessKey);
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          String joinSuccessKey = "joinRoomSuccess"+ roomId + userId;
 | 
	
		
			
				|  |  |          if(redisTemplate.hasKey(joinSuccessKey)){
 | 
	
		
			
				|  |  |              redisTemplate.delete(joinSuccessKey);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        redisTemplate.opsForValue().set(leaveSuccessKey,roomId,2,TimeUnit.SECONDS);
 | 
	
		
			
				|  |  | +        //记录
 | 
	
		
			
				|  |  |          log.info("leaveRoomSuccess: roomId={}, userId={}", roomId,userId);
 | 
	
		
			
				|  |  |          RoleEnum roleEnum = RoleEnum.getEnumByValue(roomMember.getRole());
 | 
	
		
			
				|  |  |          Integer firstCourseId = Integer.parseInt(roomId.substring(1));
 |