-
2021.05.25 기록장TIL 2021. 5. 25. 00:05
To Do
- 미션 구현
- 책 읽기
Done
- 미션 구현
Weekly goal
- 알고리즘
- 책 읽기
- 블로그 읽기
Feeling
비즈니스 예외는 어디서 터트려야 하는가?
오늘은 예약과 예약 취소를 구현했다.
예약의 로직 예외를 어디서 터트릴까 고민을 했다.
도메인에서 터트려도 되고 service에서 터트려도 되지만 코드의 일관성이 없는 것처럼 느껴졌다.
결론은 둘 다 에서 터트리기로 했다. 좀 더 도메인 예외에 가까워 보이는 것은 도메인에서 터트린다.
총금액이 맞지 않는 예외는 service에서
방의 수용인원 초과와 예약이 이미 있는 날에 대한 예외는 도메인에서 터트리기로 했다.
체크아웃 날에도 체크인을 가능해야 한다.
방마다 다르겠지만 우리의 서비스는 그렇게 하기로 했다.
자바 코드상에서는 이미 가능했다. 문제는 조회를 할 때는 이 조건을 만족하지 못했다.
위의 코드도 뭔가 반례가 있을 듯 하지만..
처음의 sql은 위 조건을 만족하지 못했다.
그래서 날짜를 조작하기로 했다.
처음부터 부등호로 판별을 했다면 쉽게 했을 텐데 between으로 했다가 좀 헤맸다.
이 부분은 너무 창피한 실수이다.
처음에는 100으로 계산을 해서 0.4가 아닌 0이 나왔다. 그래서 double로 계산을 하도록 변경했다..
'TIL' 카테고리의 다른 글
2021.05.27 기록장 (0) 2021.05.27 2021.05.26 기록장 (0) 2021.05.26 2021.05.24 기록장 (0) 2021.05.24 2021.05.23 기록장 (0) 2021.05.23 2021.05.22 기록장 (0) 2021.05.22