바로 구매.drawio

바로 구매.drawio.png

OrderController

요청 파라미터 수집

@RequestMapping(value = "/addOrder.do", method = RequestMethod.GET)
	public String addOrder2(@RequestParam("productNO") int productNO, @RequestParam("productQty") int orderQty,
			HttpServletRequest requ, HttpSession session, Model model) {

		System.out.println("productNO : " + productNO);
		System.out.println("productQty : " + orderQty);

로그인 체크 및 사용자 정보 조회

MemberDomain memberObj = (MemberDomain) session.getAttribute("member");

		// 로그인 안되어있으면 로그인페이지로 리다이렉트 이동
		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.");
		}

OrderService , order.xml

단일 상품 정보 조회

List<OrderDomain> productInfo = orderService.getProductInfo(productNO);
		// 상품 가격과 수량을 기반으로 주문 총 금액 계산
		int totalAmount = 0;
		for (OrderDomain product : productInfo) {
			product.setOrderQty(orderQty); // 주문 수량 설정
			totalAmount += product.getProductPrice() * orderQty;
			System.out.println("controller productInfo.productNO : " + product.getProductNo());
			System.out.println("controller productInfo.orderQty : " + product.getOrderQty());
			System.out.println("controller productInfo.orderQty : " + product.getImageFileName());
		}
		
		model.addAttribute("productList", productInfo);
		model.addAttribute("orderQty", orderQty); // 재고

		return "/order/addOrder";
	}