From 82cf916c365b492fd1a3eea5e5667475b7dbcae6 Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Tue, 14 Dec 2021 02:11:21 +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][42]=20=EC=A3=BC=EB=AC=B8?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84=20-=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/279 --- .../main/java/com/vam/mapper/CartMapper.java | 3 + .../main/java/com/vam/mapper/OrderMapper.java | 21 +++- .../resources/com/vam/mapper/CartMapper.xml | 6 + .../resources/com/vam/mapper/OrderMapper.xml | 37 ++++++ .../java/com/vam/mapper/CartMapperTests.java | 14 +++ .../java/com/vam/mapper/OrderMapperTests.java | 110 ++++++++++++++++++ .../classes/com/vam/mapper/CartMapper.xml | 6 + .../classes/com/vam/mapper/OrderMapper.xml | 37 ++++++ .../main/java/com/vam/mapper/CartMapper.java | 5 +- .../main/java/com/vam/mapper/OrderMapper.java | 19 +++ .../resources/com/vam/mapper/CartMapper.xml | 6 + .../resources/com/vam/mapper/OrderMapper.xml | 37 ++++++ .../classes/com/vam/mapper/CartMapper.xml | 6 + .../classes/com/vam/mapper/OrderMapper.xml | 37 ++++++ 14 files changed, 342 insertions(+), 2 deletions(-) create mode 100644 VamPa/src/test/java/com/vam/mapper/OrderMapperTests.java diff --git a/VamPa/src/main/java/com/vam/mapper/CartMapper.java b/VamPa/src/main/java/com/vam/mapper/CartMapper.java index 531f3b5..ed88358 100644 --- a/VamPa/src/main/java/com/vam/mapper/CartMapper.java +++ b/VamPa/src/main/java/com/vam/mapper/CartMapper.java @@ -21,4 +21,7 @@ public interface CartMapper { /* 카트 확인 */ public CartDTO checkCart(CartDTO cart); + /* 카트 제거(주문) */ + public int deleteOrderCart(CartDTO dto); + } diff --git a/VamPa/src/main/java/com/vam/mapper/OrderMapper.java b/VamPa/src/main/java/com/vam/mapper/OrderMapper.java index 5a83951..329651e 100644 --- a/VamPa/src/main/java/com/vam/mapper/OrderMapper.java +++ b/VamPa/src/main/java/com/vam/mapper/OrderMapper.java @@ -1,10 +1,29 @@ package com.vam.mapper; +import com.vam.model.BookVO; +import com.vam.model.MemberVO; +import com.vam.model.OrderDTO; +import com.vam.model.OrderItemDTO; import com.vam.model.OrderPageItemDTO; public interface OrderMapper { - /* 주문 상품 정보 */ + /* 주문 상품 정보(주문 페이지) */ public OrderPageItemDTO getGoodsInfo(int bookId); + /* 주문 상품 정보(주문 처리) */ + public OrderItemDTO getOrderInfo(int bookId); + + /* 주문 테이블 등록 */ + public int enrollOrder(OrderDTO ord); + + /* 주문 아이템 테이블 등록 */ + public int enrollOrderItem(OrderItemDTO orid); + + /* 주문 금액 차감 */ + public int deductMoney(MemberVO member); + + /* 주문 재고 차감 */ + public int deductStock(BookVO book); + } diff --git a/VamPa/src/main/resources/com/vam/mapper/CartMapper.xml b/VamPa/src/main/resources/com/vam/mapper/CartMapper.xml index 664f5bf..625e0f7 100644 --- a/VamPa/src/main/resources/com/vam/mapper/CartMapper.xml +++ b/VamPa/src/main/resources/com/vam/mapper/CartMapper.xml @@ -45,5 +45,11 @@ + + + delete from vam_cart where memberId = #{memberId} and bookId = #{bookId} + + + \ No newline at end of file diff --git a/VamPa/src/main/resources/com/vam/mapper/OrderMapper.xml b/VamPa/src/main/resources/com/vam/mapper/OrderMapper.xml index 34558c1..cbd1f88 100644 --- a/VamPa/src/main/resources/com/vam/mapper/OrderMapper.xml +++ b/VamPa/src/main/resources/com/vam/mapper/OrderMapper.xml @@ -11,5 +11,42 @@ from vam_book where bookId = #{bookId} + + + + + + + insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint) + values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint}) + + + + + + + insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint) + values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint}) + + + + + + + update book_member set money = #{money}, point = #{point} where memberid = #{memberId} + + + + + + + update vam_book set bookStock = #{bookStock} where bookId = #{bookId} + + \ No newline at end of file diff --git a/VamPa/src/test/java/com/vam/mapper/CartMapperTests.java b/VamPa/src/test/java/com/vam/mapper/CartMapperTests.java index 4fdb692..0fb01d1 100644 --- a/VamPa/src/test/java/com/vam/mapper/CartMapperTests.java +++ b/VamPa/src/test/java/com/vam/mapper/CartMapperTests.java @@ -103,5 +103,19 @@ public class CartMapperTests { } */ + + /* 장바구니 제거(주문 처리) */ + @Test + public void deleteOrderCart() { + String memberId = "admin"; + int bookId = 3201; + + CartDTO dto = new CartDTO(); + dto.setMemberId(memberId); + dto.setBookId(bookId); + + mapper.deleteOrderCart(dto); + + } } diff --git a/VamPa/src/test/java/com/vam/mapper/OrderMapperTests.java b/VamPa/src/test/java/com/vam/mapper/OrderMapperTests.java new file mode 100644 index 0000000..8f92fd0 --- /dev/null +++ b/VamPa/src/test/java/com/vam/mapper/OrderMapperTests.java @@ -0,0 +1,110 @@ +package com.vam.mapper; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.vam.model.BookVO; +import com.vam.model.MemberVO; +import com.vam.model.OrderDTO; +import com.vam.model.OrderItemDTO; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml") +public class OrderMapperTests { + + @Autowired + private OrderMapper mapper; + + /* 상품 정보(주문 처리) */ + @Test + public void getOrderInfoTest() { + + OrderItemDTO orderInfo = mapper.getOrderInfo(61); + + System.out.println("result : " + orderInfo); + } + + /* vam_order 테이블 등록 */ + @Test + public void enrollOrderTest() { + + OrderDTO ord = new OrderDTO(); + List orders = new ArrayList(); + + OrderItemDTO order1 = new OrderItemDTO(); + + order1.setBookId(61); + order1.setBookCount(5); + order1.setBookPrice(70000); + order1.setBookDiscount(0.1); + order1.initSaleTotal(); + + + + ord.setOrders(orders); + + ord.setOrderId("2021_test1"); + ord.setAddressee("test"); + ord.setMemberId("admin"); + ord.setMemberAddr1("test"); + ord.setMemberAddr2("test"); + ord.setMemberAddr3("test"); + ord.setOrderState("배송중비"); + ord.getOrderPriceInfo(); + ord.setUsePoint(1000); + + mapper.enrollOrder(ord); + + } + + /* vam_itemorder 테이블 등록 */ + @Test + public void enrollOrderItemTest() { + + OrderItemDTO oid = new OrderItemDTO(); + + oid.setOrderId("2021_test1"); + oid.setBookId(61); + oid.setBookCount(1); + oid.setBookPrice(70000); + oid.setBookDiscount(0.1); + + oid.initSaleTotal(); + + mapper.enrollOrderItem(oid); + + } + + /* 회원 돈, 포인트 정보 변경 */ + @Test + public void deductMoneyTest() { + + MemberVO member = new MemberVO(); + + member.setMemberId("admin"); + member.setMoney(500000); + member.setPoint(10000); + + mapper.deductMoney(member); + } + + /* 상품 재고 변경 */ + @Test + public void deductStockTest() { + BookVO book = new BookVO(); + + book.setBookId(61); + book.setBookStock(77); + + mapper.deductStock(book); + } + + + +} diff --git a/VamPa/target/classes/com/vam/mapper/CartMapper.xml b/VamPa/target/classes/com/vam/mapper/CartMapper.xml index 664f5bf..625e0f7 100644 --- a/VamPa/target/classes/com/vam/mapper/CartMapper.xml +++ b/VamPa/target/classes/com/vam/mapper/CartMapper.xml @@ -45,5 +45,11 @@ + + + delete from vam_cart where memberId = #{memberId} and bookId = #{bookId} + + + \ No newline at end of file diff --git a/VamPa/target/classes/com/vam/mapper/OrderMapper.xml b/VamPa/target/classes/com/vam/mapper/OrderMapper.xml index 34558c1..cbd1f88 100644 --- a/VamPa/target/classes/com/vam/mapper/OrderMapper.xml +++ b/VamPa/target/classes/com/vam/mapper/OrderMapper.xml @@ -11,5 +11,42 @@ from vam_book where bookId = #{bookId} + + + + + + + insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint) + values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint}) + + + + + + + insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint) + values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint}) + + + + + + + update book_member set money = #{money}, point = #{point} where memberid = #{memberId} + + + + + + + update vam_book set bookStock = #{bookStock} where bookId = #{bookId} + + \ No newline at end of file diff --git a/VamPa_MySQL/src/main/java/com/vam/mapper/CartMapper.java b/VamPa_MySQL/src/main/java/com/vam/mapper/CartMapper.java index 7d393b8..af26884 100644 --- a/VamPa_MySQL/src/main/java/com/vam/mapper/CartMapper.java +++ b/VamPa_MySQL/src/main/java/com/vam/mapper/CartMapper.java @@ -19,6 +19,9 @@ public interface CartMapper { public List getCart(String memberId); /* 카트 확인 */ - public CartDTO checkCart(CartDTO cart); + public CartDTO checkCart(CartDTO cart); + + /* 카트 제거(주문) */ + public int deleteOrderCart(CartDTO dto); } diff --git a/VamPa_MySQL/src/main/java/com/vam/mapper/OrderMapper.java b/VamPa_MySQL/src/main/java/com/vam/mapper/OrderMapper.java index 5a83951..6ebba16 100644 --- a/VamPa_MySQL/src/main/java/com/vam/mapper/OrderMapper.java +++ b/VamPa_MySQL/src/main/java/com/vam/mapper/OrderMapper.java @@ -1,5 +1,9 @@ package com.vam.mapper; +import com.vam.model.BookVO; +import com.vam.model.MemberVO; +import com.vam.model.OrderDTO; +import com.vam.model.OrderItemDTO; import com.vam.model.OrderPageItemDTO; public interface OrderMapper { @@ -7,4 +11,19 @@ public interface OrderMapper { /* 주문 상품 정보 */ public OrderPageItemDTO getGoodsInfo(int bookId); + /* 주문 상품 정보(주문 처리) */ + public OrderItemDTO getOrderInfo(int bookId); + + /* 주문 테이블 등록 */ + public int enrollOrder(OrderDTO ord); + + /* 주문 아이템 테이블 등록 */ + public int enrollOrderItem(OrderItemDTO orid); + + /* 주문 금액 차감 */ + public int deductMoney(MemberVO member); + + /* 주문 재고 차감 */ + public int deductStock(BookVO book); + } diff --git a/VamPa_MySQL/src/main/resources/com/vam/mapper/CartMapper.xml b/VamPa_MySQL/src/main/resources/com/vam/mapper/CartMapper.xml index 664f5bf..71b76a1 100644 --- a/VamPa_MySQL/src/main/resources/com/vam/mapper/CartMapper.xml +++ b/VamPa_MySQL/src/main/resources/com/vam/mapper/CartMapper.xml @@ -45,5 +45,11 @@ + + + delete from vam_cart where memberId = #{memberId} and bookId = #{bookId} + + + \ No newline at end of file diff --git a/VamPa_MySQL/src/main/resources/com/vam/mapper/OrderMapper.xml b/VamPa_MySQL/src/main/resources/com/vam/mapper/OrderMapper.xml index 34558c1..9d422a7 100644 --- a/VamPa_MySQL/src/main/resources/com/vam/mapper/OrderMapper.xml +++ b/VamPa_MySQL/src/main/resources/com/vam/mapper/OrderMapper.xml @@ -12,4 +12,41 @@ + + + + + + insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint) + values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint}) + + + + + + + insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint) + values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint}) + + + + + + + update book_member set money = #{money}, point = #{point} where memberid = #{memberId} + + + + + + + update vam_book set bookStock = #{bookStock} where bookId = #{bookId} + + + \ No newline at end of file diff --git a/VamPa_MySQL/target/classes/com/vam/mapper/CartMapper.xml b/VamPa_MySQL/target/classes/com/vam/mapper/CartMapper.xml index 664f5bf..71b76a1 100644 --- a/VamPa_MySQL/target/classes/com/vam/mapper/CartMapper.xml +++ b/VamPa_MySQL/target/classes/com/vam/mapper/CartMapper.xml @@ -45,5 +45,11 @@ + + + delete from vam_cart where memberId = #{memberId} and bookId = #{bookId} + + + \ No newline at end of file diff --git a/VamPa_MySQL/target/classes/com/vam/mapper/OrderMapper.xml b/VamPa_MySQL/target/classes/com/vam/mapper/OrderMapper.xml index 34558c1..9d422a7 100644 --- a/VamPa_MySQL/target/classes/com/vam/mapper/OrderMapper.xml +++ b/VamPa_MySQL/target/classes/com/vam/mapper/OrderMapper.xml @@ -12,4 +12,41 @@ + + + + + + insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint) + values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint}) + + + + + + + insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint) + values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint}) + + + + + + + update book_member set money = #{money}, point = #{point} where memberid = #{memberId} + + + + + + + update vam_book set bookStock = #{bookStock} where bookId = #{bookId} + + + \ No newline at end of file