|
@@ -966,23 +966,30 @@ public class TscOrderService {
|
|
|
* @since 2021. 02. 02
|
|
* @since 2021. 02. 02
|
|
|
*/
|
|
*/
|
|
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
|
|
- public GagaMap getCartDelvGoodsCntList(Collection<Order> cartGoodsList) {
|
|
|
|
|
|
|
+ public GagaMap getCartDelvGoodsCntList(Collection<Order> cartGoodsList, Order orderInfo) {
|
|
|
|
|
|
|
|
// 1. 장바구니 상품 배송단위별 건수 체크 로직 (자사:총알배송, 자사:일반배송, 입점업체, 예약배송)
|
|
// 1. 장바구니 상품 배송단위별 건수 체크 로직 (자사:총알배송, 자사:일반배송, 입점업체, 예약배송)
|
|
|
GagaMap resultMap = new GagaMap();
|
|
GagaMap resultMap = new GagaMap();
|
|
|
|
|
|
|
|
- int shotCnt = 0; // 자사총알배송 건수
|
|
|
|
|
- int wmsCnt = 0; // 자사일반배송 건수
|
|
|
|
|
- int resCnt = 0; // 자사예약배송 건수
|
|
|
|
|
- int delvCnt = 0; // 업체직배송 건수
|
|
|
|
|
- int delvFeeTotCnt = 0; // 배송단위 총 건수
|
|
|
|
|
- int delvTotCnt = 0; // 배송 총 건수
|
|
|
|
|
|
|
+ int shotCnt = 0; // 자사총알배송 건수
|
|
|
|
|
+ int wmsCnt = 0; // 자사일반배송 건수
|
|
|
|
|
+ int shotWmsCnt = 0; // 자사총알,일반배송 건수
|
|
|
|
|
+ int resCnt = 0; // 자사예약배송 건수
|
|
|
|
|
+ int delvCnt = 0; // 업체직배송 건수
|
|
|
|
|
+ int delvFeeCdCnt = 0; // 배송정책단위 총 건수
|
|
|
|
|
+ int goodsTotCnt = 0; // 상품 총 건수
|
|
|
|
|
+
|
|
|
|
|
+ String foreignBuyYn = "N"; // 해외구매대행여부
|
|
|
|
|
+ String orderMadeYn = "N"; // 주문제작상품여부
|
|
|
|
|
|
|
|
Collection<Order> shotCartList = (Collection<Order>)new ArrayList(); // 자사 총알배송
|
|
Collection<Order> shotCartList = (Collection<Order>)new ArrayList(); // 자사 총알배송
|
|
|
Collection<Order> wmsCartList = (Collection<Order>)new ArrayList(); // 자사 일반배송
|
|
Collection<Order> wmsCartList = (Collection<Order>)new ArrayList(); // 자사 일반배송
|
|
|
|
|
+ Collection<Order> shotWmsCartList = (Collection<Order>)new ArrayList(); // 자사 총알,일반배송
|
|
|
Collection<Order> resCartList = (Collection<Order>)new ArrayList(); // 자사 예약배송
|
|
Collection<Order> resCartList = (Collection<Order>)new ArrayList(); // 자사 예약배송
|
|
|
Collection<Order> delvCartList = (Collection<Order>)new ArrayList(); // 입점 일반배송
|
|
Collection<Order> delvCartList = (Collection<Order>)new ArrayList(); // 입점 일반배송
|
|
|
Collection<Collection<Order>> delvAllCartList = (Collection<Collection<Order>>)new ArrayList(); // 배송전체목록
|
|
Collection<Collection<Order>> delvAllCartList = (Collection<Collection<Order>>)new ArrayList(); // 배송전체목록
|
|
|
|
|
+ Collection<Collection<Order>> delvCartGoodsList = (Collection<Collection<Order>>)new ArrayList(); // 장바구니상품목록
|
|
|
|
|
+
|
|
|
|
|
|
|
|
List<Order> delvFeeCdList = (ArrayList<Order>)new ArrayList();
|
|
List<Order> delvFeeCdList = (ArrayList<Order>)new ArrayList();
|
|
|
int ordAmt = 0; // 주문금액
|
|
int ordAmt = 0; // 주문금액
|
|
@@ -1008,8 +1015,13 @@ public class TscOrderService {
|
|
|
order.setOrgCurrPrice(order.getOrgCurrPrice() * order.getGoodsQty());
|
|
order.setOrgCurrPrice(order.getOrgCurrPrice() * order.getGoodsQty());
|
|
|
|
|
|
|
|
// 1.3 배송정책별 상품 구분
|
|
// 1.3 배송정책별 상품 구분
|
|
|
- // 1.3.1 자사일반배송
|
|
|
|
|
- if ("WMS".equals(order.getResDelvFeeCd())) {
|
|
|
|
|
|
|
+ // 1.3.1 자사총알배송
|
|
|
|
|
+ if ("SHOT".equals(order.getResDelvFeeCd())) {
|
|
|
|
|
+ shotCartList.add(order);
|
|
|
|
|
+ shotCnt++;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 1.3.2 자사일반배송
|
|
|
|
|
+ else if ("WMS".equals(order.getResDelvFeeCd())) {
|
|
|
wmsCartList.add(order);
|
|
wmsCartList.add(order);
|
|
|
wmsCnt++;
|
|
wmsCnt++;
|
|
|
}
|
|
}
|
|
@@ -1023,7 +1035,7 @@ public class TscOrderService {
|
|
|
delvCartList.add(order);
|
|
delvCartList.add(order);
|
|
|
delvCnt++;
|
|
delvCnt++;
|
|
|
}
|
|
}
|
|
|
- delvTotCnt++;
|
|
|
|
|
|
|
+ goodsTotCnt++;
|
|
|
|
|
|
|
|
// 1.4 배송단위별 배송비 설정
|
|
// 1.4 배송단위별 배송비 설정
|
|
|
// 다다익선 할인 금액 적용
|
|
// 다다익선 할인 금액 적용
|
|
@@ -1062,6 +1074,16 @@ public class TscOrderService {
|
|
|
order.setSumOrdAmt(ordAmt);
|
|
order.setSumOrdAmt(ordAmt);
|
|
|
delvFeeCdList.add(order);
|
|
delvFeeCdList.add(order);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 1.5 해외구매대행여부체크
|
|
|
|
|
+ if ("Y".equals(order.getForeignBuyYn())) {
|
|
|
|
|
+ foreignBuyYn = "Y";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 1.6 주문제작여부체크
|
|
|
|
|
+ if ("Y".equals(order.getOrderMadeYn())) {
|
|
|
|
|
+ orderMadeYn = "Y";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 배송비
|
|
// 배송비
|
|
@@ -1078,41 +1100,68 @@ public class TscOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 입점업체건수 적용
|
|
// 입점업체건수 적용
|
|
|
- delvFeeTotCnt = delvCnt;
|
|
|
|
|
|
|
+ delvFeeCdCnt = delvCnt;
|
|
|
|
|
|
|
|
// 자사총알배송건수 추가
|
|
// 자사총알배송건수 추가
|
|
|
if (shotCnt > 0) {
|
|
if (shotCnt > 0) {
|
|
|
- delvFeeTotCnt++;
|
|
|
|
|
|
|
+ delvFeeCdCnt++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 자사일반배송건수 1추가
|
|
// 자사일반배송건수 1추가
|
|
|
if (wmsCnt > 0) {
|
|
if (wmsCnt > 0) {
|
|
|
- delvFeeTotCnt++;
|
|
|
|
|
|
|
+ delvFeeCdCnt++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 자사예약배송건수 1추가
|
|
// 자사예약배송건수 1추가
|
|
|
if (resCnt > 0) {
|
|
if (resCnt > 0) {
|
|
|
- delvFeeTotCnt++;
|
|
|
|
|
|
|
+ delvFeeCdCnt++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- delvAllCartList.add(shotCartList);
|
|
|
|
|
- delvAllCartList.add(wmsCartList);
|
|
|
|
|
- delvAllCartList.add(delvCartList);
|
|
|
|
|
- delvAllCartList.add(resCartList);
|
|
|
|
|
-
|
|
|
|
|
- resultMap.set("wmsCnt" , wmsCnt); // 자사몰 일반배송건수
|
|
|
|
|
|
|
+ shotWmsCnt = shotCnt + wmsCnt;
|
|
|
|
|
+
|
|
|
|
|
+ // 총알배송, 일반배송
|
|
|
|
|
+ shotWmsCartList.addAll(shotCartList);
|
|
|
|
|
+ shotWmsCartList.addAll(wmsCartList);
|
|
|
|
|
+
|
|
|
|
|
+ // 전체배송정보
|
|
|
|
|
+ // 총알배송일때 배송정보 목록 분기처리
|
|
|
|
|
+ if ("Y".equals(orderInfo.getShotDelvYn())) {
|
|
|
|
|
+ delvAllCartList.add(shotCartList); // index 0
|
|
|
|
|
+ delvAllCartList.add(wmsCartList); // index 1
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 배송카운트(총알배송 + 일반배송)
|
|
|
|
|
+ shotCnt = 0;
|
|
|
|
|
+ wmsCnt = shotWmsCnt;
|
|
|
|
|
+
|
|
|
|
|
+ delvAllCartList.add(null); // index 0
|
|
|
|
|
+ delvAllCartList.add(shotWmsCartList); // index 1
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ delvAllCartList.add(delvCartList); // index 4
|
|
|
|
|
+ delvAllCartList.add(resCartList); // index 5
|
|
|
|
|
+
|
|
|
|
|
+ delvCartGoodsList.add(shotCartList);
|
|
|
|
|
+ delvCartGoodsList.add(wmsCartList);
|
|
|
|
|
+ delvCartGoodsList.add(delvCartList);
|
|
|
|
|
+ delvCartGoodsList.add(resCartList);
|
|
|
|
|
+
|
|
|
|
|
+ resultMap.set("delvFeeCdCnt" , delvFeeCdCnt); // 배송타입건수
|
|
|
|
|
+ resultMap.set("shotCnt" , shotCnt); // 자사몰 총알배송건수
|
|
|
|
|
+ resultMap.set("wmsCnt" , wmsCnt); // 자사몰 일반배송건수(총알배송불가)
|
|
|
|
|
+ resultMap.set("shotWmsCnt" , shotWmsCnt); // 자사몰 총알,일반배송건수(총알배송불가)
|
|
|
resultMap.set("resCnt" , resCnt); // 자사몰 예약배송건수
|
|
resultMap.set("resCnt" , resCnt); // 자사몰 예약배송건수
|
|
|
resultMap.set("delvCnt" , delvCnt); // 입점업체 배송건수
|
|
resultMap.set("delvCnt" , delvCnt); // 입점업체 배송건수
|
|
|
- resultMap.set("delvTotCnt" , delvTotCnt); // 배송유형건수
|
|
|
|
|
- resultMap.set("delvFeeTotCnt" , delvFeeTotCnt); // 전체배송건수
|
|
|
|
|
- resultMap.set("shotCartList" , shotCartList); // 자사총알배송상품목록
|
|
|
|
|
- resultMap.set("wmsCartList" , wmsCartList); // 자사일반배송상품목록
|
|
|
|
|
- resultMap.set("resCartList" , resCartList); // 자사예약배송상품목록
|
|
|
|
|
- resultMap.set("delvAllCartList" , delvAllCartList); // 전체배송목록 sort
|
|
|
|
|
- resultMap.set("delvCartList" , delvCartList); // 입점업체상품목록
|
|
|
|
|
|
|
+
|
|
|
|
|
+ resultMap.set("goodsTotCnt" , goodsTotCnt); // 전체상품건수
|
|
|
|
|
+ resultMap.set("delvAllCartList" , delvAllCartList); // 전체배송단위목록 sort
|
|
|
|
|
+ resultMap.set("delvCartGoodsList" , delvCartGoodsList); // 장바구니상품목록 sort
|
|
|
|
|
+
|
|
|
resultMap.set("sumDelvFee" , sumDelvFee); // 배송비합계
|
|
resultMap.set("sumDelvFee" , sumDelvFee); // 배송비합계
|
|
|
resultMap.set("delvFeeCdList" , delvFeeCdList); // 배송업체목록
|
|
resultMap.set("delvFeeCdList" , delvFeeCdList); // 배송업체목록
|
|
|
|
|
|
|
|
|
|
+ resultMap.set("foreignBuyYn" , foreignBuyYn); // 해외구매대행여부
|
|
|
|
|
+ resultMap.set("orderMadeYn" , orderMadeYn); // 주문제작여부
|
|
|
|
|
+
|
|
|
return resultMap;
|
|
return resultMap;
|
|
|
}
|
|
}
|
|
|
|
|
|