-
좌석을 선택
-
CreateTicket 메서드 실행 ( eventId, date, grade, seatNo )
- CheckTicket 메서드 실행 x 입력한 좌석 수 만큼 반복
- 캐시에 Request 와 일치하는 값이 있는지 확인
- 있으면 예외 발생 ( 적절한 예외처리 논의 필요 )
- 없으면 Repository 에서 한번 더 확인
- 있으면 예외 발생
- 없으면 티켓 생성으로 이어짐
- 티켓 테이블에 티켓 추가 (TicketStatus = UNPAID)
- 캐시에 생성된 티켓 추가
-
결제 선택 → 결제 화면(결제정보 확인?, 결제 수단 선택?)
-
금액 확인해서 결제 성공시
- 예매자 잔금 빠짐
- TicketStatus = PAID
-
해당 Event 상태가 예매가능한지(event)