장바구니 상품 삭제 & 주문

Codren·2021년 10월 9일
0

Spring Boot 쇼핑몰

목록 보기
31/32

Section 1. 장바구니 상품 삭제

1. CartService

  • 장바구니 상품 번호를 파라미터로 받아서 삭제하는 로직 추가




2. CartController

  • 장바구니 상품 삭제 요청을 처리하는 Controller
  • 삭제 요청이므로 DeleteMapping 어노테이션 지정
  • 상품 삭제 요청을 하는 유저와 해당 장바구니 상품의 유저가 일치하는지 검증




3. 장바구니 상품 삭제 요청

  • 장바구니 페이지에서 상품의 X 버튼을 클릭하면 삭제 요청



Section 2. 장바구니 상품 주문

1. CartOrderDto

  • 장바구니 페이지에서 주문할 상품의 데이터를 위한 Dto
  • 자기 자신을 List로 가짐 (참고)




2. OrderService

  • 장바구니 페이지에서 전달 받은 구매 상품으로 주문을 생성하는 로직 추가
  • Order.createOrder() 메소드 호출




3. CartService

  • OrderDtoList 생성 및 OrderService.orders() 메소드 호출 로직 추가
  • 주문한 상품은 장바구니에서 제거하는 로직 추가




4. CartController

  • 장바구니 주문 상품이 로그인한 유저의 것이 맞는지 검증
  • CartService.orderCartItem() 메소드 호출




5. 장바구니 페이지 상품 주문

  • 자바스크립트의 Array 와 Object 를 이용하여 Json 데이터 전송 (참고)




6. 장바구니 상품 주문 동작 원리

  • 계층을 이동할 때는 Dto 객체로 데이터를 넘기고, 해당 계층에서 Dto 객체를 이용하여 Entity 객체를 조회, 해당 Entity 객체를 이용하여 자신의 로직을 수행

  • Controller
       ① CartOrderDto 에서 CartOrderList 를 가져온 뒤 cartService.orderCartItem() 메소드 수행

  • CartService
        ② cartOrderDto 에 존재하는 cartItemId 를 이용하여 CartItem 객체 조회
        ③ cartItem 에 존재하는 ItemId 와 count 값을 얻은 뒤에 이를 이용하여 OrderDto 객체 생성
        ④ OrderDtoList 를 orderService.orders() 메소드 파라미터로 넘겨 호출

  • OrderService
        ⑤ OrderDto 에 존재하는 ItemId 와 count 값을 얻은 뒤에 이를 이용하여 OrderItem 객체 생성
        ⑥ Order.createOrder() 메소드 호출하여 Order 객체 생성후 save
            - 이 때, 파라미터는 member, orderItemList

0개의 댓글