-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] 구매자는 장바구니에 담긴 상품을 주문할 수 있다 #80
The head ref may contain hidden characters: "feature/69_Dr-KoKo_\uAD6C\uB9E4\uC790\uB294_\uC7A5\uBC14\uAD6C\uB2C8\uC5D0_\uB2F4\uAE34_\uC0C1\uD488\uC744_\uC8FC\uBB38\uD560_\uC218_\uC788\uB2E4"
Conversation
주문하기 전에 OrderValidator를 통해 검증한다.
동일한 가게에 대한 주문인지 검증
잔고가 부족하면 주문할 수 없습니다.
Long -> UUID
Composite 패턴으로 Validator를 Order 생성자에 넘긴다.
de6852b
to
cb53e35
Compare
수량을 반영하기 위해 MenuId를 가지는 CartItem으로 수정
상품의 가격은 변동될 수 있습니다. 카트에 담긴 상품의 총합은 (카트에 담긴 시점의 가격이 아니라) 변동된 가격을 기준으로 계산되어야 합니다.
Cart.getTotalPrice 삭제로 인한 테스트 코드 수정 Menu -> CartItem 으로 인한 테스트 코드 수정
주문 생성시 1)동일한 가게의 메뉴에 대한 주문인지 2)재고가 있는지 검증 후 생성한다.
주문 생성시 해당 메뉴의 재고를 삭감하는 서비스
주문은 같은 가게의 메뉴만 주문할 수 있다.
주문은 1)같은 가게의 메뉴에 대해 2)재고가 있고 3)결제할 포인트가 충분할 때 진행할 수 있다.
Menu의 현재 가격으로 OrderItem을 만들어주는 검증 서비스
주문 금액만큼 사용자의 계좌에서 차감하는 서비스
Optional.orElseThrow() 활용해서 if-else문 제거
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사소한 로그에 대한 추가 요구사항입니다!
src/main/java/camp/woowak/lab/customer/repository/CustomerRepository.java
Outdated
Show resolved
Hide resolved
조회 시도한 Customer의 id를 명시
src/main/java/camp/woowak/lab/order/service/OrderCreationService.java
Outdated
Show resolved
Hide resolved
현재 Menu의 가격을 조회하면서 최소 주문금액 이상을 주문하였는지 확인
현재 Menu의 가격을 조회하면서 최소 주문금액 이상을 주문하였는지 확인
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
궁금한점 리뷰 남겼습니다 :)
src/main/java/camp/woowak/lab/order/service/OrderCreationService.java
Outdated
Show resolved
Hide resolved
src/main/java/camp/woowak/lab/order/service/OrderCreationService.java
Outdated
Show resolved
Hide resolved
OrderCreationService에서 Store를 조회하던 로직 제거 SingleStoreOrderValidator에서 검증된 단일 Store를 반환
OrderCreationService에서 Store를 조회하던 로직 제거 SingleStoreOrderValidator에서 검증된 단일 Store를 반환
메뉴의 재고가 부족하면 NotEnoughStockExceptioh이 발생합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
궁금한 점 코멘트 남겼습니다!
일단 approve하고, 조금 더 디테일한 논의는 discussion에 기록해두겠습니다!
내부적으로 발생하는 RuntimeException에 대한 주석 추가
💡 다음 이슈를 해결했어요.
Issue Link - #69
검증 요구사항
기능 요구사항
💡 이슈를 처리하면서 추가된 코드가 있어요.
SingleStoreOrderValidator
,StockRequester
,PriceChecker
,WithdrawPointService
💡 이런 고민을 했어요.
✅ 셀프 체크리스트