|
@@ -190,10 +190,14 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
log.info("quitRoomSuccess: roomId={}, userId={}", roomId, userId);
|
|
|
//防止幂等
|
|
|
StringBuffer sb = new StringBuffer(QUIT_ROOM_SUCCESS).append(roomId).append(userId);
|
|
|
- if (!redissonClient.getBucket(sb.toString()).setIfExists(userId,3, TimeUnit.SECONDS)){
|
|
|
+ if (!redissonClient.getBucket(sb.toString()).setIfExists(userId,1, TimeUnit.SECONDS)){
|
|
|
log.info("quitRoomSuccess break: roomId={}, userId={}", roomId, userId);
|
|
|
return;
|
|
|
}
|
|
|
+ ImNetworkRoomMember roomMember = imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, userId);
|
|
|
+ if(Objects.isNull(roomMember)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId))
|
|
|
.orElseThrow(()->new BizException("房间信息不存在"));
|
|
|
Long courseScheduleId = courseSchedule.getId();
|
|
@@ -202,7 +206,6 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
roleEnum = UserRoleEnum.TEACHER;
|
|
|
}
|
|
|
//记录考勤信息
|
|
|
-
|
|
|
ImNetworkRoom room = baseMapper.findByRoomId(roomId);
|
|
|
if (roleEnum == UserRoleEnum.TEACHER){
|
|
|
//如果老师退出房间,关闭伴奏
|
|
@@ -216,7 +219,6 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
//老师退出房间,初始化节拍器和伴奏播放配置
|
|
|
courseScheduleStudentPaymentService.adjustPlayMidiAndMusicSheet(courseSchedule.getId(), null, null,"");
|
|
|
}
|
|
|
- ImNetworkRoomMember roomMember = imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, userId);
|
|
|
int memberNum = imNetworkRoomMemberService.getDao().countByRoomId(roomId);
|
|
|
if (memberNum <= 1) {
|
|
|
imHelper.dismiss(userId.toString(), roomId);
|