기능예매내역확인 (예약확인) - 예약취소기능
소스코드JAVA - 이름규칙
먼저 할 일을 나눠보았다.
목록을 가져오는 부분은 swagger 를 보고 dto 모델을 생성하고 그 모델에 대한 쿼리문들을 짰다. 반복 학습의 힘일까, 데이터를 가져오는 부분은 금방 끝낼 수 있었다. 예매하기 부분은 강의에서 알려주신 것처럼 insert 는 쿼리문을 쓰지 않는 방법을 사용했다. ReservationInfoDao.java
ReservationDao.java
ReservationPriceDao.java
insert 를 할 때 MapSqlParameterSource 를 사용하여 .addValue 로 해당 테이블의 각 컬럼명에 해당하는 파라미터 값을 넣어주었다. reservation_info_price 에서 reservation_info 의 id 값을 필요로 하기 때문에 reservation_info 정보를 insert 한 뒤, 얻은 id 값을 reservation_info_price 에 insert 할 때 사용하였다. 예매일을 오늘로 부터 +1 ~ +5 일로 해야하는 부분은 ReservationDateResponse 라는 이름의 dto 를 따로 만들어서 controller 단에서 조작해주었다. 취소하는 부분은 update 로 cancel_flag 를 1로 간단히 바꿔줄 수 있었다. 헉 저번에 너무너무 꼼꼼하게 리뷰를 해주신 moons 리뷰어님께 다시 한 번 리뷰를 받게 되었다. 아싸 !!!!!!!!!!! 항상 가독성을 생각하면서 삼항 연산자를 사용할 때는 한 번 더 생각해야겠다. 리뷰어님 말씀대로 다 지워보았는데 훨씬 깔끔해보이고 좋았다. 정말 꼼꼼히 리뷰해주신게 느껴지는 부분이였습니다.... ㅠㅡㅜ 감사합니다 부끄럽지만 삼항 연산자 실수가 하나 또 있다. 리뷰어님 말씀이 백번 옳다. 앞으로 조심하자 ! 아래로 옮기고 나니 훨씬 보기도 좋고 찾아보기도 쉬운 느낌이였다. 기본값이 false 였다니... 리뷰어님 말씀대로 true 일 경우에만 사용하면 훨씬 가독성이 좋을 것 같다. (바로 싹 다 지웠습니당) 리뷰어님께서 중요한 부분을 콕 찝어 주셨다. 항상 어려웠던 변수명, 함수명 짓기..... 그래서 네이밍 규칙을 찾아보았고 프로젝트에 적용해 보았다. 이번 파트를 하면서 내가 실수했던 것들을 적어보았다. reservation service 에 insert 하는 부분에서 readOnly 를 true 로 해놓고 꽤 오랜시간 삽질을 했다...윽..... 예약 조회 쿼리에서 예매 가격 총합이 이상하게 나와서 쿼리문을 봤더니 group by 를 안했었다. cancel_flag 대신에 cancelYn 을 적어놓는 너무 창피한 실수.... this.jdbc = new NamedParameterJdbcTemplate(dataSource); 를 빼먹는 실수... 똑같은 실수를 두 번 반복하는 바보가 되진 않을 것이다. 정말 꼼꼼하게 리뷰해 주신 리뷰어님께 다시 한 번 감사드립니다 :D #부스트 코스 |