Skip to content

Commit 180045a

Browse files
authored
[COZY-328] fix: 방 참여 요청시 EXITED 상태인 경우 재사용 (#205)
1 parent 2acf136 commit 180045a

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/main/java/com/cozymate/cozymate_server/domain/room/service/RoomCommandService.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,16 +465,22 @@ public void requestToJoin(Long roomId, Long memberId) {
465465
throw new GeneralException(ErrorStatus._ROOM_ALREADY_EXISTS);
466466
}
467467

468-
Optional<Mate> existingMate = mateRepository.findByRoomIdAndMemberIdAndNotEntryStatus(
469-
roomId, memberId, EntryStatus.EXITED);
468+
Optional<Mate> existingMate = mateRepository.findByRoomIdAndMemberId(room.getId(), memberId);
470469
checkEntryStatus(existingMate);
471470

472471
if (room.getNumOfArrival() >= room.getMaxMateNum()) {
473472
throw new GeneralException(ErrorStatus._ROOM_FULL);
474473
}
475474

476-
Mate mate = MateConverter.toPending(room, member, false);
477-
mateRepository.save(mate);
475+
if (existingMate.isPresent()) {
476+
Mate mate = existingMate.get();
477+
mate.setEntryStatus(EntryStatus.PENDING);
478+
mate.setNotExit();
479+
mateRepository.save(mate);
480+
} else {
481+
Mate mate = MateConverter.toPending(room, member, false);
482+
mateRepository.save(mate);
483+
}
478484

479485
// 푸시 알림 코드
480486
Mate managerMate = mateRepository.findFetchByRoomAndIsRoomManager(room, true).orElseThrow(

0 commit comments

Comments
 (0)