[스프링 부트 쇼핑몰 프로젝트 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. 제..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 9. 메인화면
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. MainItemDto 메인화면에 출력할 데이터를 위한 DTO 객체 사용자에게 보여질 내용만 포함하고 있음 (등록날짜, 수정날짜, 등록자 등 제외) import com.querydsl.core.annotations.QueryProjection; import lombok.Getter; import lombok.Setter; @Getter @Setter public class ItemMainDto { private Long id; private String itemNm; private String itemDetail; private String imgUrl; private Integer price; @QueryProjecti..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 8-2. [상품 관리] 상품 목록 페이지
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 목록 페이지 결과 화면 상품 목록 테이블 부분, 하단 페이지 부분, 검색 조건 부분 존재 2. 상품 목록 페이지 View "검색" 버튼을 클릭하면 조회할 페이지 번호를 다시 "0"으로 설정해서 조회해야함 페이지 번호를 전달 받아 form에 설정된 검색 조건 값들을 초기화하여 QueryString으로 보내는 page() 함수 상품 목록 테이블 부분 ${items} 변수는 Controller 에서 전달 받은 Page 객체 .getContent() 메소드를 이용하여 Page 객체의 content 부분을 추출 상품아이디 상품명 상태 등록자 등록일 하단 페이지 부분 페이지 객체의 페이지 index 는 0부터 시작, 페이지 ..