Spring boot kim's cafe/예약시스템

Springboot 예약내역 페이지 만들기!(1) with thymeleaf

디비드킴 2021. 7. 6. 14:16

이제 예약 내역 페이지를 만들 건데 

1. 예약시간이 지난 예약은 표시해주지 않는다

2. 히스토리를 같이 표시해준다

 

 

vo를 고쳐주자!

historyvo.java

추후 수정/삭제를 위해 몇 가지를 추가해주자!

@Column(name = "rid",nullable = false)

int rid;

 

@Column(name="email",nullable = false)

String email;

 

@Column(name = "seat",nullable = false)

String seat;

 

controller

controller.java

예약 내역 페이지에 갈 때 필요한 것들이다

reservationservice.getReservationByEmail(email)는 시간이 아직인 예약

historyservice.getHistories(email,page,totalpages)는 히스토리를 가져오는 함수

히스토리는 많이 쌓일 가능 성이 커서 페이징으로 가져오자

(추후   날짜별 예약을 받게 할 수 있게 된 후에 reservation도 페이징으로 가져오게 만들 것이다)

 

service

reservationservice.java

이거는 현재 미완성이다

이유는 예약시간이 지났을 때와 상관없이

모든 예약을 들고 오기 때문이다

 

service

historyservice.java

자 근데

int totalpages=0;

try {

int count=historydao.countByEmailNative(email);

totalpages=count/pagesize;

if(count%pagesize>0){

totalpages++;

}

return totalpages;

} catch (Exception e) {

e.printStackTrace();

}

return 0;

보면 이 함수는

댓글/게시물 등 여러 상황에서

쓰이고 있다 그러므로 유틸로 묶어 주도록 하겠다!

 

service

utillservice.java

훨씬 깔끔해진다

historyservice.java

service

historyservice.java

도 바꿔준다

 

아는데 여전히 불편하다

array=historydao.findByEmailNative(email,fisrt-1, end+1);

array=historydao.findByEmailNative2(email);

는 공식만 제대로 알면 합칠 수 있는 건데 참...

fisrt=(page-1)*pagesize+1;

end=fisrt+pagesize-1;

얘도 유틸로 합쳐주자!

 

service

utillservice.java

사실 어차피 고쳐야 해서 의미는 없지만 이렇게 따로 빼주는 연습!

(괜한 짓 한 거 같다 ㅋㅋㅋ)

 

service

historyservice.java

 

dao

historydao.java

 

html

 

결과

자 근데 현재 2시 13분 즉 40번째 예약인

14시 거는 위에 표시되면 안 된다 다음번엔 그 작업을 해보자

 

아 맥북으로 오래 코딩하려니까 정신이 없다

모니터도 작아서 코드가 잘 써지고 있나 이런 생각도 들고

어서 집 가서 컴퓨터로 하고 싶다 ㅠㅠ