✨ 우리들의 Every-Pet 바로가기 (backend 서버는 정지)
| Category | Technologies and Tools |
|---|---|
| Language | |
| IDE | |
| Framework | |
| Build Tool | |
| Database | |
| Frontend | |
| Library | |
| Server | |
| Tool |
- 상품 조회/장바구니/상품 리뷰/판매자 문의
- 상품 조회: 다양한 조건(카테고리, 브랜드, 키워드 등)에 따라 상품을 조회합니다.
- 카테고리 별 조회: 대분류와 소분류에 따라 상품을 조회합니다.
- 브랜드 별 조회: 특정 브랜드에 속한 상품을 조회합니다.
- 키워드 검색: 사용자가 입력한 키워드에 해당하는 상품을 조회합니다.
- 단일 상품 조회: 특정 상품 ID에 해당하는 상품을 조회합니다.
- 상품 조회: 다양한 조건(카테고리, 브랜드, 키워드 등)에 따라 상품을 조회합니다.
상품 기능 자세히 보기
기능 설명: 새로운 상품을 생성합니다.
기술적 설명:
ProductServiceImpl의insertProduct메서드는 상품 정보를 처리하고, Google Cloud Storage에 이미지를 업로드합니다.
기능 설명: 특정 상품을 삭제합니다.
기술적 설명:
ProductServiceImpl의deleteProduct메서드는 주어진productId를 통해 상품 정보를 삭제하고, 관련된 이미지를 삭제합니다.
기능 설명: 기존 상품을 수정합니다.
기술적 설명:
ProductServiceImpl의updateProduct메서드는 상품 정보를 수정하고, 이미지를 업데이트합니다.
기능 설명: 다양한 조건에 따라 상품을 조회합니다.
기술적 설명:
ProductServiceImpl의selectProductList메서드는 카테고리와 정렬 기준에 따라 상품을 조회하고,selectProductByProductId메서드는 특정 상품을 조회합니다.
기능 설명: 대분류와 소분류에 따라 상품을 조회합니다. 예를 들어, 대분류가 "dog"이고 소분류가 "snack"인 경우, 강아지용 스낵 상품만 조회됩니다.
기술적 설명:
ProductController의selectProductCategory메서드는 카테고리 대분류, 소분류, 정렬 기준, 페이지 번호, 페이지 사이즈를 받아 상품 리스트를 조회합니다.ProductService의selectProductList메서드는 MyBatis를 통해 데이터베이스에서 해당 조건에 맞는 상품 리스트를 가져옵니다.
기능 설명: 특정 브랜드에 속한 상품을 조회합니다. 예를 들어, "동물 좋아 상점" 브랜드의 상품만 조회할 수 있습니다.
기술적 설명:
ProductController의selectProductBrand메서드는 브랜드명, 정렬 기준, 페이지 번호, 페이지 사이즈를 받아 상품 리스트를 조회합니다.ProductService의selectProductBrandList메서드는 MyBatis를 통해 데이터베이스에서 해당 브랜드에 속한 상품 리스트를 가져옵니다.
기능 설명: 사용자가 입력한 키워드에 해당하는 상품을 조회합니다. 예를 들어, "고양이 사료"라는 키워드로 검색하면 관련된 상품이 조회됩니다.
기술적 설명:
ProductController의searchProducts메서드는 키워드, 정렬 기준, 페이지 번호, 페이지 사이즈를 받아 상품 리스트를 조회합니다.ProductService의selectProductListByKeyword메서드는 MyBatis를 통해 데이터베이스에서 해당 키워드에 맞는 상품 리스트를 가져옵니다.
기능 설명: 특정 상품 ID에 해당하는 상품을 조회합니다.
기술적 설명:
ProductController의selectProductByProductId메서드는 상품 ID를 받아 해당 상품을 조회합니다.ProductService의selectProductByProductId메서드는 MyBatis를 통해 데이터베이스에서 해당 상품 ID에 맞는 상품 정보를 가져옵니다.
- 주문 생성/주문 삭제/주문 조회 및 상세 조회/운송장 번호 추가
주문 기능 자세히 보기
기능 설명: 사용자가 주문을 생성할 수 있는 기능을 제공합니다. 주문 정보는 InsertOrderDTO를 통해 전달되며, 주문 상세 정보는 OrderDetailMapper를 통해 저장됩니다.
기술적 설명:
OrderServiceImpl의insertOrder메서드는InsertOrderDTO를 받아 주문 정보를 처리합니다. 주문 상품의 가격을 조회하고 총 금액을 계산합니다.OrderMapper의insertOrder메서드를 통해 주문 정보를 데이터베이스에 저장합니다.OrderDetailMapper의insertOrderDetail메서드를 통해 주문 상세 정보를 저장합니다.
기능 설명: 특정 주문 ID에 해당하는 주문을 삭제할 수 있는 기능을 제공합니다.
기술적 설명:
OrderServiceImpl의deleteOrder메서드는 주어진orderId를 통해 주문 정보를 삭제합니다.- 먼저
OrderDetailMapper의deleteOrderDetailByOrderId메서드를 통해 관련된 주문 상세 정보를 삭제합니다. - 이후
OrderMapper의deleteOrderByOrderId메서드를 통해 주문 정보를 삭제합니다.
기능 설명: 특정 주문 ID에 해당하는 주문을 조회하거나, 주문 상세 ID에 해당하는 주문 상세 정보를 조회할 수 있는 기능을 제공합니다.
기술적 설명:
-
주문 조회:
OrderServiceImpl의selectOrder메서드는 주어진orderId를 통해 주문 정보를 조회합니다.OrderMapper의selectOrderById메서드를 통해 주문 정보를 가져옵니다.OrderDetailMapper의selectOrderDetailsByOrderId메서드를 통해 관련된 주문 상세 정보를 가져와 주문 객체에 추가합니다.
-
주문 상세 조회:
OrderServiceImpl의getOrderDetail메서드는 주어진orderDetailId를 통해 주문 상세 정보를 조회합니다.OrderDetailMapper의getOrderDetailByOrderDetailId메서드를 통해 주문 상세 정보를 가져옵니다.
기능 설명: 판매자가 주문 상세 ID와 운송장 번호를 입력하여 운송장 번호를 추가할 수 있는 기능을 제공합니다.
기술적 설명:
OrderServiceImpl의updateTrackingNumber메서드는 판매자 인증 후, 운송장 번호를 업데이트합니다.- 먼저
OrderDetailMapper의checkSeller메서드를 통해 해당 상품의 판매자인지 확인합니다. - 판매자일 경우,
OrderDetailMapper의updateTrackingNumber메서드를 통해 운송장 번호를 업데이트합니다.
- 결제 상태 조회/결제 검증 및 주문 상태 업데이트/결제 정보 저장
결제 기능 자세히 보기
기능 설명: 포트원 결제 API를 호출하여 결제 상태를 조회합니다.
기술적 설명:
PaymentServiceImpl의getPaymentStatus메서드는 포트원 결제 API를 호출하여 결제 상태를 조회합니다.- 결제 상태는
PaymentResponse객체로 반환되며, 상태에 따라 주문 처리가 진행됩니다.
기능 설명: 결제 검증 후, 주문 상태를 업데이트합니다.
기술적 설명:
PaymentController의completePayment메서드는 결제 검증 후, 주문 상태를 업데이트합니다.- 결제 금액이 주문 금액과 일치할 경우, 주문 상태를 "PAID"로 업데이트하고 장바구니를 삭제합니다.
- 결제 금액이 불일치할 경우, 주문은 삭제됩니다.
기능 설명: 결제 정보를 데이터베이스에 저장합니다.
기술적 설명:
- 결제 정보는
PaymentMapper를 통해 데이터베이스에 저장됩니다. PaymentServiceImpl의insertPayment메서드는 결제 정보를 저장합니다.
- 광고 생성/광고 삭제/광고 수정/광고 조회
광고 기능 자세히 보기
기능 설명: 새로운 광고를 생성합니다.
기술적 설명:
AdvertisementServiceImpl의insertAdvertisement메서드는 광고 정보를 처리하고, Google Cloud Storage에 이미지를 업로드합니다.
기능 설명: 특정 광고를 삭제합니다.
기술적 설명:
AdvertisementServiceImpl의deleteAdvertisement메서드는 주어진advertisementId를 통해 광고 정보를 삭제하고, 관련된 이미지를 삭제합니다.
기능 설명: 기존 광고를 수정합니다.
기술적 설명:
AdvertisementServiceImpl의updateAdvertisement메서드는 광고 정보를 수정하고, 이미지를 업데이트합니다.
기능 설명: 모든 광고 또는 특정 광고를 조회합니다.
기술적 설명:
AdvertisementServiceImpl의selectAllAdvertisements메서드는 모든 광고를 조회하고,selectAdvertisementById메서드는 특정 광고를 조회합니다.