OrderController.java 수정
// 결제 완료
@RequestMapping("/completeOrder.do")
public String completeOrder(OrderDomain orderDomain, HttpSession session, Model model) {
System.out.println("completeOrder invoked, orderDomain: " + orderDomain);
// 계산: 총 결제금액 = (제품가격 * 주문수량) + 배송비 (예: 3500원)
int shippingFee = 3500; // 배송비
int computedAmount = orderDomain.getProductPrice() * orderDomain.getOrderQty() + shippingFee;
orderDomain.setOrderAmount(computedAmount);
System.out.println("Computed Order Amount: " + computedAmount);
try {
int result = orderService.completeOrder(orderDomain);
System.out.println("Insert order result: " + result);
if (result > 0) {
// 주문정보 삽입 성공 후, 상품번호를 이용해 상품 상세정보를 조회
OrderDomain productInfo = orderService.getProductInfo(orderDomain.getProductNo());
// 모델에 주문정보와 상품정보를 모두 담아 payComplete.jsp로 전달
model.addAttribute("orderInfo", orderDomain);
model.addAttribute("productInfo", productInfo);
System.out.println("주문성공");
return "/order/payComplete";
} else {
model.addAttribute("error", "주문 등록에 실패하였습니다.");
return "redirect:/addOrder.do";
}
} catch (Exception e) {
e.printStackTrace();
model.addAttribute("error", "주문등록중예외발생: " + e.getMessage());
return "redirect:/addOrder.do";
}
}