diff --git a/VamPa/src/main/java/com/vam/controller/OrderController.java b/VamPa/src/main/java/com/vam/controller/OrderController.java new file mode 100644 index 0000000..b0d0fe1 --- /dev/null +++ b/VamPa/src/main/java/com/vam/controller/OrderController.java @@ -0,0 +1,21 @@ +package com.vam.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import com.vam.model.OrderPageDTO; + +@Controller +public class OrderController { + + @GetMapping("/order/{memberId}") + public void orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) { + + System.out.println("memberId : " + memberId); + System.out.println("orders : " + opd.getOrders()); + + } + +} diff --git a/VamPa/src/main/java/com/vam/model/OrderPageDTO.java b/VamPa/src/main/java/com/vam/model/OrderPageDTO.java new file mode 100644 index 0000000..fffa708 --- /dev/null +++ b/VamPa/src/main/java/com/vam/model/OrderPageDTO.java @@ -0,0 +1,23 @@ +package com.vam.model; + +import java.util.List; + +public class OrderPageDTO { + + private List orders; + + public List getOrders() { + return orders; + } + + public void setOrders(List orders) { + this.orders = orders; + } + + @Override + public String toString() { + return "OrderPageDTO [orders=" + orders + "]"; + } + + +} diff --git a/VamPa/src/main/java/com/vam/model/OrderPageItemDTO.java b/VamPa/src/main/java/com/vam/model/OrderPageItemDTO.java new file mode 100644 index 0000000..a3d9c4a --- /dev/null +++ b/VamPa/src/main/java/com/vam/model/OrderPageItemDTO.java @@ -0,0 +1,115 @@ +package com.vam.model; + +public class OrderPageItemDTO { + + /* 뷰로부터 전달받을 값 */ + private int bookId; + + private int bookCount; + + /* DB로부터 꺼내올 값 */ + private String bookName; + + private int bookPrice; + + private double bookDiscount; + + /* 만들어 낼 값 */ + private int salePrice; + + private int totalPrice; + + private int point; + + private int totalPoint; + + public int getBookId() { + return bookId; + } + + public void setBookId(int bookId) { + this.bookId = bookId; + } + + public int getBookCount() { + return bookCount; + } + + public void setBookCount(int bookCount) { + this.bookCount = bookCount; + } + + public String getBookName() { + return bookName; + } + + public void setBookName(String bookName) { + this.bookName = bookName; + } + + public int getBookPrice() { + return bookPrice; + } + + public void setBookPrice(int bookPrice) { + this.bookPrice = bookPrice; + } + + public double getBookDiscount() { + return bookDiscount; + } + + public void setBookDiscount(double bookDiscount) { + this.bookDiscount = bookDiscount; + } + + public int getSalePrice() { + return salePrice; + } + + public void setSalePrice(int salePrice) { + this.salePrice = salePrice; + } + + public int getTotalPrice() { + return totalPrice; + } + + public void setTotalPrice(int totalPrice) { + this.totalPrice = totalPrice; + } + + public int getPoint() { + return point; + } + + public void setPoint(int point) { + this.point = point; + } + + public int getTotalPoint() { + return totalPoint; + } + + public void setTotalPoint(int totalPoint) { + this.totalPoint = totalPoint; + } + + public void initSaleTotal() { + this.salePrice = (int) (this.bookPrice * (1-this.bookDiscount)); + this.totalPrice = this.salePrice*this.bookCount; + this.point = (int)(Math.floor(this.salePrice*0.05)); + this.totalPoint =this.point * this.bookCount; + + } + + @Override + public String toString() { + return "OrderPageItemDTO [bookId=" + bookId + ", bookCount=" + bookCount + ", bookName=" + bookName + + ", bookPrice=" + bookPrice + ", bookDiscount=" + bookDiscount + ", salePrice=" + salePrice + + ", totalPrice=" + totalPrice + ", point=" + point + ", totalPoint=" + totalPoint + "]"; + } + + + +} diff --git a/VamPa/src/main/webapp/WEB-INF/views/cart.jsp b/VamPa/src/main/webapp/WEB-INF/views/cart.jsp index fa3859c..80554ef 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/cart.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/cart.jsp @@ -127,7 +127,8 @@ - + +
@@ -234,7 +235,7 @@
@@ -248,7 +249,12 @@
-
+ + +
+ +
+ @@ -428,6 +434,35 @@ $(".delete_btn").on("click", function(e){ $(".quantity_delete_form").submit(); }); +/* 주문 페이지 이동 */ +$(".order_btn").on("click", function(){ + + let form_contents =''; + let orderNumber = 0; + + $(".cart_info_td").each(function(index, element){ + + if($(element).find(".individual_cart_checkbox").is(":checked") === true){ //체크여부 + + let bookId = $(element).find(".individual_bookId_input").val(); + let bookCount = $(element).find(".individual_bookCount_input").val(); + + let bookId_input = ""; + form_contents += bookId_input; + + let bookCount_input = ""; + form_contents += bookCount_input; + + orderNumber += 1; + + } + }); + + $(".order_form").html(form_contents); + $(".order_form").submit(); + +}); + diff --git a/VamPa/src/main/webapp/WEB-INF/views/goodsDetail.jsp b/VamPa/src/main/webapp/WEB-INF/views/goodsDetail.jsp index bfe7838..fb0b6f4 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/goodsDetail.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/goodsDetail.jsp @@ -162,7 +162,11 @@
리뷰
- + +
+ + +
@@ -285,7 +289,12 @@ const form = { alert("로그인이 필요합니다."); } } - + /* 바로구매 버튼 */ + $(".btn_buy").on("click", function(){ + let bookCount = $(".quantity_input").val(); + $(".order_form").find("input[name='orders[0].bookCount']").val(bookCount); + $(".order_form").submit(); + }); diff --git a/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties b/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties index 0c63e54..f317b81 100644 --- a/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties +++ b/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Mon Nov 29 11:24:17 KST 2021 +#Wed Dec 08 02:51:47 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa m2e.projectName=VamPa groupId=com.vam diff --git a/VamPa_MySQL/src/main/java/com/vam/controller/OrderController.java b/VamPa_MySQL/src/main/java/com/vam/controller/OrderController.java new file mode 100644 index 0000000..6d0c0a8 --- /dev/null +++ b/VamPa_MySQL/src/main/java/com/vam/controller/OrderController.java @@ -0,0 +1,21 @@ +package com.vam.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import com.vam.model.OrderPageDTO; + +@Controller +public class OrderController { + + @GetMapping("/order/{memberId}") + public void orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) { + + System.out.println("memberId : " + memberId); + System.out.println("orders : " + opd.getOrders()); + + } + +} diff --git a/VamPa_MySQL/src/main/java/com/vam/model/OrderPageDTO.java b/VamPa_MySQL/src/main/java/com/vam/model/OrderPageDTO.java new file mode 100644 index 0000000..edea24e --- /dev/null +++ b/VamPa_MySQL/src/main/java/com/vam/model/OrderPageDTO.java @@ -0,0 +1,22 @@ +package com.vam.model; + +import java.util.List; + +public class OrderPageDTO { + + private List orders; + + public List getOrders() { + return orders; + } + + public void setOrders(List orders) { + this.orders = orders; + } + + @Override + public String toString() { + return "OrderPageDTO [orders=" + orders + "]"; + } + +} diff --git a/VamPa_MySQL/src/main/java/com/vam/model/OrderPageItemDTO.java b/VamPa_MySQL/src/main/java/com/vam/model/OrderPageItemDTO.java new file mode 100644 index 0000000..5a1b927 --- /dev/null +++ b/VamPa_MySQL/src/main/java/com/vam/model/OrderPageItemDTO.java @@ -0,0 +1,113 @@ +package com.vam.model; + +public class OrderPageItemDTO { + + /* 뷰로부터 전달받을 값 */ + private int bookId; + + private int bookCount; + + /* DB로부터 꺼내올 값 */ + private String bookName; + + private int bookPrice; + + private double bookDiscount; + + /* 만들어 낼 값 */ + private int salePrice; + + private int totalPrice; + + private int point; + + private int totalPoint; + + public int getBookId() { + return bookId; + } + + public void setBookId(int bookId) { + this.bookId = bookId; + } + + public int getBookCount() { + return bookCount; + } + + public void setBookCount(int bookCount) { + this.bookCount = bookCount; + } + + public String getBookName() { + return bookName; + } + + public void setBookName(String bookName) { + this.bookName = bookName; + } + + public int getBookPrice() { + return bookPrice; + } + + public void setBookPrice(int bookPrice) { + this.bookPrice = bookPrice; + } + + public double getBookDiscount() { + return bookDiscount; + } + + public void setBookDiscount(double bookDiscount) { + this.bookDiscount = bookDiscount; + } + + public int getSalePrice() { + return salePrice; + } + + public void setSalePrice(int salePrice) { + this.salePrice = salePrice; + } + + public int getTotalPrice() { + return totalPrice; + } + + public void setTotalPrice(int totalPrice) { + this.totalPrice = totalPrice; + } + + public int getPoint() { + return point; + } + + public void setPoint(int point) { + this.point = point; + } + + public int getTotalPoint() { + return totalPoint; + } + + public void setTotalPoint(int totalPoint) { + this.totalPoint = totalPoint; + } + + public void initSaleTotal() { + this.salePrice = (int) (this.bookPrice * (1-this.bookDiscount)); + this.totalPrice = this.salePrice*this.bookCount; + this.point = (int)(Math.floor(this.salePrice*0.05)); + this.totalPoint =this.point * this.bookCount; + + } + + @Override + public String toString() { + return "OrderPageItemDTO [bookId=" + bookId + ", bookCount=" + bookCount + ", bookName=" + bookName + + ", bookPrice=" + bookPrice + ", bookDiscount=" + bookDiscount + ", salePrice=" + salePrice + + ", totalPrice=" + totalPrice + ", point=" + point + ", totalPoint=" + totalPoint + "]"; + } + +} 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 fa3859c..80554ef 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/cart.jsp @@ -127,7 +127,8 @@ - + +
@@ -234,7 +235,7 @@
@@ -248,7 +249,12 @@
-
+ + +
+ +
+ @@ -428,6 +434,35 @@ $(".delete_btn").on("click", function(e){ $(".quantity_delete_form").submit(); }); +/* 주문 페이지 이동 */ +$(".order_btn").on("click", function(){ + + let form_contents =''; + let orderNumber = 0; + + $(".cart_info_td").each(function(index, element){ + + if($(element).find(".individual_cart_checkbox").is(":checked") === true){ //체크여부 + + let bookId = $(element).find(".individual_bookId_input").val(); + let bookCount = $(element).find(".individual_bookCount_input").val(); + + let bookId_input = ""; + form_contents += bookId_input; + + let bookCount_input = ""; + form_contents += bookCount_input; + + orderNumber += 1; + + } + }); + + $(".order_form").html(form_contents); + $(".order_form").submit(); + +}); + diff --git a/VamPa_MySQL/src/main/webapp/WEB-INF/views/goodsDetail.jsp b/VamPa_MySQL/src/main/webapp/WEB-INF/views/goodsDetail.jsp index c0394e0..fb0b6f4 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/goodsDetail.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/goodsDetail.jsp @@ -123,7 +123,11 @@
판매가 : [% - 할인]
+ 할인] + +
+ 적립 포인트 : 원 +
@@ -158,7 +162,11 @@
리뷰
- + +
+ + +
@@ -231,7 +239,13 @@ $(document).ready(function(){ $(".publeyear").html(publeYear); -}); + /* 포인트 삽입 */ + let salePrice = "${goodsInfo.bookPrice - (goodsInfo.bookPrice*goodsInfo.bookDiscount)}" + let point = salePrice*0.05; + point = Math.floor(point); + $(".point_span").text(point); + +}); //$(document).ready(function(){ // 수량 버튼 조작 @@ -275,7 +289,12 @@ const form = { alert("로그인이 필요합니다."); } } - + /* 바로구매 버튼 */ + $(".btn_buy").on("click", function(){ + let bookCount = $(".quantity_input").val(); + $(".order_form").find("input[name='orders[0].bookCount']").val(bookCount); + $(".order_form").submit(); + }); diff --git a/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties b/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties index 51c0676..87b0544 100644 --- a/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties +++ b/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Mon Nov 29 11:24:18 KST 2021 +#Wed Dec 08 23:55:17 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa_MySQL m2e.projectName=VamPa_MySQL groupId=com.vam