Spring/실전! 스프링부트와 JPA 활용1

주문 도메인 개발

hyun-1200 2022. 3. 16. 17:43

1. 주문, 주문상품 엔티티 개발 : Order / OrderItem

1) Order 클래스에 추가하기 

1. 생성메서드 : createOrder ( Member, Delivery, OrderItem...) 

2. 주문취소메서드 : cancel()

  • 이미 배송완료된 상태이면, 취소불가
  • OrderStatus 취소로 변경
  • OrderItem에서 cancel호출 : 재고수량 원복하는 함수 

3. 조회로직 추가 : getTotalPrice()

  •  아이템 가격 * 아이템 갯수 반환 

 

2) OrderItem 클래스에 추가하기  

 

1. 생성메서드 : createOrderItem ( Item, orderPrice, count) 

  • 생성 시, 재고에서 주문수량만큼 차감하기 : item.removeStock

2. 비즈니스 로직 : cancel()

  • 취소 한 경우, 재고를 다시 원복해준다 (증가시켜줘야 한다.)

3. 조회 로직 : getTotalPrice()

  • 상품의 가격 * 상품의 갯수 를 반환한다. 

 

2. 주문 리포지토리 개발

repository> OrderRepository 클래스 생성