+추가 20210821
당일이 아닌 더 업그레이드 된
예약시스템은 여기있습니다
https://cordingmonster.tistory.com/138
마치기 전에
큰 버그 두 개가 있다
1.oauth 로그인 후 페이지 유실
2. 예약시간 불러오기 시스템에서 이전날 예약시간에 영향을 받음
2번을 고쳐보자!
자 현재 시스템은
서버에서 '시간'으로만
비교를 해서 예약 가능 시간을
보내준다
예를 들어
7/11일 6시 예약이 있어도
7/12일 이 되면 6시 자리는 예약이 가능해야 한다
하지만 현재는 시간으로만 비교해서 날짜에 상관없이
시간만 있으면 예약이 불가능했다
그래서 수정했다
service
LocalDateTime localDateTime=LocalDateTime.now().withHour(i).withMinute(0).withSecond(0).withNano(0);
if(utilservice.compareDate(alreadyTimes.get(ii).getReservationdatetime(), localDateTime))
두 부분이 크게 바뀐 건데
당일에 날짜에 영업시간을 만들어준다
LocalDateTime localDateTime=LocalDateTime.now().withHour(i).withMinute(0).withSecond(0).withNano(0);
당일 날짜에
LocalDateTime.now()
영업시간을 지정해주고
withHour(i)
분/초/나노는 0으로 세팅해준다
withMinute/withSecond/withNano
이미 존재하는 예약을 당일 예약 시간들과 비교해준다
if(utilservice.compareDate(alreadyTimes.get(ii).getReservationdatetime(), localDateTime))
utilservice.compareDate
LocalDateTime
진짜 편리한 기능을 많이 가지고 있다
오버 로딩 기능을 사용해서
같은 함수를 하나 더 만들었다
여기서 끝이 아니다
insert전 confrim 하는 함수가 있었다
역시 바꿔줘야 한다
바로 이 함수였는데
시간으로만 비교하던 함수를
if(r.getRequesthour()==requestTime.get(i)){
날짜로 역시 바꿔준다
LocalDateTime localDateTime=LocalDateTime.now().withHour(i).withMinute(0).withSecond(0).withNano(0);
if(utilservice.compareDate(r.getReservationdatetime(), localDateTime)){
그냥 같은 작업 두 번이다!
(자리를 선택하고 고민하다 시간을 선택했는데
그사이에 누군가 시간을 예약했을 수 있다
그래서 한 번 더 해주는 거다)
1번은 나중에 잡아보자!
결과
이전 날짜 예약을 db에 넣어보자
21/22/23이 있어도
다른 날이기 때문에
영향을 받지 않는다
예약 시도
20/21/23
당일 날짜 예약이기 때문에
예약 가능 시간에서 제외됐다!
끝!
+추가 20210821
당일이 아닌 더 업그레이드 된
예약시스템은 여기있습니다
https://cordingmonster.tistory.com/138
'Spring boot kim's cafe > 예약시스템' 카테고리의 다른 글
Springboot 예약변경 시스템!(1) with 아임포트 (0) | 2021.07.12 |
---|---|
Springboot 결제+예약(2) 부분취소/환불 하기 with 아임포트 (0) | 2021.07.09 |
Springboot 결제+예약!(1) 당일 예약 시스템 with 아임포트 ,j쿼리,HttpSession (0) | 2021.07.08 |
Springboot 결제시스템 만들기!(3) 결제취소 with 아임포트,HttpEntity,RestTemplate,HttpHeaders,Json (0) | 2021.07.08 |
Springboot 결제 시스템 만들기!(2) 결제정보 가져오기 with 아임포트,RestTemplate,HttpHeaders,Json,HttpEntity (4) | 2021.07.08 |