|
@@ -1010,8 +1010,6 @@ public class TscOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 1.2 즉시할인 적용가 * 주문수량(장바구니수량)
|
|
// 1.2 즉시할인 적용가 * 주문수량(장바구니수량)
|
|
|
- order.setCurrPrice(order.getCurrPrice() * order.getGoodsQty());
|
|
|
|
|
- order.setOrgCurrPrice(order.getOrgCurrPrice() * order.getGoodsQty());
|
|
|
|
|
|
|
|
|
|
// 1.3 배송정책별 상품 구분
|
|
// 1.3 배송정책별 상품 구분
|
|
|
// 1.3.1 자사총알배송
|
|
// 1.3.1 자사총알배송
|
|
@@ -1037,13 +1035,10 @@ public class TscOrderService {
|
|
|
goodsTotCnt++;
|
|
goodsTotCnt++;
|
|
|
|
|
|
|
|
// 1.4 배송단위별 배송비 설정
|
|
// 1.4 배송단위별 배송비 설정
|
|
|
- // 다다익선 할인 금액 적용
|
|
|
|
|
- if (order.getTmtbDcAmt() > 0) {
|
|
|
|
|
- ordAmt = (order.getTmtbDcAmt() + order.getOptAddPrice()) * order.getGoodsQty(); // 주문금액
|
|
|
|
|
- } else {
|
|
|
|
|
- ordAmt = (order.getCurrPrice() + order.getOptAddPrice()) * order.getGoodsQty(); // 주문금액
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // 1.4.1 즉시할인쿠폰금액
|
|
|
|
|
+ ordAmt = ((order.getOrgCurrPrice() + order.getOptAddPrice()) * order.getGoodsQty());
|
|
|
|
|
+ order.setOrdAmt(sumOrdAmt);
|
|
|
|
|
+
|
|
|
Boolean temp = false;
|
|
Boolean temp = false;
|
|
|
|
|
|
|
|
// 1.4.1 업체별 배송비 합계
|
|
// 1.4.1 업체별 배송비 합계
|
|
@@ -1289,14 +1284,102 @@ public class TscOrderService {
|
|
|
orderDetail.setOrdNo(order.getOrdNo());
|
|
orderDetail.setOrdNo(order.getOrdNo());
|
|
|
orderDetail.setOrdExchGb("O");
|
|
orderDetail.setOrdExchGb("O");
|
|
|
orderDetail.setCustNo(order.getCustNo());
|
|
orderDetail.setCustNo(order.getCustNo());
|
|
|
|
|
+ orderDetail.setRegNo(order.getCustNo());
|
|
|
orderDetail.setOrdDtlStat(TscConstants.OrderDetailStat.ORDER_RECEIPT.value());
|
|
orderDetail.setOrdDtlStat(TscConstants.OrderDetailStat.ORDER_RECEIPT.value());
|
|
|
orderDetail.setDelvAddrSq(order.getDelvAddrSq());
|
|
orderDetail.setDelvAddrSq(order.getDelvAddrSq());
|
|
|
orderDetail.setGiftPackYn("N");
|
|
orderDetail.setGiftPackYn("N");
|
|
|
|
|
|
|
|
|
|
+ // 선포인트사용여부에 따라서 적립포인트 0원 설정
|
|
|
|
|
+ if ("Y".equals(order.getPrePntDcAmtYn())) {
|
|
|
|
|
+ if (orderDetail.getPrePntDcAmt() > 0) {
|
|
|
|
|
+ orderDetail.setSavePntAmt(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ orderDetail.setPrePntDcAmt(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 총알배송가능이면 총알배송 상품은 총알배송가능으로 설정
|
|
|
|
|
+ if ("N".equals(order.getShotDelvYn())) {
|
|
|
|
|
+ orderDetail.setShotDelvYn("N");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// TODO 총알배송, 구매대행상품여붗 체크
|
|
// TODO 총알배송, 구매대행상품여붗 체크
|
|
|
orderDao.createOrderDetail(orderDetail); // 주문상세정보등록
|
|
orderDao.createOrderDetail(orderDetail); // 주문상세정보등록
|
|
|
|
|
+
|
|
|
|
|
+ orderDao.createOrderDetailHst(orderDetail); // 주문상세이력정보등록
|
|
|
|
|
+
|
|
|
|
|
+ Collection<Order> orderDetailItemList = orderDao.getOrderDetailItem(orderDetail); // 주문상세단품정보조회
|
|
|
|
|
+
|
|
|
|
|
+ // 주문상세단품단위 금액 등록
|
|
|
|
|
+ int length = orderDetailItemList.size();
|
|
|
|
|
+ int index = 1;
|
|
|
|
|
+ int leftOrdAmt = orderDetail.getOrdAmt();
|
|
|
|
|
+ int leftCpn1DcAmt = orderDetail.getCpn1DcAmt();
|
|
|
|
|
+ int leftTmtb1DcAmt = orderDetail.getTmtb1DcAmt();
|
|
|
|
|
+ int leftTmtb2DcAmt = orderDetail.getTmtb2DcAmt();
|
|
|
|
|
+ int leftGoodsCpnDcAmt = orderDetail.getGoodsCpnDcAmt();
|
|
|
|
|
+ int leftCartCpnDcAmt = orderDetail.getCartCpnDcAmt();
|
|
|
|
|
+ int leftPntDcAmt = orderDetail.getPntDcAmt();
|
|
|
|
|
+ int leftPrePntDcAmt = orderDetail.getPrePntDcAmt();
|
|
|
|
|
+ int leftSavePntAmt = orderDetail.getSavePntAmt();
|
|
|
|
|
+ int leftRealOrdAmt = orderDetail.getRealOrdAmt();
|
|
|
|
|
+ int leftGfcdUseAmt = orderDetail.getGfcdUseAmt();
|
|
|
|
|
+
|
|
|
|
|
+ for (Order orderDetailItem : orderDetailItemList) {
|
|
|
|
|
+ int itemPrice = orderDetailItem.getItemPrice();
|
|
|
|
|
+ int optAddPrice = orderDetailItem.getOptAddPrice();
|
|
|
|
|
+ int itemQty = orderDetailItem.getItemQty();
|
|
|
|
|
+ double currPrice = orderDetailItem.getCurrPrice();
|
|
|
|
|
+ double itemOrdAmt = (itemPrice + optAddPrice) * itemQty;
|
|
|
|
|
+ double tempDivD = (itemOrdAmt / currPrice) * 100;
|
|
|
|
|
+ int tempDiv = Integer.parseInt(String.valueOf(Math.round(tempDivD)));
|
|
|
|
|
+
|
|
|
|
|
+ if (index == length) {
|
|
|
|
|
+ orderDetailItem.setOrdAmt(leftOrdAmt);
|
|
|
|
|
+ orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt);
|
|
|
|
|
+ orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt);
|
|
|
|
|
+ orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt);
|
|
|
|
|
+ orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt);
|
|
|
|
|
+ orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt);
|
|
|
|
|
+ orderDetailItem.setPntDcAmt(leftPntDcAmt);
|
|
|
|
|
+ orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt);
|
|
|
|
|
+ orderDetailItem.setSavePntAmt(leftSavePntAmt);
|
|
|
|
|
+ orderDetailItem.setRealOrdAmt(leftRealOrdAmt);
|
|
|
|
|
+ orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ orderDetailItem.setOrdAmt((orderDetail.getOrdAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setCpn1DcAmt((orderDetail.getCpn1DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setTmtb1DcAmt((orderDetail.getTmtb1DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setTmtb2DcAmt((orderDetail.getTmtb2DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setGoodsCpnDcAmt((orderDetail.getGoodsCpnDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setCartCpnDcAmt((orderDetail.getCartCpnDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setPntDcAmt((orderDetail.getPntDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setPrePntDcAmt((orderDetail.getPrePntDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setSavePntAmt((orderDetail.getSavePntAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setRealOrdAmt((orderDetail.getRealOrdAmt() * tempDiv) / 100);
|
|
|
|
|
+ orderDetailItem.setGfcdUseAmt((orderDetail.getGfcdUseAmt() * tempDiv) / 100);
|
|
|
|
|
+
|
|
|
|
|
+ leftOrdAmt = leftOrdAmt - ((orderDetail.getOrdAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftCpn1DcAmt = leftCpn1DcAmt - ((orderDetail.getCpn1DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftTmtb1DcAmt = leftTmtb1DcAmt - ((orderDetail.getTmtb1DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftTmtb2DcAmt = leftTmtb2DcAmt - ((orderDetail.getTmtb2DcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftGoodsCpnDcAmt = leftGoodsCpnDcAmt - ((orderDetail.getGoodsCpnDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftCartCpnDcAmt = leftCartCpnDcAmt - ((orderDetail.getCartCpnDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftPntDcAmt = leftPntDcAmt - ((orderDetail.getPntDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftPrePntDcAmt = leftPrePntDcAmt - ((orderDetail.getPrePntDcAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftSavePntAmt = leftSavePntAmt - ((orderDetail.getSavePntAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftRealOrdAmt = leftRealOrdAmt - ((orderDetail.getRealOrdAmt() * tempDiv) / 100);
|
|
|
|
|
+ leftGfcdUseAmt = leftGfcdUseAmt - ((orderDetail.getGfcdUseAmt() * tempDiv) / 100);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ orderDetailItem.setCustNo(order.getCustNo());
|
|
|
|
|
|
|
|
- orderDao.createOrderDetailItem(orderDetail); // 주문상세단품정보등록
|
|
|
|
|
|
|
+ orderDao.createOrderDetailItem(orderDetailItem); // 주문상세단품정보등록
|
|
|
|
|
+
|
|
|
|
|
+ orderDao.createOrderDetailItemHst(orderDetailItem); // 주문상세단품이력정보등록
|
|
|
|
|
+
|
|
|
|
|
+ index++;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|