Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package com.jishop.order.controller;

import com.jishop.cart.dto.CartResponse;
import com.jishop.member.annotation.CurrentUser;
import com.jishop.member.domain.User;
import com.jishop.order.dto.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;


import java.util.List;
Expand Down Expand Up @@ -56,7 +58,12 @@ ResponseEntity<OrderCancelResponse> getOrderCancel(
// 장바구니에서 주문서로 넘어가는 API
@Operation(summary = "장바구니에서 주문서로 넘어갈 때 사용하는 API")
ResponseEntity<CartResponse> getCheckout(User user, List<OrderDetailRequest> orderDetailRequest);
//회원 주문 - 결제와 연동

//리뷰 작성 시 필요한 상품 정보 내려주는 API
@Operation(summary = "리뷰 작성 시 필요한 상품 정보 내려주기")
ResponseEntity<OrderProductResponse> getItem(Long orderDetailId);

//회원 주문 - 결제와 연동
// @Operation(
// summary = "회원 주문 및 결제 API",
// description = "회원이 장바구니에서 주문 및 결제 시 사용하는 API"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,16 @@ public ResponseEntity<CartResponse> getCheckout(@CurrentUser User user, @Request

return ResponseEntity.ok(products);
}

//리뷰 작성 시 필요한 상품 정보 내려주기
@GetMapping("/{orderDetailId}/item")
public ResponseEntity<OrderProductResponse> getItem(@PathVariable Long orderDetailId) {
OrderProductResponse response = orderGetService.getItem(orderDetailId);

return ResponseEntity.ok(response);
}


//주문 생성 - 결제 페이지와 연동
// @Override
// @PostMapping
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import com.jishop.cart.dto.CartResponse;
import com.jishop.member.domain.User;
import com.jishop.order.dto.OrderCancelResponse;
import com.jishop.order.dto.OrderDetailPageResponse;
import com.jishop.order.dto.OrderDetailRequest;
import com.jishop.order.dto.OrderResponse;
import com.jishop.order.dto.*;
import org.springframework.data.domain.Page;

import java.util.List;
Expand All @@ -19,12 +16,13 @@ public interface OrderGetService {
Page<OrderResponse> getPaginatedOrders(User user, String period, int page, int size);
//회원 장바구니에서 주문서로 넘어가는 API
CartResponse getCheckout(User user, List<OrderDetailRequest> orderDetailRequest);
//리뷰 작성 시 필요한 상품 정보 내려주는 API
OrderProductResponse getItem(Long orderDetailId);

//비회원 주문 상세 페이지
OrderDetailPageResponse getOrder(String orderNumber, String phone);
//비회원 주문 취소 상세 페이지
OrderCancelResponse getCancelPage(String orderNumber, String phone);
//비회원 장바구니에서 주문서로 넘어가는 API
CartResponse getCheckout(List<OrderDetailRequest> orderDetailRequest);

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
import com.jishop.common.exception.ErrorType;
import com.jishop.member.domain.User;
import com.jishop.order.domain.Order;
import com.jishop.order.domain.OrderDetail;
import com.jishop.order.domain.OrderStatus;
import com.jishop.order.dto.*;
import com.jishop.order.repository.OrderDetailRepository;
import com.jishop.order.repository.OrderRepository;
import com.jishop.order.service.OrderGetService;
import com.jishop.order.service.OrderUtilService;
Expand All @@ -34,6 +36,7 @@ public class OrderGetServiceImpl implements OrderGetService {
private final ReviewRepository reviewRepository;
private final OrderUtilService orderUtilService;
private final SaleProductRepository saleProductRepository;
private final OrderDetailRepository orderDetailRepository;

//비회원 주문 상세 조회
@Override
Expand Down Expand Up @@ -109,6 +112,17 @@ public OrderCancelResponse getCancelPage(User user, Long orderId) {
return new OrderCancelResponse(order.getUpdatedAt(), pageResponse);
}

//리뷰 작성 시 필요한 상품 정보 내려주기 API
@Override
public OrderProductResponse getItem(Long orderDetailId) {
OrderDetail orderDetail = orderDetailRepository.findOrderDetailForReviewById(orderDetailId)
.orElseThrow(() -> new DomainException(ErrorType.ORDER_DETAIL_NOT_FOUND));

OrderProductResponse response = OrderProductResponse.from(orderDetail, true);

return response;
}

//회원 주문서로 넘어가는 API
@Override
public CartResponse getCheckout(User user, List<OrderDetailRequest> orderDetailRequest) {
Expand Down Expand Up @@ -150,7 +164,8 @@ public CartResponse getCheckout(User user, List<OrderDetailRequest> orderDetailR
.toList();

// CartResponse 생성 및 반환
return CartResponse.of(cartDetails); }
return CartResponse.of(cartDetails);
}

private OrderDetailPageResponse createOrderDetailPageResponse(Order order, User user) {
boolean isPurchasedConfirmed = order.getStatus() == OrderStatus.PURCHASED_CONFIRMED;
Expand Down