먼저 Entity를 생성합니다. Entity는 Item, ITemImg로 상품과 상품 이미지를 저장할 수 있도록 생성하겠습니다. 또 item 등록시 정보를 전달 받을 ItemFormDto도 별도로 생성해 놓습니다. 기본적으로 아이템 이름, 가격, 재고, 상품 정보, (
Item과 ItemImg 엔티티를 가져오기 위해 ItemId를 전달 받습니다. try문으로 EntityNotFoundException 에러를 처리하고 만약 에러가 발생하면 model에 담아서 반환합니다.컨트롤러에서는 Dto를 서비스에 전달하는 역할과 에러 처리를 담당시
상품관리는 QueryDsl에 조건문을 줘서 원하는 값을 조회하는 방법을 쓰도록 하겠습니다. 조건은 상품 등록일, 상품 판매 상태, 상품명, 상품 등록자, 가격을 추가로 작성할 수 있습니다. 기본적으로 상품관리 페이지는 등록한 모든 상품을 보여주며 조건을 통해서 필터를
이번은 쇼핑몰 메인 화면에 등록된 상품들을 하나씩 보여주도록 하겠습니다. 보여줄 값으로 상품 이름, 상세정보, 가격, 이미지를 주려고 합니다. 조회하려는 엔티티 값이 item과 itemImg 두 개여서 한번에 값을 받을 MainItemDto를 생성하고 QueryDsl의
이번에는 상품 페이지에서 수량을 넣고 주문을 하는 코드입니다. 상품별 기타 옵션이나 쿠폰 사용 여부는 추후 직접 구현을 해보겠습니다.먼저 상품의 id와 수량을 받을 Dto 객체를 만들어봅니다. @Valid를 사용하여 1차적으로 필터를 걸어줍니다. 예외처리는 except
1차적으로 주문과 사용자의 유효성 검증이 필요합니다. 등록한 주문과 동일한 사용자인지 확인하고 맞지 않다면 에러를 담아서 반환해줍니다.단순 검증을 위한 DB 조회이기 때문에 readOnly=true로 진행합니다. orderId와 email을 활용해서 각각의 member
상품 페이지에서 상품의 수량을 클릭하고 '장바구니 담기'를 클릭하면 상품 id와 수량을 Controller에 전달하게 됩니다. 이를 받을 Dto 객체를 만들겠습니다.cart와 item, count를 받는 정적 생성자로를 만들어줍니다. 개인당 Cart는 하나씩이며, Ca
사용자의 장바구니를 클릭하면 장바구니에 담아뒀던 CartItem과 ItemImg의 정보를 조회하도록 하겠습니다.먼저 화면에 보낼 DTO 객체를 생성합니다.QueryDsl에 한번에 DTO 객체를 반환하는 것 말고도 JPQL의 쿼리문을 통해서 한번에 조회할 수 있습니다.C
현재 구현 중이던 쇼핑몰 코드의 ItemImgService 의 구현 로직을 살펴보던 중 중복 코드와 하나의 함수에 두 가지의 책임을 가진 것을 보고 리팩터링의 필요성이 느껴져서 수정하였습니다. 이 코드들 중에서 먼저 두 함수 updateItemImg, saveItemI
Querydsl을 활용하여 조회 기능을 구현 했습니다. 먼저 조회 조건으로는 조회 날짜, 상품 상태, 상품명, 최대 가격, 최소 가격을 받도록 했습니다. 이를 따로 ItemSearchDto로 구현합니다. ItemController 에서 itemsDtl이라는 함수명으로