[스프링 부트 쇼핑몰 프로젝트 with JPA] 15. 장바구니 조회
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. CartDetailDto 장바구니 조회 페이지에 전달할 Dto 클래스 CartItem 객체와 비슷함. 따라서 List 에 담겨서 전달됨 @Getter @Setter public class CartDetailDto { private Long cartItemId; // 장바구니 상품 아이디 private String itemNm; // 상품명 private int price; // 상품 금액 private int count; // 수량 private String imgUrl; // 상품 이미지 경로 public CartDetailDto(Long cartItemId, String itemNm, int price, int co..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 14. 장바구니 담기
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. CartItemDto 제품 상세 페이지에서 장바구니에 담을 상품 Id 와 수량을 전달 받을 DTO 객체 생성 @Getter @Setter public class CartItemDto { @NotNull(message = "상품 아이디는 필수 입력 값입니다.") private Long itemId; // 상품 아이디 @Min(value = 1, message = "최소 1개 이상 담아주세요.") private int count; // 상품 수량 } 2. Cart Entity 회원 한 명당 1개의 장바구니를 갖으므로 처음 장바구니에 상품을 담을 때는 해당 회원의 장바구니를 생성해야함 멤버를 파라미터로 받아서 장바구니를 생성..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 13. 주문 취소
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. Item Entity 주문 취소 시 상품의 재고를 상품 주문 수량만큼 다시 더해주는 addStock() 메소드를 추가함 // 상품 재고 증가시키는 메소드 public void addStock(int stockNumber) { this.stockNumber += stockNumber; } 2. OrderItem Entity Item.addStock() 메소드를 호출하는 cancel 메소드 추가 주문 상품 수량을 파라미터로 넘김 // 주문 취소시 주문 수량만큼 상품 재고 증가 public void cancel() { this.getItem().addStock(count); } 3. Order Entity 주문 상태를 CAN..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 12. 구매 내역 조회
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. OrderItemDto 주문 상품 정보를 담을 OrderItemDto 객체 생성 주문 상품 정보 (상품, 수량)와 상품의 이미지를 담고 있음 @Getter @Setter public class OrderItemDto { private String itemNm; // 상품 이름 private int count; // 주문 수량 private int orderPrice; // 주문 가격 private String imgUrl; // 상품 이미지 public OrderItemDto(OrderItem orderItem, String imgUrl) { this.itemNm = orderItem.getItem().getItemNm..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 11. 상품 주문
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 재고 부족 Exception 상품 주문 수량보다 현재 재고의 수가 적을 때 발생시킬 Exception 정의 에러 메시지를 지정할 수 있는 RuntimeException 클래스 구현 // 상품 주문 수량보다 현재 재고의 수가 적을 때 발생시킬 Exception public class OutOfStockException extends RuntimeException { public OutOfStockException(String message) { super(message); } } 2. 상품 재고 변경 (기존 재고 - 주문 수량 재고) 로 stockNumber 수정 만약 0 보다 작다면 재고가 부족한 것이므로 Exce..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 10. 상세페이지
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. ItemController 추가 상품 수정 페이지에서 사용했던 ItemDetail 메소드를 그대로 사용하여 상품 조회 메소드 오버로딩은 파라미터의 순서가 달라도 적용이 됨 // 아이템 상세 페이지 @GetMapping("/item/{itemId}") public String itemDetail(Model model, @PathVariable("itemId") Long itemId) { ItemFormDto itemFormDto= itemService.getItemDetail(itemId); model.addAttribute("item", itemFormDto); return "item/itemDetail"; } 2. 제..