SWM-99-degree / jariBean

SWM 14th JariBean Project
0 stars 1 forks source link

[BUG] `cafe/{cafeId}/aftersearch`에서 Internal Server Error가 발생하는 버그 #211

Open LineNo2 opened 1 year ago

LineNo2 commented 1 year ago

✏️ 설명

cafe/{cafeId}/aftersearch에서 2023-10-31 06:00 ~ 2023-10-31 10:00에 대해 검색을 하면 500에러가 발생한다.

🌌 발생 Controller

🧾 상황 재현

cafe/{cafeId}/aftersearch에서 2023-10-31 06:00 ~ 2023-10-31 10:00에 대해 검색을 한다.

image

프론트에서 해당 카페에 상단 범위가 포함된 일시에 예약을 걸어놓은 상태이다.

💻 결과

500 에러가 발생한다.

psy-choi commented 1 year ago

성공

LocalDateTime startTime =cafe.getStartTime().withDayOfMonth(localDateTime.getDayOfMonth()).withMonth(localDateTime.getMonthValue()).withYear(localDateTime.getYear());

LocalDateTime endTime =cafe.getEndTime().withDayOfMonth(localDateTime.getDayOfMonth()).withMonth(localDateTime.getMonthValue()).withYear(localDateTime.getYear());

=>

LocalDateTime startTime =cafe.getStartTime().withMonth(localDateTime.getMonthValue()).withDayOfMonth(localDateTime.getDayOfMonth()).withYear(localDateTime.getYear());

LocalDateTime endTime =cafe.getEndTime().withMonth(localDateTime.getMonthValue()).withDayOfMonth(localDateTime.getDayOfMonth()).withYear(localDateTime.getYear());

실제로 데이터 적제가 9월 15일로 되어있었는데, 기존의 코드는 '날'부터 바꾸는 형식이었다. 즉, 9월 15일에서 31일로 바꾸는 형식으로 했으니 실제로 오류가 발생할수 밖에 없는 코드였다. 간단하게 설명하면 9월 15일 -> 9월 31일 -> 10월 31일의 과정을 거치게 된다. 그렇기 때문에 '월'부터 변경하는 코드가 우선적으로 진행되어서 9월 15일 -> 10월 15일 -> 10월 31일 로 변경하는 로직으로 구성되게 하였다.