isPaid
확인예약하기 페이지에서 날짜를 선택할 때, 이미 그 숙소에 대해 예약이 되어있는 날짜들은 비활성화 처리를 해야 하는데 어제까지 작성한 코드에는 isPaid
가 false
인 데이터들도 포함되어 있었다.
그래서 isPaid
가 true
인 데이터들의 체크인/체크아웃 날짜를 찾는 것으로 변경했다.
원래는 숙소 아이디만 가지고 모든 예약 내역을 불러온 후에 DTO의 of
메서드에서 isPaid
가 true
인 예약만 체크인 날짜부터 체크아웃 날짜까지의 날짜 리스트를 담는 것으로 작성했었다.
그런데 챗지피티한테 코드를 주면서 개선 방안에 대해 물어봤더니 repository에서 findAllByHotelIdAndIsPaidTrue
로 가져올 수 있다고 알려줘서 코드를 수정했다.
repository에서 바꿀 생각을 못했다...
처음부터 isPaid
가 true
인 내역만 가져오면 되니까 더 빠르고 간편한 방법인 것 같다.
그리고 애초에 날짜를 선택할 때 현재 날짜부터 선택할 수 있으므로 체크아웃 날짜가 오늘 이전인 날짜들은 굳이 가져올 필요가 없다.
그래서 그 부분도 수정했다. 이렇게 하면 필요없는 데이터까지 조회해서 찾아오는 낭비를 막을 수 있을 것이다.
[React]달력을 이용해 날짜 범위 정보얻기1 (react-date-range)
[React]달력을 이용해 날짜 범위 정보얻기2 (react-date-range)
React Date Range Picker component - MUI X
이런 블로그들을 참고해서 수정했다.