1. 장바구니 담기
1. CartItemDto
- 제품 상세 페이지에서 장바구니에 담을 상품 Id 와 수량을 전달 받을 DTO 객체 생성
2. Cart Entity
- 회원 한 명당 1개의 장바구니를 갖으므로 처음 장바구니에 상품을 담을 때는 해당 회원의 장바구니를 생성해야함
- 멤버를 파라미터로 받아서 장바구니를 생성하는 static 메소드 추가
3. CartItem Entity
- 장바구니에 담을 CartItem 객체를 생성하는 메소드 추가
- 장바구니에 담겨 있는 상품을 또 장바구니로 담았을 경우 수량을 증가시키는 메소드 추가
4. CartRepository
- 현재 로그인한 유저의 장바구니(Cart)를 찾기 위해서 쿼리 메소드 추가
5. CartItemRepository
- 상품이 장바구니에 들어있는지 조회하는 쿼리 메소드 추가
6. CartService 생성
- 유저의 장바구니가 존재하지 않다면 생성
- 장바구니 안에 해당 상품이 존재한다면 수량을 증가시키고, 그렇지 않다면 추가
7. CartController 생성
- 제품 상세 페이지에서 넘어온 CartItemDto 객체와 email 을 파라미터로 CartService.addCart() 메소드를 수행
8. 장바구니 담기 테스트
- 클래스 생성 및 DI
- 장바구니 담기 테스트
- Junit 테스트에서 DI 를 lombok 의 @RequiredArgsConstructor 어노테이션으로 지정할 시 에러 발생 (참고)
9. 제품 상세 페이지 장바구니 담기
- "장바구니 담기" 버튼을 누르면 수행되는 Ajax 코드
- "장바구니 담기" 버튼을 누르면 Ajax 코드 수행되게 설정
'JAVA > SpringBoot Shoppingmall' 카테고리의 다른 글
[VSCODE] SpringBoot 쇼핑몰(MVN) 장바구니 상품 삭제 & 주문 (0) | 2022.06.28 |
---|---|
[VSCODE] SpringBoot 쇼핑몰(MVN) 장바구니 조회 (0) | 2022.06.28 |
[VSCODE] SpringBoot 쇼핑몰(MVN) 주문 취소하기 (0) | 2022.06.28 |
[VSCODE] SpringBoot 쇼핑몰(MVN) 구매 내역 조회 (0) | 2022.06.28 |
[VSCODE] SpringBoot 쇼핑몰(MVN) 상품 주문 기능 구현 (0) | 2022.06.28 |