[Spring][쇼핑몰 프로젝트][44] 주문 취소 - 1
https://kimvampa.tistory.com/285?category=771727
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.vam.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.MemberVO;
|
||||
import com.vam.model.OrderDTO;
|
||||
@@ -26,4 +28,14 @@ public interface OrderMapper {
|
||||
/* 주문 재고 차감 */
|
||||
public int deductStock(BookVO book);
|
||||
|
||||
/* 주문 취소 */
|
||||
public int orderCancle(String orderId);
|
||||
|
||||
/* 주문 상품 정보(주문취소) */
|
||||
public List<OrderItemDTO> getOrderItemInfo(String orderId);
|
||||
|
||||
/* 주문 정보(주문취소) */
|
||||
public OrderDTO getOrder(String orderId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
63
VamPa/src/main/java/com/vam/model/OrderCancelDTO.java
Normal file
63
VamPa/src/main/java/com/vam/model/OrderCancelDTO.java
Normal file
@@ -0,0 +1,63 @@
|
||||
package com.vam.model;
|
||||
|
||||
public class OrderCancelDTO {
|
||||
|
||||
private String memberId;
|
||||
|
||||
private String orderId;
|
||||
|
||||
private String keyword;
|
||||
|
||||
private int amount;
|
||||
|
||||
private int pageNum;
|
||||
|
||||
public String getMemberId() {
|
||||
return memberId;
|
||||
}
|
||||
|
||||
public void setMemberId(String memberId) {
|
||||
this.memberId = memberId;
|
||||
}
|
||||
|
||||
public String getOrderId() {
|
||||
return orderId;
|
||||
}
|
||||
|
||||
public void setOrderId(String orderId) {
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public String getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
|
||||
public void setKeyword(String keyword) {
|
||||
this.keyword = keyword;
|
||||
}
|
||||
|
||||
public int getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(int amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public int getPageNum() {
|
||||
return pageNum;
|
||||
}
|
||||
|
||||
public void setPageNum(int pageNum) {
|
||||
this.pageNum = pageNum;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OrderCancelDTO [memberId=" + memberId + ", orderId=" + orderId + ", keyword=" + keyword + ", amount="
|
||||
+ amount + ", pageNum=" + pageNum + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.vam.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.OrderCancelDTO;
|
||||
import com.vam.model.OrderDTO;
|
||||
import com.vam.model.OrderPageItemDTO;
|
||||
|
||||
@@ -13,4 +14,7 @@ public interface OrderService {
|
||||
/* 주문 */
|
||||
public void order(OrderDTO orw);
|
||||
|
||||
/* 주문 취소 */
|
||||
public void orderCancle(OrderCancelDTO dto);
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.vam.model.AttachImageVO;
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CartDTO;
|
||||
import com.vam.model.MemberVO;
|
||||
import com.vam.model.OrderCancelDTO;
|
||||
import com.vam.model.OrderDTO;
|
||||
import com.vam.model.OrderItemDTO;
|
||||
import com.vam.model.OrderPageItemDTO;
|
||||
@@ -138,6 +139,53 @@ public class OrderServiceImpl implements OrderService{
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* 주문취소 */
|
||||
@Override
|
||||
@Transactional
|
||||
public void orderCancle(OrderCancelDTO dto) {
|
||||
|
||||
/* 주문, 주문상품 객체 */
|
||||
/*회원*/
|
||||
MemberVO member = memberMapper.getMemberInfo(dto.getMemberId());
|
||||
/*주문상품*/
|
||||
List<OrderItemDTO> ords = orderMapper.getOrderItemInfo(dto.getOrderId());
|
||||
for(OrderItemDTO ord : ords) {
|
||||
ord.initSaleTotal();
|
||||
}
|
||||
/* 주문 */
|
||||
OrderDTO orw = orderMapper.getOrder(dto.getOrderId());
|
||||
orw.setOrders(ords);
|
||||
|
||||
orw.getOrderPriceInfo();
|
||||
|
||||
/* 주문상품 취소 DB */
|
||||
orderMapper.orderCancle(dto.getOrderId());
|
||||
|
||||
/* 돈, 포인트, 재고 변환 */
|
||||
/* 돈 */
|
||||
int calMoney = member.getMoney();
|
||||
calMoney += orw.getOrderFinalSalePrice();
|
||||
member.setMoney(calMoney);
|
||||
|
||||
/* 포인트 */
|
||||
int calPoint = member.getPoint();
|
||||
calPoint = calPoint + orw.getUsePoint() - orw.getOrderSavePoint();
|
||||
member.setPoint(calPoint);
|
||||
|
||||
/* DB적용 */
|
||||
orderMapper.deductMoney(member);
|
||||
|
||||
/* 재고 */
|
||||
for(OrderItemDTO ord : orw.getOrders()) {
|
||||
BookVO book = bookMapper.getGoodsInfo(ord.getBookId());
|
||||
book.setBookStock(book.getBookStock() + ord.getBookCount());
|
||||
orderMapper.deductStock(book);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -48,5 +48,28 @@
|
||||
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문취소 -->
|
||||
<update id="orderCancle">
|
||||
|
||||
update vam_order set orderState = '주문취소' where orderId = #{orderId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문 상품 정보(주문취소) -->
|
||||
<select id="getOrderItemInfo" resultType="com.vam.model.OrderItemDTO">
|
||||
|
||||
select * from vam_orderItem
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 주문 정보(주문 취소) -->
|
||||
<select id="getOrder" resultType="com.vam.model.OrderDTO">
|
||||
|
||||
select * from vam_order
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -48,5 +48,28 @@
|
||||
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문취소 -->
|
||||
<update id="orderCancle">
|
||||
|
||||
update vam_order set orderState = '주문취소' where orderId = #{orderId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문 상품 정보(주문취소) -->
|
||||
<select id="getOrderItemInfo" resultType="com.vam.model.OrderItemDTO">
|
||||
|
||||
select * from vam_orderItem
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 주문 정보(주문 취소) -->
|
||||
<select id="getOrder" resultType="com.vam.model.OrderDTO">
|
||||
|
||||
select * from vam_order
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.vam.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.MemberVO;
|
||||
import com.vam.model.OrderDTO;
|
||||
@@ -24,6 +26,15 @@ public interface OrderMapper {
|
||||
public int deductMoney(MemberVO member);
|
||||
|
||||
/* 주문 재고 차감 */
|
||||
public int deductStock(BookVO book);
|
||||
public int deductStock(BookVO book);
|
||||
|
||||
/* 주문 취소 */
|
||||
public int orderCancle(String orderId);
|
||||
|
||||
/* 주문 상품 정보(주문취소) */
|
||||
public List<OrderItemDTO> getOrderItemInfo(String orderId);
|
||||
|
||||
/* 주문 정보(주문취소) */
|
||||
public OrderDTO getOrder(String orderId);
|
||||
|
||||
}
|
||||
|
||||
62
VamPa_MySQL/src/main/java/com/vam/model/OrderCancelDTO.java
Normal file
62
VamPa_MySQL/src/main/java/com/vam/model/OrderCancelDTO.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package com.vam.model;
|
||||
|
||||
public class OrderCancelDTO {
|
||||
|
||||
private String memberId;
|
||||
|
||||
private String orderId;
|
||||
|
||||
private String keyword;
|
||||
|
||||
private int amount;
|
||||
|
||||
private int pageNum;
|
||||
|
||||
public String getMemberId() {
|
||||
return memberId;
|
||||
}
|
||||
|
||||
public void setMemberId(String memberId) {
|
||||
this.memberId = memberId;
|
||||
}
|
||||
|
||||
public String getOrderId() {
|
||||
return orderId;
|
||||
}
|
||||
|
||||
public void setOrderId(String orderId) {
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public String getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
|
||||
public void setKeyword(String keyword) {
|
||||
this.keyword = keyword;
|
||||
}
|
||||
|
||||
public int getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(int amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public int getPageNum() {
|
||||
return pageNum;
|
||||
}
|
||||
|
||||
public void setPageNum(int pageNum) {
|
||||
this.pageNum = pageNum;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OrderCancelDTO [memberId=" + memberId + ", orderId=" + orderId + ", keyword=" + keyword + ", amount="
|
||||
+ amount + ", pageNum=" + pageNum + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.vam.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.vam.model.OrderCancelDTO;
|
||||
import com.vam.model.OrderDTO;
|
||||
import com.vam.model.OrderPageItemDTO;
|
||||
|
||||
@@ -13,4 +14,7 @@ public interface OrderService {
|
||||
/* 주문 */
|
||||
public void order(OrderDTO orw);
|
||||
|
||||
/* 주문 취소 */
|
||||
public void orderCancle(OrderCancelDTO dto);
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.vam.model.AttachImageVO;
|
||||
import com.vam.model.BookVO;
|
||||
import com.vam.model.CartDTO;
|
||||
import com.vam.model.MemberVO;
|
||||
import com.vam.model.OrderCancelDTO;
|
||||
import com.vam.model.OrderDTO;
|
||||
import com.vam.model.OrderItemDTO;
|
||||
import com.vam.model.OrderPageItemDTO;
|
||||
@@ -137,4 +138,51 @@ public class OrderServiceImpl implements OrderService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* 주문취소 */
|
||||
@Override
|
||||
@Transactional
|
||||
public void orderCancle(OrderCancelDTO dto) {
|
||||
|
||||
/* 주문, 주문상품 객체 */
|
||||
/*회원*/
|
||||
MemberVO member = memberMapper.getMemberInfo(dto.getMemberId());
|
||||
/*주문상품*/
|
||||
List<OrderItemDTO> ords = orderMapper.getOrderItemInfo(dto.getOrderId());
|
||||
for(OrderItemDTO ord : ords) {
|
||||
ord.initSaleTotal();
|
||||
}
|
||||
/* 주문 */
|
||||
OrderDTO orw = orderMapper.getOrder(dto.getOrderId());
|
||||
orw.setOrders(ords);
|
||||
|
||||
orw.getOrderPriceInfo();
|
||||
|
||||
/* 주문상품 취소 DB */
|
||||
orderMapper.orderCancle(dto.getOrderId());
|
||||
|
||||
/* 돈, 포인트, 재고 변환 */
|
||||
/* 돈 */
|
||||
int calMoney = member.getMoney();
|
||||
calMoney += orw.getOrderFinalSalePrice();
|
||||
member.setMoney(calMoney);
|
||||
|
||||
/* 포인트 */
|
||||
int calPoint = member.getPoint();
|
||||
calPoint = calPoint + orw.getUsePoint() - orw.getOrderSavePoint();
|
||||
member.setPoint(calPoint);
|
||||
|
||||
/* DB적용 */
|
||||
orderMapper.deductMoney(member);
|
||||
|
||||
/* 재고 */
|
||||
for(OrderItemDTO ord : orw.getOrders()) {
|
||||
BookVO book = bookMapper.getGoodsInfo(ord.getBookId());
|
||||
book.setBookStock(book.getBookStock() + ord.getBookCount());
|
||||
orderMapper.deductStock(book);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -48,5 +48,28 @@
|
||||
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문취소 -->
|
||||
<update id="orderCancle">
|
||||
|
||||
update vam_order set orderState = '주문취소' where orderId = #{orderId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문 상품 정보(주문취소) -->
|
||||
<select id="getOrderItemInfo" resultType="com.vam.model.OrderItemDTO">
|
||||
|
||||
select * from vam_orderItem
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 주문 정보(주문 취소) -->
|
||||
<select id="getOrder" resultType="com.vam.model.OrderDTO">
|
||||
|
||||
select * from vam_order
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -48,5 +48,28 @@
|
||||
update vam_book set bookStock = #{bookStock} where bookId = #{bookId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문취소 -->
|
||||
<update id="orderCancle">
|
||||
|
||||
update vam_order set orderState = '주문취소' where orderId = #{orderId}
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 주문 상품 정보(주문취소) -->
|
||||
<select id="getOrderItemInfo" resultType="com.vam.model.OrderItemDTO">
|
||||
|
||||
select * from vam_orderItem
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 주문 정보(주문 취소) -->
|
||||
<select id="getOrder" resultType="com.vam.model.OrderDTO">
|
||||
|
||||
select * from vam_order
|
||||
where orderId = #{orderId}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user