Skip to content

Commit

Permalink
#8 Update OrderInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
pursue503 committed Jul 26, 2020
1 parent 6f3fe97 commit b442565
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public String orderDetail(@RequestParam("orderNo") Long orderNo , Authentication
model.addAttribute("product", orderService.detailProductResponseVOList(orderNo,authentication));
model.addAttribute("payment",orderService.detailPaymentInfoResponseVO(orderNo,authentication));
model.addAttribute("delivery", orderService.detailDeliveryInfoResponseVO(orderNo,authentication));
model.addAttribute("order",orderService.singleMemberOrderResponseVO(orderNo,authentication));
return "주문내역 상세보기 페이지 ";
} catch (NullPointerException e) {
return "error";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,8 @@ public interface OrderRepositoryCustom {
//배송 정보
OrderDetailDeliveryInfoResponseVO findByOrderDetailDeliveryInfo(Long orderNo, Member member);

//주문 상세 정보에 대한 주문 상태들,,
//재활용
MemberOrderResponseVO findByOrderDetail(Long orderNo , Member member);

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;

import java.util.ArrayList;
import java.util.List;

@RequiredArgsConstructor
Expand Down Expand Up @@ -46,10 +47,20 @@ public List<OrderPaymentResponseVO> setOrderPayment(List<Long> cartList) {

@Override
public List<MemberOrderResponseVO> findByMemberOrder(Member member) {
QProduct product = QProduct.product;
QOrderList orderList = QOrderList.orderList;
QOrder order = QOrder.order;
return queryFactory.select(Projections.fields(MemberOrderResponseVO.class,
List<MemberOrderResponseVO> responseVOList = queryFactory.select(Projections.fields(MemberOrderResponseVO.class,
order.orderNo,order.orderDate,order.orderSt,order.orderTrackingNumber,order.orderTotalAmount))
.from(order).where(order.member.eq(member)).fetch();

for(MemberOrderResponseVO responseVO : responseVOList) {
responseVO.setProductNameList(queryFactory.select(product.productName)
.from(order,product,orderList)
.where(order.eq(orderList.order).and(orderList.product.eq(product)).and(order.orderNo.eq(responseVO.getOrderNo())))
.fetch());
}
return responseVOList;
}

@Override
Expand Down Expand Up @@ -84,7 +95,17 @@ public OrderDetailDeliveryInfoResponseVO findByOrderDetailDeliveryInfo(Long orde
QDeliveryInformation di = QDeliveryInformation.deliveryInformation;

return queryFactory.select(Projections.fields(OrderDetailDeliveryInfoResponseVO.class,
di.diRecipients.as("diRecipient"),di.diTel,di.diZipCode,di.diAddress,di.diDetailAddress,di.diComment))
di.diNo,di.diRecipients.as("diRecipient"),di.diTel,di.diZipCode,di.diAddress,di.diDetailAddress,di.diComment))
.from(order,di).where(order.eq(di.order).and(order.orderNo.eq(orderNo).and(order.member.eq(member)))).fetchOne();
}

//객체 재활용
@Override
public MemberOrderResponseVO findByOrderDetail(Long orderNo , Member member) {
QOrder order = QOrder.order;

return queryFactory.select(Projections.fields(MemberOrderResponseVO.class,
order.orderNo,order.orderDate,order.orderSt,order.orderTrackingNumber,order.orderTotalAmount))
.from(order).where(order.orderNo.eq(orderNo).and(order.member.eq(member))).fetchOne();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import lombok.Setter;

import java.util.Date;
import java.util.List;

@Getter
@Setter
Expand All @@ -16,4 +17,6 @@ public class MemberOrderResponseVO {
private String orderSt;
private Long orderTrackingNumber;
private Long orderAmountTotal;
private List<String> productNameList;

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
@ToString
public class OrderDetailDeliveryInfoResponseVO {

private String diNo;
private String diRecipient;
private String diTel;
private String diZipCode;
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/memoryboost/service/order/OrderService.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,12 @@ public OrderDetailPaymentInfoResponseVO detailPaymentInfoResponseVO(Long orderNo
return orderRepository.findByOrderDetailPaymentInfo(orderNo,member);
}

@Transactional(readOnly = true)
public MemberOrderResponseVO singleMemberOrderResponseVO(Long orderNo, Authentication authentication) {
MemberCustomVO memberCustomVO = (MemberCustomVO) authentication.getPrincipal();
Member member = memberRepository.findById(memberCustomVO.getMemberId()).orElseThrow(NullPointerException::new);

return orderRepository.findByOrderDetail(orderNo,member);
}

}

0 comments on commit b442565

Please sign in to comment.