From f694d09689f0f638a8c042ee52f08f841a7fd565 Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Mon, 29 Nov 2021 19:55:13 +0900 Subject: [PATCH] =?UTF-8?q?[Spring][=EC=87=BC=ED=95=91=EB=AA=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8][38]=20=EC=9E=A5=EB=B0=94?= =?UTF-8?q?=EA=B5=AC=EB=8B=88=20=EA=B8=B0=EB=8A=A5(=EC=88=98=EB=9F=89=20?= =?UTF-8?q?=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/269 --- .../com/vam/controller/CartController.java | 10 ++++++ .../java/com/vam/service/CartService.java | 3 ++ .../java/com/vam/service/CartServiceImpl.java | 6 ++++ VamPa/src/main/webapp/WEB-INF/views/cart.jsp | 31 +++++++++++++++++-- .../com/vam/controller/CartController.java | 12 ++++++- .../java/com/vam/service/CartService.java | 5 ++- .../java/com/vam/service/CartServiceImpl.java | 6 ++++ .../src/main/webapp/WEB-INF/views/cart.jsp | 31 +++++++++++++++++-- 8 files changed, 98 insertions(+), 6 deletions(-) diff --git a/VamPa/src/main/java/com/vam/controller/CartController.java b/VamPa/src/main/java/com/vam/controller/CartController.java index 6202468..a029b0b 100644 --- a/VamPa/src/main/java/com/vam/controller/CartController.java +++ b/VamPa/src/main/java/com/vam/controller/CartController.java @@ -56,4 +56,14 @@ public class CartController { return "/cart"; } + /* 장바구니 수량 수정 */ + @PostMapping("/cart/update") + public String updateCartPOST(CartDTO cart) { + + cartService.modifyCount(cart); + + return "redirect:/cart/" + cart.getMemberId(); + + } + } diff --git a/VamPa/src/main/java/com/vam/service/CartService.java b/VamPa/src/main/java/com/vam/service/CartService.java index 6b05ac4..f55532f 100644 --- a/VamPa/src/main/java/com/vam/service/CartService.java +++ b/VamPa/src/main/java/com/vam/service/CartService.java @@ -11,5 +11,8 @@ public interface CartService { /* 장바구니 정보 리스트 */ public List getCartList(String memberId); + + /* 카트 수량 수정 */ + public int modifyCount(CartDTO cart); } diff --git a/VamPa/src/main/java/com/vam/service/CartServiceImpl.java b/VamPa/src/main/java/com/vam/service/CartServiceImpl.java index aed2d82..9157c35 100644 --- a/VamPa/src/main/java/com/vam/service/CartServiceImpl.java +++ b/VamPa/src/main/java/com/vam/service/CartServiceImpl.java @@ -59,5 +59,11 @@ public class CartServiceImpl implements CartService { } + @Override + public int modifyCount(CartDTO cart) { + + return cartMapper.modifyCount(cart); + } + } diff --git a/VamPa/src/main/webapp/WEB-INF/views/cart.jsp b/VamPa/src/main/webapp/WEB-INF/views/cart.jsp index 93a1c03..ea92d23 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/cart.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/cart.jsp @@ -146,7 +146,7 @@ - 변경 + 변경 @@ -235,7 +235,12 @@ 주문하기 - + +
+ + + +
@@ -384,6 +389,28 @@ function setTotalInfo(){ $(".finalTotalPrice_span").text(finalTotalPrice.toLocaleString()); } +/* 수량버튼 */ +$(".plus_btn").on("click", function(){ + let quantity = $(this).parent("div").find("input").val(); + $(this).parent("div").find("input").val(++quantity); +}); +$(".minus_btn").on("click", function(){ + let quantity = $(this).parent("div").find("input").val(); + if(quantity > 1){ + $(this).parent("div").find("input").val(--quantity); + } +}); + + +/* 수량 수정 버튼 */ +$(".quantity_modify_btn").on("click", function(){ + let cartId = $(this).data("cartid"); + let bookCount = $(this).parent("td").find("input").val(); + $(".update_cartId").val(cartId); + $(".update_bookCount").val(bookCount); + $(".quantity_update_form").submit(); + +}); diff --git a/VamPa_MySQL/src/main/java/com/vam/controller/CartController.java b/VamPa_MySQL/src/main/java/com/vam/controller/CartController.java index 54ff1e8..3a970be 100644 --- a/VamPa_MySQL/src/main/java/com/vam/controller/CartController.java +++ b/VamPa_MySQL/src/main/java/com/vam/controller/CartController.java @@ -54,6 +54,16 @@ public class CartController { model.addAttribute("cartInfo", cartService.getCartList(memberId)); return "/cart"; - } + } + + /* 장바구니 수량 수정 */ + @PostMapping("/cart/update") + public String updateCartPOST(CartDTO cart) { + + cartService.modifyCount(cart); + + return "redirect:/cart/" + cart.getMemberId(); + + } } diff --git a/VamPa_MySQL/src/main/java/com/vam/service/CartService.java b/VamPa_MySQL/src/main/java/com/vam/service/CartService.java index 146ef51..8406895 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/CartService.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/CartService.java @@ -10,6 +10,9 @@ public interface CartService { public int addCart(CartDTO cart); /* 장바구니 정보 리스트 */ - public List getCartList(String memberId); + public List getCartList(String memberId); + + /* 카트 수량 수정 */ + public int modifyCount(CartDTO cart); } diff --git a/VamPa_MySQL/src/main/java/com/vam/service/CartServiceImpl.java b/VamPa_MySQL/src/main/java/com/vam/service/CartServiceImpl.java index c07f5a9..8d35543 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/CartServiceImpl.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/CartServiceImpl.java @@ -59,4 +59,10 @@ public class CartServiceImpl implements CartService { } + @Override + public int modifyCount(CartDTO cart) { + + return cartMapper.modifyCount(cart); + } + } diff --git a/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp b/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp index 93a1c03..ea92d23 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp @@ -146,7 +146,7 @@ - 변경 + 변경 @@ -235,7 +235,12 @@ 주문하기 - + +
+ + + +
@@ -384,6 +389,28 @@ function setTotalInfo(){ $(".finalTotalPrice_span").text(finalTotalPrice.toLocaleString()); } +/* 수량버튼 */ +$(".plus_btn").on("click", function(){ + let quantity = $(this).parent("div").find("input").val(); + $(this).parent("div").find("input").val(++quantity); +}); +$(".minus_btn").on("click", function(){ + let quantity = $(this).parent("div").find("input").val(); + if(quantity > 1){ + $(this).parent("div").find("input").val(--quantity); + } +}); + + +/* 수량 수정 버튼 */ +$(".quantity_modify_btn").on("click", function(){ + let cartId = $(this).data("cartid"); + let bookCount = $(this).parent("td").find("input").val(); + $(".update_cartId").val(cartId); + $(".update_bookCount").val(bookCount); + $(".quantity_update_form").submit(); + +});