Compare commits
1 Commits
82f04ec36e
...
master_ord
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
305d5d226c |
@@ -286,6 +286,13 @@ public class BOMaMtngController {
|
|||||||
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
// log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
|
// content.put("result","Y");
|
||||||
|
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
|
||||||
|
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
|
||||||
|
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
|
// }
|
||||||
if (CollectionUtils.isEmpty(shipping)) {
|
if (CollectionUtils.isEmpty(shipping)) {
|
||||||
log.info("배송지 정보를 찾을 수 없습니다.");
|
log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
@@ -322,27 +329,91 @@ public class BOMaMtngController {
|
|||||||
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
||||||
|
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
||||||
if (
|
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
// 배송지 리스트
|
||||||
( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
|
List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
|
||||||
( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
|
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
|
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
|
||||||
) {
|
content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
|
||||||
content.put("result","Y");
|
if (!"0".equals(content.get("status"))) {
|
||||||
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
}
|
||||||
|
/** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
|
||||||
|
|
||||||
|
// 부정판매 체크를 위한 배송지 정렬
|
||||||
|
if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
|
||||||
|
|
||||||
|
boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
|
||||||
|
String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
|
||||||
|
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
||||||
|
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
||||||
|
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
||||||
|
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
||||||
|
|
||||||
|
return StringUtil.isEmpty(dlvylcZip)
|
||||||
|
|| StringUtil.isEmpty(adresDvCd)
|
||||||
|
|| ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
|
||||||
|
|| ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
|
||||||
|
|| StringUtil.isEmpty(adresDtl);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (hasInvalidAddress) {
|
||||||
|
content.put("result","Y");
|
||||||
|
content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
||||||
|
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> adresList = dlvylcListMulti.stream()
|
||||||
|
.map(map -> {
|
||||||
|
String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
||||||
|
String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
||||||
|
String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
||||||
|
String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
||||||
|
String adresMulti;
|
||||||
|
if ("01".equals(adresDvCd)) {
|
||||||
|
adresMulti = dlvylcRnmAdres + " " + adresDtl;
|
||||||
|
} else {
|
||||||
|
adresMulti = dlvylcLnbAdres + " " + adresDtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return adresMulti;
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
adresArray = adresList.toArray(new String[0]);
|
||||||
|
|
||||||
|
List<String> receptMbtlnbList = dlvylcListMulti.stream()
|
||||||
|
.map(map -> {
|
||||||
|
return StringUtil.isNullToString(map.get("recpntMbtlnb"));
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// if (
|
||||||
String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
|
// StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
||||||
String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
|
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
||||||
String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
|
// ( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
|
||||||
String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
|
// ( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
|
||||||
|
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
|
||||||
adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
|
// ) {
|
||||||
|
// content.put("result","Y");
|
||||||
String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
|
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
||||||
receptMbtlnbArray = new String[]{recpntMbtlnb};
|
// return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
|
||||||
|
// String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
|
||||||
|
// String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
|
||||||
|
// String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
|
||||||
|
//
|
||||||
|
// adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
|
||||||
|
//
|
||||||
|
// String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
|
||||||
|
// receptMbtlnbArray = new String[]{recpntMbtlnb};
|
||||||
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
||||||
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
|
||||||
|
|||||||
@@ -406,6 +406,8 @@ public class BOMaMtngService {
|
|||||||
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
|
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
|
||||||
LinkedHashMap enuri = (LinkedHashMap) param.get("enuri"); // 할인정보
|
LinkedHashMap enuri = (LinkedHashMap) param.get("enuri"); // 할인정보
|
||||||
|
|
||||||
|
log.debug("selectBOPreOrderValidationList-goodsList: {}",goodsList);
|
||||||
|
|
||||||
//사용한 장바구니 쿠폰
|
//사용한 장바구니 쿠폰
|
||||||
//비회원의 경우 enuri 자체가 없어서 isEmpty 확인
|
//비회원의 경우 enuri 자체가 없어서 isEmpty 확인
|
||||||
List<LinkedHashMap> usedCartCouponList = new ArrayList<>();
|
List<LinkedHashMap> usedCartCouponList = new ArrayList<>();
|
||||||
|
|||||||
@@ -81,19 +81,6 @@ public class BOOrderService {
|
|||||||
log.debug("결제정보 => {} ", new Gson().toJson(setle));
|
log.debug("결제정보 => {} ", new Gson().toJson(setle));
|
||||||
log.debug("사은품 => {} ", new Gson().toJson(prsntList));
|
log.debug("사은품 => {} ", new Gson().toJson(prsntList));
|
||||||
|
|
||||||
/** 여러곳 배송 배송지 세팅 시작 */
|
|
||||||
LinkedHashMap<String, Object> multiOrdrDlvylcMap = new LinkedHashMap<>();
|
|
||||||
List<LinkedHashMap<String, Object>> dlvylcListMulti = new ArrayList<>();
|
|
||||||
|
|
||||||
multiOrdrDlvylcMap = (LinkedHashMap) param.get("multiOrdrDlvylc");
|
|
||||||
log.debug("multiOrdrDlvylcMap : {}", multiOrdrDlvylcMap);
|
|
||||||
if (!CollectionUtils.isEmpty(multiOrdrDlvylcMap)) {
|
|
||||||
// 배송지 리스트
|
|
||||||
dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylcMap.get("dlvylc");
|
|
||||||
log.debug("dlvylcListMulti : {}", dlvylcListMulti);
|
|
||||||
}
|
|
||||||
/** 여러곳 배송 배송지 세팅 종료 */
|
|
||||||
|
|
||||||
String sopmalCd = "";
|
String sopmalCd = "";
|
||||||
if("01".equals(user.getSysDvCd())){
|
if("01".equals(user.getSysDvCd())){
|
||||||
sopmalCd = user.getSopmalCd();
|
sopmalCd = user.getSopmalCd();
|
||||||
@@ -103,6 +90,85 @@ public class BOOrderService {
|
|||||||
|
|
||||||
String ordrTyCd = (String) param.get("ordrTyCd");
|
String ordrTyCd = (String) param.get("ordrTyCd");
|
||||||
|
|
||||||
|
log.debug("insertMngrOrdrRegist-param : {}", param);
|
||||||
|
|
||||||
|
/* *****************************
|
||||||
|
0. 여러곳 배송 배송지 세팅
|
||||||
|
***************************** */
|
||||||
|
/** 여러곳 배송 배송지 세팅 시작 */
|
||||||
|
LinkedHashMap<String, Object> multiOrdrDlvylcMap = new LinkedHashMap<>();
|
||||||
|
List<LinkedHashMap<String, Object>> dlvylcListMulti = new ArrayList<>();
|
||||||
|
multiOrdrDlvylcMap = (LinkedHashMap) param.get("multiOrdrDlvylc");
|
||||||
|
log.debug("multiOrdrDlvylcMap : {}", multiOrdrDlvylcMap);
|
||||||
|
|
||||||
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
||||||
|
|
||||||
|
for(int i=0;i<goodsList.size();i++) {
|
||||||
|
int goodsQy = (int) goodsList.get(i).get("qy");
|
||||||
|
int dlvyGroupInnb = (int) goodsList.get(i).get("dlvyGroupInnb");
|
||||||
|
String sopmalCode = sopmalCd;
|
||||||
|
|
||||||
|
DataMap shippingParam = new DataMap() {{
|
||||||
|
put("dlvyGroupInnb", dlvyGroupInnb);
|
||||||
|
put("sopmalCd", sopmalCode);
|
||||||
|
}};
|
||||||
|
|
||||||
|
DataMap shippingGrouping = mapper.selectShippingGrouping(shippingParam);
|
||||||
|
|
||||||
|
BigDecimal itemDftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt"); // 기본배송비
|
||||||
|
BigDecimal itemDlvyAmt = itemDftDlvyAmt; // 배송비
|
||||||
|
// String dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt"); // 도서산간 추가 배송비 조건
|
||||||
|
// BigDecimal areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt"); // 도서산간 추가 배송비
|
||||||
|
|
||||||
|
List<LinkedHashMap> itemGoodsList = new ArrayList<>();
|
||||||
|
itemGoodsList.add(goodsList.get(i));
|
||||||
|
for (LinkedHashMap<String, Object> itemGoodsMap : itemGoodsList) {
|
||||||
|
itemGoodsMap.put("qy", 1);
|
||||||
|
}
|
||||||
|
List<LinkedHashMap> itempPrsntList = new ArrayList<>();
|
||||||
|
if(!prsntList.isEmpty()){
|
||||||
|
itempPrsntList.add(prsntList.get(i));
|
||||||
|
for (LinkedHashMap<String, Object> itemPrsntMap : itempPrsntList) {
|
||||||
|
itemPrsntMap.put("qy", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int j=0;j<goodsQy;j++) {
|
||||||
|
LinkedHashMap<String, Object> dlvyMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
dlvyMap.put("dftDlvyAmt", itemDftDlvyAmt.intValue());
|
||||||
|
dlvyMap.put("dlvyAmt", itemDlvyAmt.intValue());
|
||||||
|
dlvyMap.put("couponInnb", 0);
|
||||||
|
dlvyMap.put("dwldCouponInnb", 0);
|
||||||
|
dlvyMap.put("dplctDscntAt", "");
|
||||||
|
dlvyMap.put("otrCouponSmtmUseAt", "");
|
||||||
|
dlvyMap.put("mngrFreeDlvyUseAt", "N");
|
||||||
|
dlvyMap.put("dlvylcZip", shipping.get("dlvylcZip"));
|
||||||
|
dlvyMap.put("recpntNm", shipping.get("recpntNm"));
|
||||||
|
dlvyMap.put("recpntMbtlnb", shipping.get("recpntMbtlnb"));
|
||||||
|
dlvyMap.put("dlvylcAdresDvCd", shipping.get("dlvylcAdresDvCd"));
|
||||||
|
dlvyMap.put("dlvylcLnbAdres", shipping.get("dlvylcLnbAdres"));
|
||||||
|
dlvyMap.put("dlvylcRnmAdres", shipping.get("dlvylcRnmAdres"));
|
||||||
|
dlvyMap.put("dlvylcAdresDtl", shipping.get("dlvylcAdresDtl"));
|
||||||
|
dlvyMap.put("dlvyMssageCn", shipping.get("dlvyMssageCn"));
|
||||||
|
dlvyMap.put("goodsList", itemGoodsList);
|
||||||
|
dlvyMap.put("prsntList", itempPrsntList); //prsntList.get(i));
|
||||||
|
|
||||||
|
dlvylcListMulti.add(dlvyMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송, 선물하기
|
||||||
|
if (!CollectionUtils.isEmpty(multiOrdrDlvylcMap)) {
|
||||||
|
// 배송지 리스트
|
||||||
|
dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylcMap.get("dlvylc");
|
||||||
|
log.debug("dlvylcListMulti : {}", dlvylcListMulti);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** 여러곳 배송 배송지 세팅 종료 */
|
||||||
|
|
||||||
/* *****************************
|
/* *****************************
|
||||||
1. 주문등록(GC_ORDER)
|
1. 주문등록(GC_ORDER)
|
||||||
***************************** */
|
***************************** */
|
||||||
@@ -128,122 +194,387 @@ public class BOOrderService {
|
|||||||
|
|
||||||
BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO();
|
BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO();
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
||||||
BOOrderShippingVO shippingVO = new BOOrderShippingVO();
|
log.debug("여러곳 배송 > 배송지별 배송정보 => {} ", new Gson().toJson(dlvylcListMulti));
|
||||||
|
|
||||||
shippingVO.setSopmalCd(sopmalCd);
|
// 짜투리 계산을 위해 상품별 수량 체크
|
||||||
shippingVO.setOrdrInnb(ordrInnb);
|
List<LinkedHashMap> goodsSetList = new ArrayList<>();
|
||||||
shippingVO.setMngrInnb(orderVO.getMngrInnb());
|
for (LinkedHashMap multiGoods : goodsList) {
|
||||||
shippingVO.setMbrInnb(orderVO.getMbrInnb());
|
int multiGoodsInnb = (int) multiGoods.get("goodsInnb");
|
||||||
shippingVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
int multiGoodsOptnInnb = (int) multiGoods.get("goodsOptnInnb");
|
||||||
shippingVO.setMngrFreeDlvyUseAt(StringUtil.isNullToString(shipping.get("mngrFreeDlvyUseAt")) != "" ? StringUtil.isNullToString(shipping.get("mngrFreeDlvyUseAt")) : "N");
|
|
||||||
|
|
||||||
/* *****************************************
|
LinkedHashMap baseGoods = goodsList.stream()
|
||||||
5. 주문배송 정보 등록(GC_ORDER_SHIPPING)
|
.filter(goods ->
|
||||||
***************************************** */
|
Objects.equals((int) goods.get("goodsInnb"), multiGoodsInnb) &&
|
||||||
|
Objects.equals((int) goods.get("goodsOptnInnb"), multiGoodsOptnInnb)
|
||||||
|
)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
insertShipping(ordrTyCd, shipping, shippingVO);
|
if (baseGoods != null) {
|
||||||
shippingEscrowVO = shippingVO; //에스크로에 보낼 배송정보
|
LinkedHashMap merged = new LinkedHashMap<>(baseGoods);
|
||||||
|
merged.put("setQy", 0);
|
||||||
BigInteger ordrDlvyInnb = shippingVO.getOrdrDlvyInnb();
|
goodsSetList.add(merged);
|
||||||
|
|
||||||
String mngrFreeDlvyUseAt = (String) shipping.get("mngrFreeDlvyUseAt");
|
|
||||||
|
|
||||||
if ("Y".equals(mngrFreeDlvyUseAt)) { // TODO : cjh : 2025-02-28 무료 배송비 : 'Y' 일 경우 애누리에 할인 금액 세팅 -> 배송비 0원에 여부 데이터만 세팅으로 변경 됌.
|
|
||||||
// BigDecimal dscntAmt = new BigDecimal(StringUtils.hasText((String) enuri.get("enuriAmt")) ? (String) enuri.get("enuriAmt") : "0");
|
|
||||||
// BigDecimal mngrFreeDlvyUseAmt = new BigDecimal((String) shipping.get("mngrFreeDlvyUseAmt"));
|
|
||||||
|
|
||||||
// enuri.put("enuriAmt", dscntAmt.add(mngrFreeDlvyUseAmt).toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 분배된 할인 금액 누적
|
|
||||||
BOOrderRestAmtVO discountInfo = new BOOrderRestAmtVO();
|
|
||||||
|
|
||||||
int optionSeqIndex = 1;
|
|
||||||
BOOrderNoVO optionNoVO = new BOOrderNoVO();
|
|
||||||
optionNoVO.setOrdrInnb(ordrInnb);
|
|
||||||
for (int i = 0; i < goodsList.size(); i++) {
|
|
||||||
LinkedHashMap goods = goodsList.get(i);
|
|
||||||
|
|
||||||
boolean isLast = i == goodsList.size() - 1;
|
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(goods)) {
|
|
||||||
int goodsInnb = (int) goods.get("goodsInnb");
|
|
||||||
int goodsOptnInnb = (int) goods.get("goodsOptnInnb");
|
|
||||||
int ordrQy = (int) goods.get("qy");
|
|
||||||
|
|
||||||
BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
|
||||||
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null);
|
|
||||||
|
|
||||||
/* ***********************************************
|
|
||||||
6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION)
|
|
||||||
주문 상품 입력 옵션 정보 등록
|
|
||||||
*********************************************** */
|
|
||||||
if (orderItemVO != null) {
|
|
||||||
BOOrderItemOptnVO itemOptnVO = new BOOrderItemOptnVO();
|
|
||||||
|
|
||||||
itemOptnVO.setSopmalCd(sopmalCd);
|
|
||||||
itemOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb());
|
|
||||||
itemOptnVO.setOrdrDlvyInnb(ordrDlvyInnb);
|
|
||||||
itemOptnVO.setOrdrInnb(ordrInnb);
|
|
||||||
itemOptnVO.setOrdrSttusCd("0"); // 주문상태(99:결제실패)
|
|
||||||
|
|
||||||
setGoodsOptn(sopmalCd, goodsInnb, goodsOptnInnb, ordrQy, itemOptnVO); // 상품 옵션정보 세팅
|
|
||||||
|
|
||||||
setDscntDtls(goodsInnb, goodsOptnInnb, null, goodsList, shipping, enuri, itemOptnVO, isLast, isLast, discountInfo); // 상품 할인내역 세팅
|
|
||||||
|
|
||||||
if (StringUtils.hasText((String) purchsr.get("mbrId"))) { // 회원
|
|
||||||
setMlgAmt(ordrTyCd, goodsInnb, goodsOptnInnb, ordrQy, goodsList, itemOptnVO); // 상품 마일리지 정보 세팅
|
|
||||||
} else {
|
|
||||||
itemOptnVO.setMlgAccmlUnit(new BigDecimal(0)); // 마일리지적립금액(개당)
|
|
||||||
itemOptnVO.setMlgAccmlRest(new BigDecimal(0)); // 마일리지적립금액(짜투리)
|
|
||||||
}
|
|
||||||
|
|
||||||
itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
|
||||||
mapper.insertOrdrGoodsOption(itemOptnVO); // 주문 상품 옵션 정보 등록
|
|
||||||
|
|
||||||
String inputOptn = (String) goods.get("inputOptn");
|
|
||||||
|
|
||||||
if (StringUtils.hasText(inputOptn)) {
|
|
||||||
String[] inputOptns = inputOptn.split("/");
|
|
||||||
|
|
||||||
for (int j = 0; j < inputOptns.length; j++) {
|
|
||||||
String optn = inputOptns[j];
|
|
||||||
String[] optns = optn.split(",");
|
|
||||||
|
|
||||||
BOOrderItemOptnVO inputOptnVO = new BOOrderItemOptnVO();
|
|
||||||
|
|
||||||
inputOptnVO.setSopmalCd(sopmalCd); // 쇼핑몰 코드
|
|
||||||
inputOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb()); // 주문상품 고유번호
|
|
||||||
inputOptnVO.setOrdrDlvyInnb(ordrDlvyInnb); // 주문배송 고유번호
|
|
||||||
inputOptnVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
|
||||||
inputOptnVO.setRelateOrdrGoodsOptnInnb(itemOptnVO.getOrdrGoodsOptnInnb());
|
|
||||||
|
|
||||||
setGoodsOptn(optns[0], Integer.parseInt(optns[1]), Integer.parseInt(optns[2]), 0, inputOptnVO);
|
|
||||||
|
|
||||||
if (i == 0) {
|
|
||||||
inputOptnVO.setOptnVal1(optns[3]);
|
|
||||||
} else if (i == 1) {
|
|
||||||
inputOptnVO.setOptnVal2(optns[3]);
|
|
||||||
} else if (i == 2) {
|
|
||||||
inputOptnVO.setOptnVal3(optns[3]);
|
|
||||||
} else if (i == 3) {
|
|
||||||
inputOptnVO.setOptnVal4(optns[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
|
||||||
mapper.insertOrdrGoodsOption(inputOptnVO); // 주문 상품 입력 옵션 정보 등록
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ***********************************************************
|
log.debug("상품별 수량 체크 : {}", goodsSetList);
|
||||||
7. 주문 상품 옵션(사은품) 정보 등록(GC_ORDER_ITEM_OPTION)
|
|
||||||
*********************************************************** */
|
|
||||||
if (!CollectionUtils.isEmpty(prsntList)) {
|
if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
|
||||||
insertPrsnt(sopmalCd, ordrInnb, shippingVO.getOrdrDlvyInnb(), prsntList);
|
|
||||||
|
// 배송지별 상품 수량 합산 - isLast 찾기 위함.
|
||||||
|
List<LinkedHashMap<String, Object>> allMergedGoodsList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (LinkedHashMap<String, Object> dlvylcMapMulti : dlvylcListMulti) {
|
||||||
|
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
||||||
|
|
||||||
|
for (LinkedHashMap multiGoods : goodsListMulti) {
|
||||||
|
int multiGoodsInnb = (int) multiGoods.get("goodsInnb");
|
||||||
|
int multiGoodsOptnInnb = (int) multiGoods.get("goodsOptnInnb");
|
||||||
|
|
||||||
|
LinkedHashMap baseGoods = goodsList.stream()
|
||||||
|
.filter(goods ->
|
||||||
|
Objects.equals((int) goods.get("goodsInnb"), multiGoodsInnb) &&
|
||||||
|
Objects.equals((int) goods.get("goodsOptnInnb"), multiGoodsOptnInnb)
|
||||||
|
)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
if (baseGoods != null) {
|
||||||
|
LinkedHashMap<String, Object> merged = new LinkedHashMap<>(baseGoods);
|
||||||
|
allMergedGoodsList.add(merged);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 분배된 할인 금액 누적
|
||||||
|
BOOrderRestAmtVO discountInfo = new BOOrderRestAmtVO();
|
||||||
|
int allGoodsCount = 0; // 전체 상품 순번
|
||||||
|
|
||||||
|
for (LinkedHashMap<String, Object> dlvylcMapMulti : dlvylcListMulti) {
|
||||||
|
log.debug("dlvylcMapMulti : {}", dlvylcMapMulti);
|
||||||
|
|
||||||
|
BOOrderShippingVO shippingVO = new BOOrderShippingVO();
|
||||||
|
|
||||||
|
shippingVO.setSopmalCd(sopmalCd);
|
||||||
|
shippingVO.setOrdrInnb(ordrInnb);
|
||||||
|
shippingVO.setMngrInnb(orderVO.getMngrInnb());
|
||||||
|
shippingVO.setMbrInnb(orderVO.getMbrInnb());
|
||||||
|
shippingVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
||||||
|
shippingVO.setMngrFreeDlvyUseAt(StringUtil.isNullToString(dlvylcMapMulti.get("mngrFreeDlvyUseAt")) != "" ? StringUtil.isNullToString(dlvylcMapMulti.get("mngrFreeDlvyUseAt")) : "N");
|
||||||
|
|
||||||
|
/* *****************************************
|
||||||
|
5. 주문배송 정보 등록(GC_ORDER_SHIPPING)
|
||||||
|
***************************************** */
|
||||||
|
insertShipping(ordrTyCd, dlvylcMapMulti, shippingVO);
|
||||||
|
shippingEscrowVO = shippingVO; //에스크로에 보낼 배송정보
|
||||||
|
|
||||||
|
BigInteger ordrDlvyInnb = shippingVO.getOrdrDlvyInnb();
|
||||||
|
|
||||||
|
String mngrFreeDlvyUseAt = (String) dlvylcMapMulti.get("mngrFreeDlvyUseAt");
|
||||||
|
|
||||||
|
if ("Y".equals(mngrFreeDlvyUseAt)) { // TODO : cjh : 2025-02-28 무료 배송비 : 'Y' 일 경우 애누리에 할인 금액 세팅 -> 배송비 0원에 여부 데이터만 세팅으로 변경 됌.
|
||||||
|
// BigDecimal dscntAmt = new BigDecimal(StringUtils.hasText((String) enuri.get("enuriAmt")) ? (String) enuri.get("enuriAmt") : "0");
|
||||||
|
// BigDecimal mngrFreeDlvyUseAmt = new BigDecimal((String) dlvylcMapMulti.get("mngrFreeDlvyUseAmt"));
|
||||||
|
|
||||||
|
// enuri.put("enuriAmt", dscntAmt.add(mngrFreeDlvyUseAmt).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
||||||
|
|
||||||
|
List<LinkedHashMap> mergedGoodsList = new ArrayList<>();
|
||||||
|
|
||||||
|
/** CJH
|
||||||
|
* 배송지별 상품 정보 머지
|
||||||
|
* 여러곳 배송일 경우 서버에서 계산해온 상품 정보를 배송지별 수량에 맞게 분배하다보니
|
||||||
|
* 상품 정보와 배송지별 수량정보를 합쳐주는 작업이 필요함
|
||||||
|
* * 일반 주분에서 이벤트 할인 금액, 쿠폰 적용 처리, 적립 마일리지 계산을 배송지별로 계속해서 계산하는데에 어려움이 있어 상품은 유지하고 배송지별로 분배하는 방법을 채택함.
|
||||||
|
*/
|
||||||
|
for (LinkedHashMap multiGoods : goodsListMulti) {
|
||||||
|
int multiGoodsInnb = (int) multiGoods.get("goodsInnb");
|
||||||
|
int multiGoodsOptnInnb = (int) multiGoods.get("goodsOptnInnb");
|
||||||
|
|
||||||
|
// 머지대상
|
||||||
|
int qy = (int) multiGoods.get("qy"); // 주문 수량
|
||||||
|
|
||||||
|
// goodsList에서 상세 정보 찾기
|
||||||
|
LinkedHashMap baseGoods = goodsList.stream()
|
||||||
|
.filter(goods ->
|
||||||
|
Objects.equals((int) goods.get("goodsInnb"), multiGoodsInnb) &&
|
||||||
|
Objects.equals((int) goods.get("goodsOptnInnb"), multiGoodsOptnInnb)
|
||||||
|
)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
if (baseGoods != null) {
|
||||||
|
// 병합
|
||||||
|
LinkedHashMap<String, Object> merged = new LinkedHashMap<>(baseGoods);
|
||||||
|
merged.put("baseQy", merged.get("qy")); // 총 상품별 주문 수량 유지
|
||||||
|
merged.put("qy", qy); // 수량은 배송지별 정보 우선
|
||||||
|
mergedGoodsList.add(merged);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log.debug("머지 작업 후 mergedGoodsList : {}", mergedGoodsList);
|
||||||
|
log.debug("머지 작업 후 goodsList : {}", goodsList);
|
||||||
|
|
||||||
|
|
||||||
|
/** ------------------------------------------- 사은품 세팅 시작 ------------------------------------------- */
|
||||||
|
List<LinkedHashMap> prsntListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("prsntList");
|
||||||
|
|
||||||
|
List<LinkedHashMap> mergedPrsntList = new ArrayList<>();
|
||||||
|
|
||||||
|
/** CJH
|
||||||
|
* 배송지별 상품 정보 머지
|
||||||
|
* 여러곳 배송일 경우 서버에서 계산해온 상품 정보를 배송지별 수량에 맞게 분배하다보니
|
||||||
|
* 상품 정보와 배송지별 수량정보를 합쳐주는 작업이 필요함
|
||||||
|
* * 일반 주분에서 이벤트 할인 금액, 쿠폰 적용 처리, 적립 마일리지 계산을 배송지별로 계속해서 계산하는데에 어려움이 있어 상품은 유지하고 배송지별로 분배하는 방법을 채택함.
|
||||||
|
*/
|
||||||
|
for (LinkedHashMap multiGoods : prsntListMulti) {
|
||||||
|
int multiGoodsInnb = (int) multiGoods.get("goodsInnb");
|
||||||
|
int multiGoodsOptnInnb = (int) multiGoods.get("goodsOptnInnb");
|
||||||
|
|
||||||
|
// 머지대상
|
||||||
|
int qy = (int) multiGoods.get("provdCnt"); // 주문 수량
|
||||||
|
|
||||||
|
// goodsList에서 상세 정보 찾기
|
||||||
|
LinkedHashMap baseGoods = prsntList.stream()
|
||||||
|
.filter(goods ->
|
||||||
|
Objects.equals((int) goods.get("goodsInnb"), multiGoodsInnb) &&
|
||||||
|
Objects.equals((int) goods.get("goodsOptnInnb"), multiGoodsOptnInnb)
|
||||||
|
)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
if (baseGoods != null) {
|
||||||
|
// 병합
|
||||||
|
LinkedHashMap<String, Object> merged = new LinkedHashMap<>(baseGoods);
|
||||||
|
merged.put("baseQy", merged.get("provdCnt")); // 총 상품별 주문 수량 유지
|
||||||
|
merged.put("provdCnt", qy); // 수량은 배송지별 정보 우선
|
||||||
|
mergedPrsntList.add(merged);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log.debug("머지 작업 후 mergedPrsntList : {}", mergedPrsntList);
|
||||||
|
log.debug("머지 작업 후 prsntList : {}", prsntList);
|
||||||
|
/** ------------------------------------------- 사은품 세팅 끝 ------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < mergedGoodsList.size(); i++) {
|
||||||
|
LinkedHashMap goods = mergedGoodsList.get(i);
|
||||||
|
|
||||||
|
boolean isLast = allGoodsCount == allMergedGoodsList.size() - 1;
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(goods)) {
|
||||||
|
int goodsInnb = (int) goods.get("goodsInnb");
|
||||||
|
int goodsOptnInnb = (int) goods.get("goodsOptnInnb");
|
||||||
|
int ordrQy = (int) goods.get("qy");
|
||||||
|
|
||||||
|
BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
||||||
|
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null);
|
||||||
|
|
||||||
|
/* ***********************************************
|
||||||
|
6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||||
|
주문 상품 입력 옵션 정보 등록
|
||||||
|
*********************************************** */
|
||||||
|
if (orderItemVO != null) {
|
||||||
|
BOOrderItemOptnVO itemOptnVO = new BOOrderItemOptnVO();
|
||||||
|
|
||||||
|
itemOptnVO.setSopmalCd(sopmalCd);
|
||||||
|
itemOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb());
|
||||||
|
itemOptnVO.setOrdrDlvyInnb(ordrDlvyInnb);
|
||||||
|
itemOptnVO.setOrdrInnb(ordrInnb);
|
||||||
|
itemOptnVO.setOrdrSttusCd("0"); // 주문상태(99:결제실패)
|
||||||
|
|
||||||
|
setGoodsOptn(sopmalCd, goodsInnb, goodsOptnInnb, ordrQy, itemOptnVO); // 상품 옵션정보 세팅
|
||||||
|
|
||||||
|
LinkedHashMap goodsSet = goodsSetList.stream().filter(obj-> Objects.equals(goodsInnb, obj.get("goodsInnb")) && Objects.equals(goodsOptnInnb, obj.get("goodsOptnInnb"))).findAny().orElse(null);
|
||||||
|
|
||||||
|
setDscntDtlsMulti(goodsInnb, goodsOptnInnb, null, mergedGoodsList, dlvylcMapMulti, enuri, itemOptnVO, isLast, isLast, discountInfo, goodsList, goodsSet); // 상품 할인내역 세팅 - 여러곳 배송
|
||||||
|
|
||||||
|
if (StringUtils.hasText((String) purchsr.get("mbrId"))) { // 회원
|
||||||
|
setMlgAmtMulti(ordrTyCd, goodsInnb, goodsOptnInnb, ordrQy, mergedGoodsList, itemOptnVO, goodsSet); // 상품 마일리지 정보 세팅 - 여러곳 배송
|
||||||
|
} else {
|
||||||
|
itemOptnVO.setMlgAccmlUnit(new BigDecimal(0)); // 마일리지적립금액(개당)
|
||||||
|
itemOptnVO.setMlgAccmlRest(new BigDecimal(0)); // 마일리지적립금액(짜투리)
|
||||||
|
}
|
||||||
|
|
||||||
|
itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
||||||
|
mapper.insertOrdrGoodsOption(itemOptnVO); // 주문 상품 옵션 정보 등록
|
||||||
|
|
||||||
|
// 상품별 수량 체크
|
||||||
|
goodsSet.put("setQy", (int) goodsSet.get("setQy") + ordrQy);
|
||||||
|
|
||||||
|
String inputOptn = (String) goods.get("inputOptn");
|
||||||
|
|
||||||
|
if (StringUtils.hasText(inputOptn)) {
|
||||||
|
String[] inputOptns = inputOptn.split("/");
|
||||||
|
|
||||||
|
for (int j = 0; j < inputOptns.length; j++) {
|
||||||
|
String optn = inputOptns[j];
|
||||||
|
String[] optns = optn.split(",");
|
||||||
|
|
||||||
|
BOOrderItemOptnVO inputOptnVO = new BOOrderItemOptnVO();
|
||||||
|
|
||||||
|
inputOptnVO.setSopmalCd(sopmalCd); // 쇼핑몰 코드
|
||||||
|
inputOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb()); // 주문상품 고유번호
|
||||||
|
inputOptnVO.setOrdrDlvyInnb(ordrDlvyInnb); // 주문배송 고유번호
|
||||||
|
inputOptnVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
||||||
|
inputOptnVO.setRelateOrdrGoodsOptnInnb(itemOptnVO.getOrdrGoodsOptnInnb());
|
||||||
|
|
||||||
|
setGoodsOptn(optns[0], Integer.parseInt(optns[1]), Integer.parseInt(optns[2]), 0, inputOptnVO);
|
||||||
|
|
||||||
|
if (i == 0) {
|
||||||
|
inputOptnVO.setOptnVal1(optns[3]);
|
||||||
|
} else if (i == 1) {
|
||||||
|
inputOptnVO.setOptnVal2(optns[3]);
|
||||||
|
} else if (i == 2) {
|
||||||
|
inputOptnVO.setOptnVal3(optns[3]);
|
||||||
|
} else if (i == 3) {
|
||||||
|
inputOptnVO.setOptnVal4(optns[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
||||||
|
mapper.insertOrdrGoodsOption(inputOptnVO); // 주문 상품 입력 옵션 정보 등록
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 전체 수량의 마지막 체크
|
||||||
|
allGoodsCount = allGoodsCount + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ***********************************************************
|
||||||
|
7. 주문 상품 옵션(사은품) 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||||
|
*********************************************************** */
|
||||||
|
if (!CollectionUtils.isEmpty(prsntList)) {
|
||||||
|
insertPrsnt(sopmalCd, ordrInnb, ordrDlvyInnb, mergedPrsntList);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// BOOrderShippingVO shippingVO = new BOOrderShippingVO();
|
||||||
|
//
|
||||||
|
// shippingVO.setSopmalCd(sopmalCd);
|
||||||
|
// shippingVO.setOrdrInnb(ordrInnb);
|
||||||
|
// shippingVO.setMngrInnb(orderVO.getMngrInnb());
|
||||||
|
// shippingVO.setMbrInnb(orderVO.getMbrInnb());
|
||||||
|
// shippingVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
||||||
|
// shippingVO.setMngrFreeDlvyUseAt(StringUtil.isNullToString(shipping.get("mngrFreeDlvyUseAt")) != "" ? StringUtil.isNullToString(shipping.get("mngrFreeDlvyUseAt")) : "N");
|
||||||
|
//
|
||||||
|
// /* *****************************************
|
||||||
|
// 5. 주문배송 정보 등록(GC_ORDER_SHIPPING)
|
||||||
|
// ***************************************** */
|
||||||
|
//
|
||||||
|
// insertShipping(ordrTyCd, shipping, shippingVO);
|
||||||
|
// shippingEscrowVO = shippingVO; //에스크로에 보낼 배송정보
|
||||||
|
//
|
||||||
|
// BigInteger ordrDlvyInnb = shippingVO.getOrdrDlvyInnb();
|
||||||
|
//
|
||||||
|
// String mngrFreeDlvyUseAt = (String) shipping.get("mngrFreeDlvyUseAt");
|
||||||
|
//
|
||||||
|
// if ("Y".equals(mngrFreeDlvyUseAt)) { // TODO : cjh : 2025-02-28 무료 배송비 : 'Y' 일 경우 애누리에 할인 금액 세팅 -> 배송비 0원에 여부 데이터만 세팅으로 변경 됌.
|
||||||
|
//// BigDecimal dscntAmt = new BigDecimal(StringUtils.hasText((String) enuri.get("enuriAmt")) ? (String) enuri.get("enuriAmt") : "0");
|
||||||
|
//// BigDecimal mngrFreeDlvyUseAmt = new BigDecimal((String) shipping.get("mngrFreeDlvyUseAmt"));
|
||||||
|
//
|
||||||
|
// // enuri.put("enuriAmt", dscntAmt.add(mngrFreeDlvyUseAmt).toString());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 분배된 할인 금액 누적
|
||||||
|
// BOOrderRestAmtVO discountInfo = new BOOrderRestAmtVO();
|
||||||
|
//
|
||||||
|
// int optionSeqIndex = 1;
|
||||||
|
// BOOrderNoVO optionNoVO = new BOOrderNoVO();
|
||||||
|
// optionNoVO.setOrdrInnb(ordrInnb);
|
||||||
|
// for (int i = 0; i < goodsList.size(); i++) {
|
||||||
|
// LinkedHashMap goods = goodsList.get(i);
|
||||||
|
//
|
||||||
|
// boolean isLast = i == goodsList.size() - 1;
|
||||||
|
//
|
||||||
|
// if (!CollectionUtils.isEmpty(goods)) {
|
||||||
|
// int goodsInnb = (int) goods.get("goodsInnb");
|
||||||
|
// int goodsOptnInnb = (int) goods.get("goodsOptnInnb");
|
||||||
|
// int ordrQy = (int) goods.get("qy");
|
||||||
|
//
|
||||||
|
// BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
||||||
|
// Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null);
|
||||||
|
//
|
||||||
|
// /* ***********************************************
|
||||||
|
// 6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||||
|
// 주문 상품 입력 옵션 정보 등록
|
||||||
|
// *********************************************** */
|
||||||
|
// if (orderItemVO != null) {
|
||||||
|
// BOOrderItemOptnVO itemOptnVO = new BOOrderItemOptnVO();
|
||||||
|
//
|
||||||
|
// itemOptnVO.setSopmalCd(sopmalCd);
|
||||||
|
// itemOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb());
|
||||||
|
// itemOptnVO.setOrdrDlvyInnb(ordrDlvyInnb);
|
||||||
|
// itemOptnVO.setOrdrInnb(ordrInnb);
|
||||||
|
// itemOptnVO.setOrdrSttusCd("0"); // 주문상태(99:결제실패)
|
||||||
|
//
|
||||||
|
// setGoodsOptn(sopmalCd, goodsInnb, goodsOptnInnb, ordrQy, itemOptnVO); // 상품 옵션정보 세팅
|
||||||
|
//
|
||||||
|
// setDscntDtls(goodsInnb, goodsOptnInnb, null, goodsList, shipping, enuri, itemOptnVO, isLast, isLast, discountInfo); // 상품 할인내역 세팅
|
||||||
|
//
|
||||||
|
// if (StringUtils.hasText((String) purchsr.get("mbrId"))) { // 회원
|
||||||
|
// setMlgAmt(ordrTyCd, goodsInnb, goodsOptnInnb, ordrQy, goodsList, itemOptnVO); // 상품 마일리지 정보 세팅
|
||||||
|
// } else {
|
||||||
|
// itemOptnVO.setMlgAccmlUnit(new BigDecimal(0)); // 마일리지적립금액(개당)
|
||||||
|
// itemOptnVO.setMlgAccmlRest(new BigDecimal(0)); // 마일리지적립금액(짜투리)
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
||||||
|
// mapper.insertOrdrGoodsOption(itemOptnVO); // 주문 상품 옵션 정보 등록
|
||||||
|
//
|
||||||
|
// String inputOptn = (String) goods.get("inputOptn");
|
||||||
|
//
|
||||||
|
// if (StringUtils.hasText(inputOptn)) {
|
||||||
|
// String[] inputOptns = inputOptn.split("/");
|
||||||
|
//
|
||||||
|
// for (int j = 0; j < inputOptns.length; j++) {
|
||||||
|
// String optn = inputOptns[j];
|
||||||
|
// String[] optns = optn.split(",");
|
||||||
|
//
|
||||||
|
// BOOrderItemOptnVO inputOptnVO = new BOOrderItemOptnVO();
|
||||||
|
//
|
||||||
|
// inputOptnVO.setSopmalCd(sopmalCd); // 쇼핑몰 코드
|
||||||
|
// inputOptnVO.setOrdrGoodsInnb(orderItemVO.getOrdrGoodsInnb()); // 주문상품 고유번호
|
||||||
|
// inputOptnVO.setOrdrDlvyInnb(ordrDlvyInnb); // 주문배송 고유번호
|
||||||
|
// inputOptnVO.setOrdrSttusCd(orderVO.getOrdrSttusCd());
|
||||||
|
// inputOptnVO.setRelateOrdrGoodsOptnInnb(itemOptnVO.getOrdrGoodsOptnInnb());
|
||||||
|
//
|
||||||
|
// setGoodsOptn(optns[0], Integer.parseInt(optns[1]), Integer.parseInt(optns[2]), 0, inputOptnVO);
|
||||||
|
//
|
||||||
|
// if (i == 0) {
|
||||||
|
// inputOptnVO.setOptnVal1(optns[3]);
|
||||||
|
// } else if (i == 1) {
|
||||||
|
// inputOptnVO.setOptnVal2(optns[3]);
|
||||||
|
// } else if (i == 2) {
|
||||||
|
// inputOptnVO.setOptnVal3(optns[3]);
|
||||||
|
// } else if (i == 3) {
|
||||||
|
// inputOptnVO.setOptnVal4(optns[3]);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// itemOptnVO.setOrdrGoodsOptnInnb(orderNoService.generateOrderItemOptnNo());
|
||||||
|
// mapper.insertOrdrGoodsOption(inputOptnVO); // 주문 상품 입력 옵션 정보 등록
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /* ***********************************************************
|
||||||
|
// 7. 주문 상품 옵션(사은품) 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||||
|
// *********************************************************** */
|
||||||
|
// if (!CollectionUtils.isEmpty(prsntList)) {
|
||||||
|
// insertPrsnt(sopmalCd, ordrInnb, shippingVO.getOrdrDlvyInnb(), prsntList);
|
||||||
|
// }
|
||||||
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송, 선물하기
|
} else if ("05".equals(ordrTyCd)) { // 여러곳 배송, 선물하기
|
||||||
log.debug("여러곳 배송 > 배송지별 배송정보 => {} ", new Gson().toJson(dlvylcListMulti));
|
log.debug("여러곳 배송 > 배송지별 배송정보 => {} ", new Gson().toJson(dlvylcListMulti));
|
||||||
|
|
||||||
@@ -1219,18 +1550,30 @@ public class BOOrderService {
|
|||||||
shippingVO.setDlvyMthCd("01"); // 택배
|
shippingVO.setDlvyMthCd("01"); // 택배
|
||||||
|
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
||||||
shippingVO.setRecpntNm((String) shipping.get("recpntNm"));
|
shippingVO.setRecpntNm(StringUtil.isNullToString(shipping.get("recpntNm")));
|
||||||
shippingVO.setRecpntTelnb((String) shipping.get("recpntTelnb"));
|
shippingVO.setRecpntTelnb(StringUtil.isNullToString(shipping.get("recpntTelnb")));
|
||||||
shippingVO.setRecpntMbtlnb((String) shipping.get("recpntMbtlnb"));
|
shippingVO.setRecpntMbtlnb(StringUtil.isNullToString(shipping.get("recpntMbtlnb")));
|
||||||
|
|
||||||
shippingVO.setDlvylcZip((String) shipping.get("dlvylcZip"));
|
shippingVO.setDlvylcZip(StringUtil.isNullToString(shipping.get("dlvylcZip")));
|
||||||
shippingVO.setDlvylcAdresDvCd((String) shipping.get("dlvylcAdresDvCd"));
|
shippingVO.setDlvylcAdresDvCd(StringUtil.isNullToString(shipping.get("dlvylcAdresDvCd")));
|
||||||
shippingVO.setDlvylcLnbAdres((String) shipping.get("dlvylcLnbAdres"));
|
shippingVO.setDlvylcLnbAdres(StringUtil.isNullToString(shipping.get("dlvylcLnbAdres")));
|
||||||
shippingVO.setDlvylcRnmAdres((String) shipping.get("dlvylcRnmAdres"));
|
shippingVO.setDlvylcRnmAdres(StringUtil.isNullToString(shipping.get("dlvylcRnmAdres")));
|
||||||
shippingVO.setDlvylcAdresDtl((String) shipping.get("dlvylcAdresDtl"));
|
shippingVO.setDlvylcAdresDtl(StringUtil.isNullToString(shipping.get("dlvylcAdresDtl")));
|
||||||
|
|
||||||
shippingVO.setDlvyMssageCn((String) shipping.get("dlvyMssageCn"));
|
shippingVO.setDlvyMssageCn(StringUtil.isNullToString(shipping.get("dlvyMssageCn")));
|
||||||
shippingVO.setDlvyCycleCd((String) shipping.get("dlvyCycleCd"));
|
shippingVO.setDlvyCycleCd(StringUtil.isNullToString(shipping.get("dlvyCycleCd")));
|
||||||
|
// shippingVO.setRecpntNm((String) shipping.get("recpntNm"));
|
||||||
|
// shippingVO.setRecpntTelnb((String) shipping.get("recpntTelnb"));
|
||||||
|
// shippingVO.setRecpntMbtlnb((String) shipping.get("recpntMbtlnb"));
|
||||||
|
//
|
||||||
|
// shippingVO.setDlvylcZip((String) shipping.get("dlvylcZip"));
|
||||||
|
// shippingVO.setDlvylcAdresDvCd((String) shipping.get("dlvylcAdresDvCd"));
|
||||||
|
// shippingVO.setDlvylcLnbAdres((String) shipping.get("dlvylcLnbAdres"));
|
||||||
|
// shippingVO.setDlvylcRnmAdres((String) shipping.get("dlvylcRnmAdres"));
|
||||||
|
// shippingVO.setDlvylcAdresDtl((String) shipping.get("dlvylcAdresDtl"));
|
||||||
|
//
|
||||||
|
// shippingVO.setDlvyMssageCn((String) shipping.get("dlvyMssageCn"));
|
||||||
|
// shippingVO.setDlvyCycleCd((String) shipping.get("dlvyCycleCd"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
if ("05".equals(ordrTyCd)) { // 여러곳 배송
|
||||||
@@ -2194,6 +2537,9 @@ public class BOOrderService {
|
|||||||
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
|
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
// throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
|
||||||
|
// }
|
||||||
if (CollectionUtils.isEmpty(shipping)) {
|
if (CollectionUtils.isEmpty(shipping)) {
|
||||||
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
|
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1925,7 +1925,7 @@ public class BOPurchsService {
|
|||||||
if (dlvylc.get("dlvyAmt") != null) {
|
if (dlvylc.get("dlvyAmt") != null) {
|
||||||
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylc, "dlvyAmt");
|
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylc, "dlvyAmt");
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
||||||
@@ -1950,7 +1950,7 @@ public class BOPurchsService {
|
|||||||
if (dlvylcMap.get("dlvyAmt") != null) {
|
if (dlvylcMap.get("dlvyAmt") != null) {
|
||||||
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylcMap, "dlvyAmt");
|
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylcMap, "dlvyAmt");
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
||||||
@@ -1961,7 +1961,7 @@ public class BOPurchsService {
|
|||||||
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
|
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
|
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
|
||||||
@@ -2107,7 +2107,7 @@ public class BOPurchsService {
|
|||||||
* @param goodsList
|
* @param goodsList
|
||||||
* @return List<DataMap>
|
* @return List<DataMap>
|
||||||
*/
|
*/
|
||||||
public DataMap getDlvyAmt(List<LinkedHashMap> goodsList, String sopmalCd, String defaultAdressAt, String dlvylcAreaCd, String prefcd) {
|
public DataMap getDlvyAmt(List<LinkedHashMap> goodsList, String sopmalCd, String defaultAdressAt, String dlvylcAreaCd) {
|
||||||
DataMap dlvyAmtMap = null;
|
DataMap dlvyAmtMap = null;
|
||||||
log.debug("우편번호 확인 : {}", defaultAdressAt);
|
log.debug("우편번호 확인 : {}", defaultAdressAt);
|
||||||
log.debug("getDlvyAmt-goodsList : {}", goodsList);
|
log.debug("getDlvyAmt-goodsList : {}", goodsList);
|
||||||
|
|||||||
@@ -3378,9 +3378,12 @@ public class BOOrdrService{
|
|||||||
|
|
||||||
// ############################################## 배송지별 배송비 계산 START ##############################################
|
// ############################################## 배송지별 배송비 계산 START ##############################################
|
||||||
|
|
||||||
String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip"));
|
LinkedHashMap<String, Object> shippingMap = (LinkedHashMap) param.get("shipping");
|
||||||
String dlvylcAreaCd = (String) param.get("dlvylcAreaCd");
|
|
||||||
String prefcd = (String) param.get("prefcd");
|
// String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip"));
|
||||||
|
String ordrAdressZip = StringUtil.isNullToString(shippingMap.get("dlvylcZip"));
|
||||||
|
String dlvylcAreaCd = (String) shippingMap.get("dlvylcAreaCd");
|
||||||
|
String prefcd = (String) shippingMap.get("prefcd");
|
||||||
DataMap defaultAdressVO = new DataMap() {{ //
|
DataMap defaultAdressVO = new DataMap() {{ //
|
||||||
put("sopmalCd", sopmalCd); // 쇼핑몰 코드
|
put("sopmalCd", sopmalCd); // 쇼핑몰 코드
|
||||||
put("zip", ordrAdressZip); // 우편번호
|
put("zip", ordrAdressZip); // 우편번호
|
||||||
@@ -3430,7 +3433,7 @@ public class BOOrdrService{
|
|||||||
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
||||||
log.debug("goodsListMulti : {}", goodsListMulti);
|
log.debug("goodsListMulti : {}", goodsListMulti);
|
||||||
if (!CollectionUtils.isEmpty(goodsListMulti)) {
|
if (!CollectionUtils.isEmpty(goodsListMulti)) {
|
||||||
dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) {
|
||||||
if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
|
if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
|
||||||
@@ -3485,7 +3488,7 @@ public class BOOrdrService{
|
|||||||
// List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
// List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
|
||||||
// log.debug("goodsListMulti : {}", goodsListMulti);
|
// log.debug("goodsListMulti : {}", goodsListMulti);
|
||||||
// if (!CollectionUtils.isEmpty(goodsListMulti)) {
|
// if (!CollectionUtils.isEmpty(goodsListMulti)) {
|
||||||
// dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
// dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
//
|
//
|
||||||
// if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) {
|
// if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) {
|
||||||
// if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
|
// if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
|
||||||
@@ -3543,18 +3546,18 @@ public class BOOrdrService{
|
|||||||
if (dlvylcMap.get("dlvyAmt") != null) {
|
if (dlvylcMap.get("dlvyAmt") != null) {
|
||||||
log.debug("배송비 객체 : {}", dlvylcMap);
|
log.debug("배송비 객체 : {}", dlvylcMap);
|
||||||
if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "N".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) {
|
if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "N".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) {
|
||||||
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
} else if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) {
|
} else if (dlvylcMap.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMap.get("mngrFreeDlvyUseAt").toString())) {
|
||||||
log.debug("관리자 무료배송 체크 'Y'");
|
log.debug("관리자 무료배송 체크 'Y'");
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
|
||||||
@@ -3563,7 +3566,7 @@ public class BOOrdrService{
|
|||||||
|
|
||||||
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
|
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
|
||||||
} else {
|
} else {
|
||||||
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
|
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
|
||||||
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
|
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
|
||||||
|
|||||||
@@ -362,6 +362,7 @@ public class OrdrController {
|
|||||||
param.put("mbrDvCd", user.getMbrDvCd());
|
param.put("mbrDvCd", user.getMbrDvCd());
|
||||||
param.put("mbrInnb", user.getUserInnb());
|
param.put("mbrInnb", user.getUserInnb());
|
||||||
}
|
}
|
||||||
|
log.debug("CONselectSetleExpectAmt-param : {}", param);
|
||||||
Map<String, Object> content = new HashMap<>();
|
Map<String, Object> content = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
DataMap datamap = new DataMap();
|
DataMap datamap = new DataMap();
|
||||||
@@ -3008,6 +3009,13 @@ public class OrdrController {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
// log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
|
// content.put("result","Y");
|
||||||
|
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
|
||||||
|
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
|
||||||
|
// return content;
|
||||||
|
// }
|
||||||
if (CollectionUtils.isEmpty(shipping)) {
|
if (CollectionUtils.isEmpty(shipping)) {
|
||||||
log.info("배송지 정보를 찾을 수 없습니다.");
|
log.info("배송지 정보를 찾을 수 없습니다.");
|
||||||
content.put("result","Y");
|
content.put("result","Y");
|
||||||
@@ -3044,6 +3052,70 @@ public class OrdrController {
|
|||||||
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
|
||||||
|
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
|
||||||
|
// if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {
|
||||||
|
//
|
||||||
|
// // 배송지 리스트
|
||||||
|
// List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylc.get("dlvylc");
|
||||||
|
//
|
||||||
|
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 START ----------------------------------------------- */
|
||||||
|
// content = checkDistributedQyMatchesOrder(goodsList, dlvylcListMulti);
|
||||||
|
// if (!"0".equals(content.get("status"))) {
|
||||||
|
// return content;
|
||||||
|
// }
|
||||||
|
// /** ----------------------------------------------- 배송지별 주문 상품 수량 검사 END ----------------------------------------------- */
|
||||||
|
//
|
||||||
|
// // 부정판매 체크를 위한 배송지 정렬
|
||||||
|
// if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
|
||||||
|
//
|
||||||
|
// boolean hasInvalidAddress = dlvylcListMulti.stream().anyMatch(map -> {
|
||||||
|
// String dlvylcZip = StringUtil.isNullToString(map.get("dlvylcZip"));
|
||||||
|
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
||||||
|
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
||||||
|
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
||||||
|
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
||||||
|
//
|
||||||
|
// return StringUtil.isEmpty(dlvylcZip)
|
||||||
|
// || StringUtil.isEmpty(adresDvCd)
|
||||||
|
// || ("01".equals(adresDvCd) && StringUtil.isEmpty(dlvylcRnmAdres))
|
||||||
|
// || ("02".equals(adresDvCd) && StringUtil.isEmpty(dlvylcLnbAdres))
|
||||||
|
// || StringUtil.isEmpty(adresDtl);
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// if (hasInvalidAddress) {
|
||||||
|
// content.put("result","Y");
|
||||||
|
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
|
||||||
|
// return content;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// List<String> adresList = dlvylcListMulti.stream()
|
||||||
|
// .map(map -> {
|
||||||
|
// String adresDvCd = StringUtil.isNullToString(map.get("dlvylcAdresDvCd"));
|
||||||
|
// String adresDtl = StringUtil.isNullToString(map.get("dlvylcAdresDtl"));
|
||||||
|
// String dlvylcLnbAdres = StringUtil.isNullToString(map.get("dlvylcLnbAdres"));
|
||||||
|
// String dlvylcRnmAdres = StringUtil.isNullToString(map.get("dlvylcRnmAdres"));
|
||||||
|
// String adresMulti;
|
||||||
|
// if ("01".equals(adresDvCd)) {
|
||||||
|
// adresMulti = dlvylcRnmAdres + " " + adresDtl;
|
||||||
|
// } else {
|
||||||
|
// adresMulti = dlvylcLnbAdres + " " + adresDtl;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return adresMulti;
|
||||||
|
// })
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
// adresArray = adresList.toArray(new String[0]);
|
||||||
|
//
|
||||||
|
// List<String> receptMbtlnbList = dlvylcListMulti.stream()
|
||||||
|
// .map(map -> {
|
||||||
|
// return StringUtil.isNullToString(map.get("recpntMbtlnb"));
|
||||||
|
// })
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
// receptMbtlnbArray = receptMbtlnbList.toArray(new String[0]);
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
if (
|
if (
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
|
||||||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
|
||||||
|
|||||||
@@ -1833,6 +1833,25 @@
|
|||||||
$(form).find('input[name="dlvylcAdresDtl"]').val(data.dtlAdres);
|
$(form).find('input[name="dlvylcAdresDtl"]').val(data.dtlAdres);
|
||||||
$(form).find('input[name="dlvylcAdres"]').val('01' === $(form).find('input[name="dlvylcAdresDvCd"]').val() ? $(form).find('input[name="dlvylcRnmAdres"]').val() : $(form).find('input[name="dlvylcLnbAdres"]').val());
|
$(form).find('input[name="dlvylcAdres"]').val('01' === $(form).find('input[name="dlvylcAdresDvCd"]').val() ? $(form).find('input[name="dlvylcRnmAdres"]').val() : $(form).find('input[name="dlvylcLnbAdres"]').val());
|
||||||
|
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
// localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// setle['sopmalCd'] = $('#sopmalCd').val();
|
||||||
|
// setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
|
||||||
|
// setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
|
||||||
|
// setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
|
||||||
|
// setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
|
||||||
|
// setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
|
||||||
|
// setle['prefcd'] = localStorage.getItem('prefcd');
|
||||||
|
// setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
|
||||||
|
// setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val();
|
||||||
|
|
||||||
// 배송지 정보 세팅 이후 결제예정금액 재계산
|
// 배송지 정보 세팅 이후 결제예정금액 재계산
|
||||||
fn_get_setle_amt();
|
fn_get_setle_amt();
|
||||||
}
|
}
|
||||||
@@ -2458,6 +2477,15 @@
|
|||||||
const fn_get_setle_amt = function() {
|
const fn_get_setle_amt = function() {
|
||||||
let setle = {};
|
let setle = {};
|
||||||
|
|
||||||
|
let dlvylc = JSON.parse(localStorage.getItem('dlvylc'));
|
||||||
|
|
||||||
|
if (!fn_is_empty(dlvylc)) {
|
||||||
|
dlvylc = Object.assign({}, fn_get_dlvylc_data(), dlvylc);
|
||||||
|
} else {
|
||||||
|
dlvylc = fn_get_dlvylc_data();
|
||||||
|
}
|
||||||
|
setle['shipping'] = dlvylc;
|
||||||
|
|
||||||
setle['sopmalCd'] = $('#sopmalCd').val();
|
setle['sopmalCd'] = $('#sopmalCd').val();
|
||||||
setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
|
setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
|
||||||
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
|
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
|
||||||
|
|||||||
@@ -1466,7 +1466,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<span class="cartOrderBox__th">배송비</span>
|
<span class="cartOrderBox__th">배송비</span>
|
||||||
<%-- <span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">${curUnit}</span></span>--%>
|
<%-- <span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">${curUnit}</span></span>--%>
|
||||||
<span class="cartOrderBox__td"><span class="priceUnit">Calculated at next step</span></span>
|
<span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">Calculated at next step</span></span>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="cartOrderBox__th">총 할인금액</span>
|
<span class="cartOrderBox__th">총 할인금액</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user