web45 쇼핑몰 구현 13 - 주문 기능 Order 1. OrderRepository @Repository public interface OrderRepository extends JpaRepository { //특정 회원의 주문을 최신순으로 조회 @Query("select o from Order o "+ "where o.member.email = :email "+ "order by o.createdAt desc" ) Page findAllByMemberEmail(String email, PageRequest pageRequest); //특정 회원의 주문을 가져올 때 배송지 정보도 페치조인으로 가져옴 @Query("select o from Order o join fetch o.delivery d where o.member.email = :ema.. 2024. 2. 23. 쇼핑몰 구현 12 - 리뷰 , Q&A 기능 Review 1. ReviewRepository @Repository public interface ReviewRepository extends JpaRepository { //해당 상품의 모든 리뷰 조회 Page findAllByItemId(Long itemId, PageRequest pageRequest); } 2. ReviewService @Service @RequiredArgsConstructor public class ReviewService { private final ReviewRepository reviewRepository; private final MemberService memberService; private final ItemService itemService; private fi.. 2024. 2. 23. 쇼핑몰 구현 11 - 위시리스트 기능 1. LikeRepository @Repository public interface LikeRepository extends JpaRepository { //회원이 해당 아이템 아이디를 가진 상품에 누른 위시리스트를 취소할 경우 void deleteByMemberEmailAndItemId(String email,Long itemId); //회원이 해당 아이템 아이디를 가진 상품에 위시리스트 버튼을 눌렀는지 확인하기 위해 Boolean existsByMemberEmailAndItemId(String email,Long itemId); //특정 회원이 누른 위시리스트 상품들을 모두 조회 Page findAllByMemberEmail(PageRequest pageRequest,String email); //회.. 2024. 2. 23. 쇼핑몰 구현 10 - 장바구니 기능 1. CartRepository @Repository public interface CartRepository extends JpaRepository { //해당 이메일을 가진 회원의 모든 장바구니를 찾기 위해 List findAllByMemberEmail(String email); //해당 이메일을 가진 회원의 장바구니에 해당 아이디를 가진 아이템이 존재하는지 확인하기 위해 //아이템이 존재할 경우 장바구니에 또 추가하지 않고 수량만 변경 Boolean existsByMemberEmailAndItemId(String email,Long itemId); //해당 이메일을 가진 회원의 장바구니에 해당 아이디를 가진 아이템이 존재한다면 해당 카트 반환 Optional findByMemberEmailAndIt.. 2024. 2. 23. 쇼핑몰 구현 9 - 상품 기능 1. ItemRepository @Repository public interface ItemRepository extends JpaRepository { //상품 생성 시 이름이 중복되는지 체크하기 위해 Boolean existsByName(String name); //상품 검색 시 해당 이름을 포함한 모든 상품을 찾기 위해 Page findAllByNameContains(String name, PageRequest pageRequest); //카테고리로 상품을 찾기 위해 Page findAllByItemCategory(ItemCategory itemCategory,PageRequest pageRequest); } 2. ItemService @Service @RequiredArgsConstructor p.. 2024. 2. 23. 쇼핑몰 구현 8 - 회원 기능 1. MemberRepository @Repository public interface MemberRepository extends JpaRepository { Optional findByEmail(String email); //email로 member 찾기 위해 Boolean existsByEmail(String Email); //회원가입 시 중복 체크용으로 사용 } 2. MemberService @Service @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; private final BCryptPasswordEncoder encoder; private final Ma.. 2024. 2. 23. 이전 1 2 3 4 5 6 7 8 다음