[Spring][쇼핑몰 프로젝트][42] 주문 구현 - 2

https://kimvampa.tistory.com/279
This commit is contained in:
SeoJin Kim
2021-12-14 02:11:21 +09:00
parent f919ab7e2c
commit 82cf916c36
14 changed files with 342 additions and 2 deletions

View File

@@ -21,4 +21,7 @@ public interface CartMapper {
/* 카트 확인 */
public CartDTO checkCart(CartDTO cart);
/* 카트 제거(주문) */
public int deleteOrderCart(CartDTO dto);
}

View File

@@ -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);
}

View File

@@ -45,5 +45,11 @@
</select>
<delete id="deleteOrderCart">
delete from vam_cart where memberId = #{memberId} and bookId = #{bookId}
</delete>
</mapper>

View File

@@ -11,5 +11,42 @@
from vam_book where bookId = #{bookId}
</select>
<select id="getOrderInfo" resultType="com.vam.model.OrderItemDTO">
select bookId, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
<!-- 주문 테이블 등록 -->
<insert id="enrollOrder">
insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint)
values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint})
</insert>
<!-- 주문 아이템 테이블 등록 -->
<insert id="enrollOrderItem">
insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint)
values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint})
</insert>
<!-- 주문 금액 차감 -->
<update id="deductMoney">
update book_member set money = #{money}, point = #{point} where memberid = #{memberId}
</update>
<!-- 주문 재고 차감 -->
<update id="deductStock">
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
</update>
</mapper>

View File

@@ -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);
}
}

View File

@@ -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<OrderItemDTO> 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);
}
}

View File

@@ -45,5 +45,11 @@
</select>
<delete id="deleteOrderCart">
delete from vam_cart where memberId = #{memberId} and bookId = #{bookId}
</delete>
</mapper>

View File

@@ -11,5 +11,42 @@
from vam_book where bookId = #{bookId}
</select>
<select id="getOrderInfo" resultType="com.vam.model.OrderItemDTO">
select bookId, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
<!-- 주문 테이블 등록 -->
<insert id="enrollOrder">
insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint)
values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint})
</insert>
<!-- 주문 아이템 테이블 등록 -->
<insert id="enrollOrderItem">
insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint)
values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint})
</insert>
<!-- 주문 금액 차감 -->
<update id="deductMoney">
update book_member set money = #{money}, point = #{point} where memberid = #{memberId}
</update>
<!-- 주문 재고 차감 -->
<update id="deductStock">
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
</update>
</mapper>

View File

@@ -19,6 +19,9 @@ public interface CartMapper {
public List<CartDTO> getCart(String memberId);
/* 카트 확인 */
public CartDTO checkCart(CartDTO cart);
public CartDTO checkCart(CartDTO cart);
/* 카트 제거(주문) */
public int deleteOrderCart(CartDTO dto);
}

View File

@@ -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);
}

View File

@@ -45,5 +45,11 @@
</select>
<delete id="deleteOrderCart">
delete from vam_cart where memberId = #{memberId} and bookId = #{bookId}
</delete>
</mapper>

View File

@@ -12,4 +12,41 @@
</select>
<select id="getOrderInfo" resultType="com.vam.model.OrderItemDTO">
select bookId, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
<!-- 주문 테이블 등록 -->
<insert id="enrollOrder">
insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint)
values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint})
</insert>
<!-- 주문 아이템 테이블 등록 -->
<insert id="enrollOrderItem">
insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint)
values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint})
</insert>
<!-- 주문 금액 차감 -->
<update id="deductMoney">
update book_member set money = #{money}, point = #{point} where memberid = #{memberId}
</update>
<!-- 주문 재고 차감 -->
<update id="deductStock">
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
</update>
</mapper>

View File

@@ -45,5 +45,11 @@
</select>
<delete id="deleteOrderCart">
delete from vam_cart where memberId = #{memberId} and bookId = #{bookId}
</delete>
</mapper>

View File

@@ -12,4 +12,41 @@
</select>
<select id="getOrderInfo" resultType="com.vam.model.OrderItemDTO">
select bookId, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
<!-- 주문 테이블 등록 -->
<insert id="enrollOrder">
insert into vam_order(orderId, addressee, memberId, memberAddr1, memberAddr2, memberAddr3, orderState, deliveryCost, usePoint)
values(#{orderId},#{addressee}, #{memberId}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, '배송준비', #{deliveryCost}, #{usePoint})
</insert>
<!-- 주문 아이템 테이블 등록 -->
<insert id="enrollOrderItem">
insert into vam_orderItem(orderId, bookId, bookCount, bookPrice, bookDiscount, savePoint)
values(#{orderId}, #{bookId}, #{bookCount}, #{bookPrice}, #{bookDiscount}, #{savePoint})
</insert>
<!-- 주문 금액 차감 -->
<update id="deductMoney">
update book_member set money = #{money}, point = #{point} where memberid = #{memberId}
</update>
<!-- 주문 재고 차감 -->
<update id="deductStock">
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
</update>
</mapper>