shangke 2 年之前
父节点
当前提交
9bc1c66ad4
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

+ 9 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -708,7 +708,15 @@ public class RoomServiceImpl implements RoomService {
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     @Override
     public void leaveRoomSuccess(String roomId, String userId, String deviceNum) throws Exception {
-        log.info("leaveRoomSuccess: roomId={}, userId={},deviceNum={}", roomId, userId, deviceNum);
+
+        // 用户退出房间多次触发调用判定
+        RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
+        if (Objects.isNull(roomMember)) {
+            log.error("leaveRoomSuccess: REPEATED_EXECUTION roomId={}, userId={}, deviceNum={}", roomId, userId, deviceNum);
+            return;
+        }
+        log.info("leaveRoomSuccess: roomId={}, userId={}, deviceNum={}", roomId, userId, deviceNum);
+
         Integer firstCourseId = Integer.parseInt(roomId.substring(1));
         RoleEnum roleEnum;
         int parseInt = Integer.parseInt(userId);