
OrderController
productNO 파라미터로 여러 개 전달request.getParameterValues("productNO")를 사용해 문자열 배열을 받고, 각 값을 정수형으로 파싱하여 int[] arr1 배열에 저장// 장바구니 구매 - 정희준
@RequestMapping(value = "/addOrder.do", method = RequestMethod.POST)
public String addOrder1(@RequestParam("productNO") int productNO, @RequestParam("productQty") int orderQty,
HttpServletRequest requ, HttpSession session, Model model) {
String[] arr = requ.getParameterValues("productNO"); // arr[] = 장바구니에서 선택해서 구매한 상품 번호 배열로 저장
int[] arr1 = new int[arr.length];
int arr2;
System.out.println("productNO : " + productNO);
for (int i = 0; i < arr.length; i++) {
arr2 = Integer.parseInt(arr[i]);
arr1[i] = arr2;
System.out.println("arr1[i] : " + arr1[i]);
}
ModelAndView mav = new ModelAndView("redirect:/basket/myBasket.do");
MemberDomain memberObj = (MemberDomain) session.getAttribute("member");
MemberDomain)를 확인redirect:/member/loginForm.do)로 리다이렉트memberId를 추출하고, orderService.getUserInfo(memberId)를 호출하여 주문자(배송정보 등)를 조회한 후 모델에 저장// 로그인 안되어있으면 로그인페이지로 리다이렉트 이동
if (memberObj == null) {
return "redirect:/member/loginForm.do";
}
String memberId = memberObj.getMemberId();
// 로그인 된 경우
if (memberObj != null) {
System.out.println(memberId); // 디버깅
if (memberId != null && !memberId.trim().isEmpty()) {
OrderDomain userInfo = orderService.getUserInfo(memberId);
model.addAttribute("userInfo", userInfo);
} else {
System.out.println("MemberDomain.");
}
} else {
System.out.println("member.");
}
List<OrderDomain> productInfo = (List<OrderDomain>) orderService.getBasketInfo(memberId, arr1);
for (OrderDomain d : productInfo) {
System.out.println("controller productInfo.productNO : " + d.getProductNo());
System.out.println("controller productInfo.orderQty : " + d.getOrderQty());
}
model.addAttribute("productList", productInfo);
model.addAttribute("orderQty", orderQty); // 재고
return "/order/addOrder";
}
OrderService , order.xml
orderService.getBasketInfo(memberId, arr1)를 호출하여, 장바구니 테이블에 저장된 상품 정보를 가져옴productList로 추가하고, 추가로 주문 수량(orderQty)도 함께 전달