From 68a597ee5e3d6b14ff5d99e6b921f7e76ad08a2a Mon Sep 17 00:00:00 2001 From: Jinyoung-Kim96 Date: Tue, 19 May 2026 12:44:43 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20ACTIVE=20=EC=A0=84=ED=99=98=20?= =?UTF-8?q?=EC=8B=9C=20NPE=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../waiting/application/service/WaitingService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/michelet/waiting/application/service/WaitingService.java b/src/main/java/com/michelet/waiting/application/service/WaitingService.java index 0aad245..694b474 100644 --- a/src/main/java/com/michelet/waiting/application/service/WaitingService.java +++ b/src/main/java/com/michelet/waiting/application/service/WaitingService.java @@ -68,6 +68,12 @@ public WaitingResult enterWaiting(EnterWaitingCommand command) { command.restaurantId(), waiting.getToken().value() ); + if (position == null) { + Waiting updated = waitingRepository.findById(saved.getId()) + .orElseThrow(() -> new WaitingException(WaitingErrorCode.NOT_FOUND)); + return WaitingResult.of(updated); + } + return WaitingResult.of(saved, position); } catch (Exception e) { From 7b4cc045a42fa53595e32f5550a0c13f2e9cd595 Mon Sep 17 00:00:00 2001 From: Jinyoung-Kim96 Date: Tue, 19 May 2026 14:10:43 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20ACTIVE=20=EC=A0=84=ED=99=98=20?= =?UTF-8?q?=EC=8B=9C=20Redis=20=EC=9C=A0=EC=A0=80=20=ED=94=8C=EB=9E=98?= =?UTF-8?q?=EA=B7=B8=20=EC=A0=9C=EA=B1=B0=20=EC=8B=9C=EC=A0=90=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../waiting/application/service/WaitingService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/michelet/waiting/application/service/WaitingService.java b/src/main/java/com/michelet/waiting/application/service/WaitingService.java index 694b474..8a12098 100644 --- a/src/main/java/com/michelet/waiting/application/service/WaitingService.java +++ b/src/main/java/com/michelet/waiting/application/service/WaitingService.java @@ -144,6 +144,9 @@ public void completeWaiting(UUID waitingId){ waitingRepository.softDelete(waitingId, SYSTEM_UUID); waitingActivationPort.remove(waiting.getRestaurantId(), waiting.getToken().value()); + + // 예약 완료 후 재등록 가능하도록 유저 플래그 제거 + waitingActivationPort.removeUser(waiting.getRestaurantId(), waiting.getUserId()); } // 스케줄러 - N명씩 입장 허용 @@ -190,9 +193,6 @@ public void activateNextBatch(UUID restaurantId){ activeSaved = true; - // ACTIVE 전환 후 예약 완료 시 재등록 가능하도록 플래그 제거 - waitingActivationPort.removeUser(restaurantId, waiting.getUserId()); - // 3. 동일한 Outbox 인스턴스 PROCESSED 로 update outbox.markProcessed(LocalDateTime.now()); waitingOutboxRepository.update(outbox);