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);