사랑하애오
article thumbnail

주문 취소하기

1. Item Entity

  • 주문 취소 시 상품의 재고를 상품 주문 수량만큼 다시 더해주는 addStock() 메소드를 추가함




2. OrderItem Entity

  • Item.addStock() 메소드를 호출하는 cancel 메소드 추가
  • 주문 상품 수량을 파라미터로 넘김




3. Order Entity

  • 주문 상태를 CANCEL 로 변경
  • 모든 OrderItem 객체의 cancel() 메소드를 수행




4. OrderService

  • 상품을 주문한 유저와 주문 취소를 요청한 유저가 동일한지 검증
  • orElseThrow 언제 해야되는 지??

 

  • 주문 취소 메소드 (변경 감지)




5. OrderController

  • 상품을 주문한 유저가 맞는 지 검증 후 orderService.cancelOrder() 메소드 수행




6. 주문 취소 테스트

  • 주문 객체를 저장한 뒤에 주문 취소를 수행하여 주문 상태가 "CANCEL" 이고 주문하기 전의 상품 수량과 일치하는지 테스트




7. 구매 내역 페이지 주문 취소

  • 해당 주문을 취소하도록 요청을 보내는 cancelOrder() 함수 Ajax 코드

 

  • "주문취소" 버튼을 클릭하면 페이지를 생성할 때 미리 설정해놨던 value = "${order.orderId}" 값을 파라미터로해서 cancelOrder() 함수 호출




8. 주문 취소결과

profile

사랑하애오

@사랑하애

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!