Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.nowait.common.exception.ErrorMessage;
import com.nowait.common.exception.ErrorResponse;
import com.nowait.discord.service.DiscordAlarmService;
import com.nowait.domaincorerdb.department.exception.DepartmentNotFoundException;
import com.nowait.domaincorerdb.order.exception.DepositorNameTooLongException;
import com.nowait.domaincorerdb.order.exception.DuplicateOrderException;
import com.nowait.domaincorerdb.order.exception.OrderItemsEmptyException;
Expand Down Expand Up @@ -240,6 +241,14 @@ public ErrorResponse storeWaitingDisabledException(StoreWaitingDisabledException
return new ErrorResponse(e.getMessage(), STORE_WAITING_DISABLED.getCode());
}

@ResponseStatus(NOT_FOUND)
@ExceptionHandler(DepartmentNotFoundException.class)
public ErrorResponse handleDepartmentNotFoundException(DepartmentNotFoundException e, WebRequest request) {
alarm(e, request);
log.error("handleDepartmentNotFoundException", e);
return new ErrorResponse(e.getMessage(), DEPARTMENT_NOT_FOUND.getCode());
}

@ResponseStatus(NOT_FOUND)
@ExceptionHandler(StoreNotFoundException.class)
public ErrorResponse handleStoreNotFoundException(StoreNotFoundException e, WebRequest request) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
@Builder
public class GetWaitingSizeResponse {
private Long storeId;
private String storeName;
private String departmentName;
private Long waitingCount;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
import com.nowait.applicationuser.waiting.event.AddWaitingRegisterEvent;
import com.nowait.applicationuser.waiting.redis.WaitingIdempotencyRepository;
import com.nowait.common.enums.ReservationStatus;
import com.nowait.domaincorerdb.department.entity.Department;
import com.nowait.domaincorerdb.department.exception.DepartmentNotFoundException;
import com.nowait.domaincorerdb.department.repository.DepartmentRepository;
import com.nowait.domaincorerdb.reservation.entity.Reservation;
import com.nowait.domaincorerdb.reservation.exception.ReservationNotFoundException;
import com.nowait.domaincorerdb.reservation.repository.ReservationRepository;
Expand All @@ -43,6 +46,7 @@ public class WaitingService {
private final WaitingRedisRepository waitingRedisRepository;
private final StoreRepository storeRepository;
private final UserRepository userRepository;
private final DepartmentRepository departmentRepository;
private final ApplicationEventPublisher eventPublisher;
private final WaitingIdempotencyRepository waitingIdempotencyRepository;

Expand Down Expand Up @@ -153,15 +157,20 @@ public GetWaitingSizeResponse getWaitingCount(CustomOAuth2User oAuth2User, Strin
Store store = storeRepository.findByPublicCodeAndDeletedFalse(publicCode)
.orElseThrow(StoreNotFoundException::new);

Long storeId = store.getStoreId();

User user = userRepository.findById(oAuth2User.getUserId())
.orElseThrow(UserNotFoundException::new);

Long storeId = store.getStoreId();
Department department = departmentRepository.findById(store.getDepartmentId())
.orElseThrow(DepartmentNotFoundException::new);

Long waitingCount = waitingRedisRepository.getWaitingCount(storeId);

return GetWaitingSizeResponse.builder()
.storeId(storeId)
.storeName(store.getName())
.departmentName(department.getName())
.waitingCount(waitingCount)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ public enum ErrorMessage {
STORE_PAYMENT_DELETE_UNAUTHORIZED("주점 결제 정보 삭제 권한이 없습니다.(슈퍼계정 or 주점 관리자만 가능)", "storePayment006"),
STORE_PAYMENT_ALREADY_EXISTS("이미 존재하는 주점 결제 정보입니다.", "storePayment007"),

// department
DEPARTMENT_NOT_FOUND("해당 학과/전공을 찾을 수 없습니다.", "department001"),

// Statistics
STATISTIC_VIEW_UNAUTHORIZED("통계 보기 권한이 없습니다.(슈퍼계정 or 주점 관리자만 가능)", "statistics001"),
MENU_COUNTER_UPDATE("메뉴 카운터 업데이트 실패", "statistics002"),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.nowait.domaincorerdb.department.exception;

import com.nowait.common.exception.ErrorMessage;

public class DepartmentNotFoundException extends RuntimeException {
public DepartmentNotFoundException() {
super(ErrorMessage.DEPARTMENT_NOT_FOUND.getMessage());
}
}