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