배송비 계산 수정(4)

This commit is contained in:
김현욱
2026-02-12 15:15:07 +09:00
parent 8a5583b600
commit 305d5d226c
8 changed files with 688 additions and 166 deletions

View File

@@ -286,6 +286,13 @@ public class BOMaMtngController {
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
} 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)) {
log.info("배송지 정보를 찾을 수 없습니다.");
content.put("result","Y");
@@ -322,27 +329,91 @@ public class BOMaMtngController {
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
if (
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
) {
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 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);
}
String dlvylcAdresDvCd = (String) shipping.get("dlvylcAdresDvCd");
String dlvylcLnbAdres = (String) shipping.get("dlvylcLnbAdres");
String dlvylcRnmAdres = (String) shipping.get("dlvylcRnmAdres");
String dlvylcAdresDtl = (String) shipping.get("dlvylcAdresDtl");
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;
}
adres = "01".equals(dlvylcAdresDvCd) ? dlvylcRnmAdres + " " + dlvylcAdresDtl : dlvylcLnbAdres + " " + dlvylcAdresDtl;
return adresMulti;
})
.collect(Collectors.toList());
String recpntMbtlnb = StringUtil.isNullToString(shipping.get("recpntMbtlnb"));
receptMbtlnbArray = new String[]{recpntMbtlnb};
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 (
// StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||
// ( "01".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcRnmAdres")) ) ||
// ( "02".equals(shipping.get("dlvylcAdresDvCd")) && StringUtil.isEmpty((String) shipping.get("dlvylcLnbAdres")) ) ||
// StringUtil.isEmpty((String) shipping.get("dlvylcAdresDtl"))
// ) {
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다. 다시 시도해 주세요.");
// 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)) { // 여러곳 배송
if (!CollectionUtils.isEmpty(multiOrdrDlvylc)) {

View File

@@ -406,6 +406,8 @@ public class BOMaMtngService {
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
LinkedHashMap enuri = (LinkedHashMap) param.get("enuri"); // 할인정보
log.debug("selectBOPreOrderValidationList-goodsList: {}",goodsList);
//사용한 장바구니 쿠폰
//비회원의 경우 enuri 자체가 없어서 isEmpty 확인
List<LinkedHashMap> usedCartCouponList = new ArrayList<>();

View File

@@ -81,19 +81,6 @@ public class BOOrderService {
log.debug("결제정보 => {} ", new Gson().toJson(setle));
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 = "";
if("01".equals(user.getSysDvCd())){
sopmalCd = user.getSopmalCd();
@@ -103,6 +90,85 @@ public class BOOrderService {
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)
***************************** */
@@ -128,6 +194,66 @@ public class BOOrderService {
BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO();
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
log.debug("여러곳 배송 > 배송지별 배송정보 => {} ", new Gson().toJson(dlvylcListMulti));
// 짜투리 계산을 위해 상품별 수량 체크
List<LinkedHashMap> goodsSetList = new ArrayList<>();
for (LinkedHashMap multiGoods : goodsList) {
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 merged = new LinkedHashMap<>(baseGoods);
merged.put("setQy", 0);
goodsSetList.add(merged);
}
}
log.debug("상품별 수량 체크 : {}", goodsSetList);
if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
// 배송지별 상품 수량 합산 - 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);
@@ -135,36 +261,111 @@ public class BOOrderService {
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");
shippingVO.setMngrFreeDlvyUseAt(StringUtil.isNullToString(dlvylcMapMulti.get("mngrFreeDlvyUseAt")) != "" ? StringUtil.isNullToString(dlvylcMapMulti.get("mngrFreeDlvyUseAt")) : "N");
/* *****************************************
5. 주문배송 정보 등록(GC_ORDER_SHIPPING)
***************************************** */
insertShipping(ordrTyCd, shipping, shippingVO);
insertShipping(ordrTyCd, dlvylcMapMulti, shippingVO);
shippingEscrowVO = shippingVO; //에스크로에 보낼 배송정보
BigInteger ordrDlvyInnb = shippingVO.getOrdrDlvyInnb();
String mngrFreeDlvyUseAt = (String) shipping.get("mngrFreeDlvyUseAt");
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) shipping.get("mngrFreeDlvyUseAmt"));
// BigDecimal mngrFreeDlvyUseAmt = new BigDecimal((String) dlvylcMapMulti.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);
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
boolean isLast = i == goodsList.size() - 1;
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");
@@ -189,10 +390,12 @@ public class BOOrderService {
setGoodsOptn(sopmalCd, goodsInnb, goodsOptnInnb, ordrQy, itemOptnVO); // 상품 옵션정보 세팅
setDscntDtls(goodsInnb, goodsOptnInnb, null, goodsList, shipping, enuri, itemOptnVO, isLast, isLast, discountInfo); // 상품 할인내역 세팅
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"))) { // 회원
setMlgAmt(ordrTyCd, goodsInnb, goodsOptnInnb, ordrQy, goodsList, itemOptnVO); // 상품 마일리지 정보 세팅
setMlgAmtMulti(ordrTyCd, goodsInnb, goodsOptnInnb, ordrQy, mergedGoodsList, itemOptnVO, goodsSet); // 상품 마일리지 정보 세팅 - 여러곳 배송
} else {
itemOptnVO.setMlgAccmlUnit(new BigDecimal(0)); // 마일리지적립금액(개당)
itemOptnVO.setMlgAccmlRest(new BigDecimal(0)); // 마일리지적립금액(짜투리)
@@ -201,6 +404,9 @@ public class BOOrderService {
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)) {
@@ -236,14 +442,139 @@ public class BOOrderService {
}
}
}
// 전체 수량의 마지막 체크
allGoodsCount = allGoodsCount + 1;
}
/* ***********************************************************
7. 주문 상품 옵션(사은품) 정보 등록(GC_ORDER_ITEM_OPTION)
*********************************************************** */
if (!CollectionUtils.isEmpty(prsntList)) {
insertPrsnt(sopmalCd, ordrInnb, shippingVO.getOrdrDlvyInnb(), 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)) { // 여러곳 배송, 선물하기
log.debug("여러곳 배송 > 배송지별 배송정보 => {} ", new Gson().toJson(dlvylcListMulti));
@@ -1219,18 +1550,30 @@ public class BOOrderService {
shippingVO.setDlvyMthCd("01"); // 택배
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원개인결제, 정기배송
shippingVO.setRecpntNm((String) shipping.get("recpntNm"));
shippingVO.setRecpntTelnb((String) shipping.get("recpntTelnb"));
shippingVO.setRecpntMbtlnb((String) shipping.get("recpntMbtlnb"));
shippingVO.setRecpntNm(StringUtil.isNullToString(shipping.get("recpntNm")));
shippingVO.setRecpntTelnb(StringUtil.isNullToString(shipping.get("recpntTelnb")));
shippingVO.setRecpntMbtlnb(StringUtil.isNullToString(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.setDlvylcZip(StringUtil.isNullToString(shipping.get("dlvylcZip")));
shippingVO.setDlvylcAdresDvCd(StringUtil.isNullToString(shipping.get("dlvylcAdresDvCd")));
shippingVO.setDlvylcLnbAdres(StringUtil.isNullToString(shipping.get("dlvylcLnbAdres")));
shippingVO.setDlvylcRnmAdres(StringUtil.isNullToString(shipping.get("dlvylcRnmAdres")));
shippingVO.setDlvylcAdresDtl(StringUtil.isNullToString(shipping.get("dlvylcAdresDtl")));
shippingVO.setDlvyMssageCn((String) shipping.get("dlvyMssageCn"));
shippingVO.setDlvyCycleCd((String) shipping.get("dlvyCycleCd"));
shippingVO.setDlvyMssageCn(StringUtil.isNullToString(shipping.get("dlvyMssageCn")));
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)) { // 여러곳 배송
@@ -2194,6 +2537,9 @@ public class BOOrderService {
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
}
} else {
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
// throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
// }
if (CollectionUtils.isEmpty(shipping)) {
throw new WnbtRestException("주문배송 정보를 찾을 수 없습니다.");
}

View File

@@ -1925,7 +1925,7 @@ public class BOPurchsService {
if (dlvylc.get("dlvyAmt") != null) {
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylc, "dlvyAmt");
} else {
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
@@ -1950,7 +1950,7 @@ public class BOPurchsService {
if (dlvylcMap.get("dlvyAmt") != null) {
dlvyAmtBydlvylc = dlvyAmtBydlvylc + castAmt(dlvylcMap, "dlvyAmt");
} else {
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
@@ -1961,7 +1961,7 @@ public class BOPurchsService {
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
}
} else {
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
@@ -2107,7 +2107,7 @@ public class BOPurchsService {
* @param goodsList
* @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;
log.debug("우편번호 확인 : {}", defaultAdressAt);
log.debug("getDlvyAmt-goodsList : {}", goodsList);

View File

@@ -3378,9 +3378,12 @@ public class BOOrdrService{
// ############################################## 배송지별 배송비 계산 START ##############################################
String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip"));
String dlvylcAreaCd = (String) param.get("dlvylcAreaCd");
String prefcd = (String) param.get("prefcd");
LinkedHashMap<String, Object> shippingMap = (LinkedHashMap) param.get("shipping");
// 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() {{ //
put("sopmalCd", sopmalCd); // 쇼핑몰 코드
put("zip", ordrAdressZip); // 우편번호
@@ -3430,7 +3433,7 @@ public class BOOrdrService{
List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
log.debug("goodsListMulti : {}", 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 (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");
// log.debug("goodsListMulti : {}", 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 (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
@@ -3543,18 +3546,18 @@ public class BOOrdrService{
if (dlvylcMap.get("dlvyAmt") != null) {
log.debug("배송비 객체 : {}", dlvylcMap);
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())) {
log.debug("관리자 무료배송 체크 'Y'");
} else {
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
}
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
}
} else {
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmtBydlvylc = ((BigDecimal) dlvyAmtMap.get("dlvyAmt")).intValue();
@@ -3563,7 +3566,7 @@ public class BOOrdrService{
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
} else {
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd, prefcd);
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");

View File

@@ -362,6 +362,7 @@ public class OrdrController {
param.put("mbrDvCd", user.getMbrDvCd());
param.put("mbrInnb", user.getUserInnb());
}
log.debug("CONselectSetleExpectAmt-param : {}", param);
Map<String, Object> content = new HashMap<>();
try {
DataMap datamap = new DataMap();
@@ -3008,6 +3009,13 @@ public class OrdrController {
return content;
}
} else {
// if (CollectionUtils.isEmpty(multiOrdrDlvylc)) {
// log.info("배송지 정보를 찾을 수 없습니다.");
// content.put("result","Y");
// content.put("message", "배송지 정보를 찾을 수 없습니다.");
// // throw new WnbtRestException("주문유형 정보를 찾을 수 없습니다.");
// return content;
// }
if (CollectionUtils.isEmpty(shipping)) {
log.info("배송지 정보를 찾을 수 없습니다.");
content.put("result","Y");
@@ -3044,6 +3052,70 @@ public class OrdrController {
String[] receptMbtlnbArray = null; // 배송지 받는이 휴대폰번호
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 (
StringUtil.isEmpty((String) shipping.get("dlvylcZip")) ||
StringUtil.isEmpty((String) shipping.get("dlvylcAdresDvCd")) ||

View File

@@ -1833,6 +1833,25 @@
$(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());
// 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();
}
@@ -2458,6 +2477,15 @@
const fn_get_setle_amt = function() {
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['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));

View File

@@ -1466,7 +1466,7 @@
<li>
<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="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>
<span class="cartOrderBox__th">총 할인금액</span>