Compare commits

9 Commits

Author SHA1 Message Date
김현욱
305d5d226c 배송비 계산 수정(4) 2026-02-12 15:15:07 +09:00
김현욱
8a5583b600 배송비 계산 수정(3) 2026-02-11 13:41:15 +09:00
김현욱
5db37dfafb 배송비 계산 수정(2) 2026-02-11 12:20:51 +09:00
이대환
bcf64f0f92 fix : 주문결제 > 배송지 정보 세팅 - 배송지역코드, 개인통관부호, 도도부현코드 추가 2026-02-11 11:44:45 +09:00
jazz
2763d956a8 fix : 관리자 전체 주문목록 - 주문->출고처리 목록조회 2026-02-11 10:39:25 +09:00
jazz
96670ab6a5 fix : 관리자 구독서비스 구독자 조회 팝업 2026-02-10 17:58:37 +09:00
김현욱
1097660b22 배송비 계산 수정(1) 2026-02-10 16:42:28 +09:00
jazz
12ae420a48 Merge remote-tracking branch 'origin/master' 2026-02-10 16:39:09 +09:00
jazz
1a7cab2c9c fix : 관리자 구독서비스 구독자 조회 팝업 2026-02-10 16:39:00 +09:00
25 changed files with 1049 additions and 241 deletions

View File

@@ -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)) {

View File

@@ -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<>();

View File

@@ -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("주문배송 정보를 찾을 수 없습니다.");
} }

View File

@@ -177,6 +177,7 @@ public class BOPurchsService {
public DataMap selectDftDlvylc(BOPurchsrVO purchsrVO) { public DataMap selectDftDlvylc(BOPurchsrVO purchsrVO) {
DataMap dftDlvylc = new DataMap(); DataMap dftDlvylc = new DataMap();
//기본배송지여부
purchsrVO.setDftDlvylcAt("Y"); purchsrVO.setDftDlvylcAt("Y");
List<DataMap> dlvylcAdresList = mapper.selectDlvylcList(purchsrVO); List<DataMap> dlvylcAdresList = mapper.selectDlvylcList(purchsrVO);
@@ -1854,6 +1855,8 @@ public class BOPurchsService {
}}; }};
String defaultAdressAt = ""; String defaultAdressAt = "";
String dlvylcAreaCd = (String) param.get("dlvylcAreaCd");
String prefcd = (String) param.get("prefcd");
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList");
@@ -1922,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); 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();
@@ -1947,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); 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();
@@ -1958,7 +1961,7 @@ public class BOPurchsService {
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc); dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
} }
} else { } else {
dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); dlvyAmtMap = getDlvyAmt(goodsList, sopmalCd, defaultAdressAt, dlvylcAreaCd);
if (!CollectionUtils.isEmpty(dlvyAmtMap)) { if (!CollectionUtils.isEmpty(dlvyAmtMap)) {
dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt"); dlvyAmt = (BigDecimal) dlvyAmtMap.get("dlvyAmt");
@@ -2104,9 +2107,10 @@ public class BOPurchsService {
* @param goodsList * @param goodsList
* @return List<DataMap> * @return List<DataMap>
*/ */
public DataMap getDlvyAmt(List<LinkedHashMap> goodsList, String sopmalCd, String defaultAdressAt) { 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);
BigDecimal rlDlvyAmt = new BigDecimal(0); // 실 최종 배송비 BigDecimal rlDlvyAmt = new BigDecimal(0); // 실 최종 배송비
@@ -2171,45 +2175,65 @@ public class BOPurchsService {
DataMap shippingGrouping = mapper.selectShippingGrouping(param); DataMap shippingGrouping = mapper.selectShippingGrouping(param);
//"KR".equals(dlvylcAreaCd)인 경우
String dlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd"); String dlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd");
BigDecimal dftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt"); // 기본배송비 BigDecimal dftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt"); // 기본배송비
BigDecimal dlvyAmt = dftDlvyAmt; // 배송비 BigDecimal dlvyAmt = dftDlvyAmt; // 배송비
String dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt"); // 도서산간 추가 배송비 조건 String dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt"); // 도서산간 추가 배송비 조건
BigDecimal areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt"); // 도서산간 추가 배송비 BigDecimal areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt"); // 도서산간 추가 배송비
String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건
BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt");
String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건
BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 수량
if("JP".equals(dlvylcAreaCd)){
// dlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd2");
dftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt2"); // 기본배송비
dlvyAmt = dftDlvyAmt; // 배송비
dlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt2"); // 도서산간 추가 배송비 조건
areaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt2"); // 도서산간 추가 배송비
amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt2"); // 금액조건
amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt");
cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt2"); // 수량조건
cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt2"); // 수량
}
// 무료배송(조건부) // 무료배송(조건부)
if ("01".equals(dlvyGroupDvCd)) { if ("01".equals(dlvyGroupDvCd)) {
// 조건(적용상품이 1건일 경우) // 조건(적용상품이 1건일 경우)
String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건 // String amtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건
String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건 // String cntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건
for (DataMap goodsMap : goodsByDlvyGroupList) { for (DataMap goodsMap : goodsByDlvyGroupList) {
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량 // BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
// 금액 조건 // 금액 조건
if ("Y".equals(amtCndUseAt)) { if ("Y".equals(amtCndUseAt)) {
BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 // BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량 BigDecimal slepric = (BigDecimal) goodsMap.get("subSlepric"); // 판매가 * 수량
if (slepric.compareTo(amtCndAditAmt) > 0) { if (slepric.compareTo(amtCndAditAmt) > 0) {
dlvyAmt = new BigDecimal(0); dlvyAmt = new BigDecimal(0);
} else {
//배송비 합(같은상품 수량당 배송비 책정)
dlvyAmt = dlvyAmt.multiply(qy);
} }
// else {
// //배송비 합(같은상품 수량당 배송비 책정)
// dlvyAmt = dlvyAmt.multiply(qy);
// }
} }
// 수량 조건 // 수량 조건
if ("Y".equals(cntCndUseAt)) { if ("Y".equals(cntCndUseAt)) {
BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액 // BigDecimal cntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 금액조건 추가금액
BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
if (qy.compareTo(cntCndAditAmt) > 0) { if (qy.compareTo(cntCndAditAmt) > 0) {
dlvyAmt = new BigDecimal(0); dlvyAmt = new BigDecimal(0);
} else {
//배송비 합(같은상품 수량당 배송비 책정)
dlvyAmt = dlvyAmt.multiply(qy);
} }
// else {
// //배송비 합(같은상품 수량당 배송비 책정)
// dlvyAmt = dlvyAmt.multiply(qy);
// }
} }
} }
@@ -2268,29 +2292,66 @@ public class BOPurchsService {
} else if ("03".equals(dlvyGroupDvCd)) { // 유료배송 } else if ("03".equals(dlvyGroupDvCd)) { // 유료배송
BigDecimal goodsQy = new BigDecimal(0); if("KR".equals(dlvylcAreaCd) || "JP".equals(dlvylcAreaCd)) {
// 유료배송비 합(같은상품 수량당 배송비 책정)
for (DataMap goodsMap : goodsByDlvyGroupList) {
goodsQy = (BigDecimal) goodsMap.get("qy");
dlvyAmt = dlvyAmt.multiply(goodsQy);
paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); BigDecimal goodsQy = new BigDecimal(0);
}
// 유료배송비 합(같은상품 묶음 처리)
//paidDlvyAmt = paidDlvyAmt.add(dlvyAmt);
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) { for (DataMap goodsMap : goodsByDlvyGroupList) {
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비 BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
}
// 수량 조건
if ("Y".equals(cntCndUseAt)) {
qy = (BigDecimal) goodsMap.get("qy"); // 수량
if (qy.compareTo(cntCndAditAmt) > 0) {
goodsQy = qy.divide(cntCndAditAmt, 0, RoundingMode.CEILING);
//배송비 합(같은상품 수량당 배송비 책정)
BigDecimal multidlvyAmt = dlvyAmt.multiply(goodsQy);
paidDlvyAmt = paidDlvyAmt.add(multidlvyAmt);
// 추가배송비 계산 (MUL)
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) {
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt.multiply(goodsQy)); // 유료 배송 도서산간 추가 배송비
}
}
} else {
// 수량당 배송비가 1인경우
paidDlvyAmt = paidDlvyAmt.add(dlvyAmt);
// 추가배송비 계산
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) {
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비
}
}
}
} else {
//수량 조건 없는 경우
paidDlvyAmt = paidDlvyAmt.add(dlvyAmt); // 유료배송비 합
// 추가배송비 계산
if (!StringUtils.isEmpty(dlvyAreaAditAt) && "Y".equals(dlvyAreaAditAt)) {
if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
addPaidDlvyAmt = addPaidDlvyAmt.add(areaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비
}
}
}
} //for
} else {
dlvyAmt = new BigDecimal(0);
dftDlvyAmt = new BigDecimal(0);
} }
} }
BigDecimal finalDlvyAmt = dlvyAmt; BigDecimal finalDlvyAmt = dlvyAmt;
BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액 BigDecimal finalDftDlvyAmt = dftDlvyAmt;
// BigDecimal amtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt"); // 금액조건 추가금액
DataMap dlvyGroupMap = new DataMap(){{ DataMap dlvyGroupMap = new DataMap(){{
put("dlvyGroupInnb", dlvyGroupInnb); put("dlvyGroupInnb", dlvyGroupInnb);
put("dftDlvyAmt", dftDlvyAmt); put("dftDlvyAmt", finalDftDlvyAmt);
put("dlvyAmt", finalDlvyAmt); put("dlvyAmt", finalDlvyAmt);
}}; }};

View File

@@ -89,4 +89,11 @@ public class BOPurchsrVO extends AbstractVO {
/** 기본배송지 여부 */ /** 기본배송지 여부 */
private String dftDlvylcAt; private String dftDlvylcAt;
/** 도도부현 코드(일본) */
private String prefcd;
/**배송지역코드*/
private String dlvylcAreaCd;
} }

View File

@@ -767,6 +767,8 @@ public interface BOOrdrMapper {
*/ */
public String selectBODefaultAdressAtInqire(DataMap vo); public String selectBODefaultAdressAtInqire(DataMap vo);
public String selectBODefaultAdressAtInqire2(DataMap vo);
/** /**
* 주문 상품 옵션별 정보와 배송그룹 정보 * 주문 상품 옵션별 정보와 배송그룹 정보

View File

@@ -2824,7 +2824,7 @@ public class BOOrdrService{
cashVO.setSopmalCd(ordrVO.getSopmalCd()); cashVO.setSopmalCd(ordrVO.getSopmalCd());
cashVO.setMbrDvCd(ordrVO.getMbrDvCd()); cashVO.setMbrDvCd(ordrVO.getMbrDvCd());
cashVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb())); cashVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb()));
//구매자조회
DataMap purchsrMap = purchsService.selectPurchsr(purchsrVO); DataMap purchsrMap = purchsService.selectPurchsr(purchsrVO);
if (!CollectionUtils.isEmpty(purchsrMap)) { if (!CollectionUtils.isEmpty(purchsrMap)) {
@@ -3003,6 +3003,8 @@ public class BOOrdrService{
public Map<String, Object> selectSetleExpectAmt(DataMap param) throws Exception { public Map<String, Object> selectSetleExpectAmt(DataMap param) throws Exception {
Map<String, Object> content = new HashMap<>(); Map<String, Object> content = new HashMap<>();
log.debug("selectSetleExpectAmt-param : {}", param);
LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{ LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{
put("goodsAmt", 0); put("goodsAmt", 0);
put("dlvyAmt", 0); put("dlvyAmt", 0);
@@ -3376,10 +3378,16 @@ public class BOOrdrService{
// ############################################## 배송지별 배송비 계산 START ############################################## // ############################################## 배송지별 배송비 계산 START ##############################################
String ordrAdressZip = StringUtil.isNullToString(param.get("dlvylcZip")); 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() {{ // DataMap defaultAdressVO = new DataMap() {{ //
put("sopmalCd", sopmalCd); // 쇼핑몰 코드 put("sopmalCd", sopmalCd); // 쇼핑몰 코드
put("zip", ordrAdressZip); // 우편번호 put("zip", ordrAdressZip); // 우편번호
put("prefcd", prefcd); // 도도부현코드
}}; }};
String defaultAdressAt = "N"; // 내가 제2권역 주소인지 여부 String defaultAdressAt = "N"; // 내가 제2권역 주소인지 여부
@@ -3411,15 +3419,21 @@ public class BOOrdrService{
dlvyCouponDscntAmt = dlvyCouponDscntAmt.add(new BigDecimal(applyDlvylcCouponDscntAmt)); dlvyCouponDscntAmt = dlvyCouponDscntAmt.add(new BigDecimal(applyDlvylcCouponDscntAmt));
} }
if("KR".equals(dlvylcAreaCd)){
defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip"))); defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip")));
log.debug("defaultAdressVO : {}", defaultAdressVO); log.debug("defaultAdressVO-KR : {}", defaultAdressVO);
defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO);
}
if("JP".equals(dlvylcAreaCd)){
defaultAdressVO.put("prefcd", StringUtil.isNullToString(dlvylcMapMulti.get("prefcd")));
log.debug("defaultAdressVO-JP : {}", defaultAdressVO);
defaultAdressAt = mapper.selectBODefaultAdressAtInqire2(defaultAdressVO);
}
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); 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())) {
@@ -3443,8 +3457,68 @@ public class BOOrdrService{
} }
} else { // 일반 주문 } else { // 일반 주문
// DataMap dlvyAmtMapMulti = null;
//
// LinkedHashMap<String, Object> multiOrdrDlvylcMap = (LinkedHashMap) param.get("multiOrdrDlvylc");
//
// log.debug("multiOrdrDlvylcMap : {}", multiOrdrDlvylcMap);
// if (!CollectionUtils.isEmpty(multiOrdrDlvylcMap)) {
//
// List<LinkedHashMap<String, Object>> dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylcMap.get("dlvylc");
//
// if (!CollectionUtils.isEmpty(dlvylcListMulti)) {
//
// int dlvyAmtIndex = 0; // 배송지 rownum 체크
// for (LinkedHashMap<String, Object> dlvylcMapMulti : dlvylcListMulti) {
// int dlvyAmtBydlvylc = 0;
//
// LinkedHashMap dlvylcDscntDtlsMulti = (LinkedHashMap) dlvylcMapMulti.get("dlvylcDscntDtls");
//
// if (!CollectionUtils.isEmpty(dlvylcDscntDtlsMulti)) {
// int applyDlvylcCouponDscntAmt = (int) dlvylcDscntDtlsMulti.get("dscntAmt");
//
// dlvyCouponDscntAmt = dlvyCouponDscntAmt.add(new BigDecimal(applyDlvylcCouponDscntAmt));
// }
//
//
// defaultAdressVO.put("zip", StringUtil.isNullToString(dlvylcMapMulti.get("dlvylcZip")));
// log.debug("defaultAdressVO : {}", defaultAdressVO);
// defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO);
//
// List<LinkedHashMap> goodsListMulti = (List<LinkedHashMap>) dlvylcMapMulti.get("goodsList");
// log.debug("goodsListMulti : {}", goodsListMulti);
// if (!CollectionUtils.isEmpty(goodsListMulti)) {
// dlvyAmtMapMulti = purchsService.getDlvyAmt(goodsListMulti, sopmalCd, defaultAdressAt, dlvylcAreaCd);
//
// if (!CollectionUtils.isEmpty(dlvyAmtMapMulti)) {
// if (dlvylcMapMulti.get("mngrFreeDlvyUseAt") != null && "Y".equals(dlvylcMapMulti.get("mngrFreeDlvyUseAt").toString())) {
// log.debug("관리자 무료배송 체크 'Y'");
// dlvyAmt = dlvyAmt.add(new BigDecimal(0));
// } else {
// dlvyAmt = dlvyAmt.add((BigDecimal) dlvyAmtMapMulti.get("dlvyAmt"));
// }
// dlvyAmtMulti.put("shippingDlvyAmt" + dlvyAmtIndex, new BigDecimal(String.valueOf(dlvyAmtMapMulti.get("dlvyAmt"))));
//
// dftDlvyAmt = dftDlvyAmt.add((BigDecimal) dlvyAmtMapMulti.get("dftDlvyAmt"));
// dlvyAmtMulti.put("shippingDftDlvyAmt" + dlvyAmtIndex, new BigDecimal(String.valueOf(dlvyAmtMapMulti.get("dftDlvyAmt"))));
//
// dlvyAmtIndex += 1; // 배송지 rownum ++
// }
// }
// }
//
// }
//
// }
defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO); if("KR".equals(dlvylcAreaCd)){
log.debug("defaultAdressVO-KR : {}", defaultAdressVO);
defaultAdressAt = mapper.selectBODefaultAdressAtInqire(defaultAdressVO);
}
if("JP".equals(dlvylcAreaCd)){
log.debug("defaultAdressVO-JP : {}", defaultAdressVO);
defaultAdressAt = mapper.selectBODefaultAdressAtInqire2(defaultAdressVO);
}
LinkedHashMap<String, Object> dlvylcMap = (LinkedHashMap) param.get("dlvylc"); LinkedHashMap<String, Object> dlvylcMap = (LinkedHashMap) param.get("dlvylc");
@@ -3472,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); 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); 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); 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();
@@ -3492,7 +3566,7 @@ public class BOOrdrService{
dlvyAmt = new BigDecimal(dlvyAmtBydlvylc); dlvyAmt = new BigDecimal(dlvyAmtBydlvylc);
} else { } else {
dlvyAmtMap = purchsService.getDlvyAmt(goodsList, sopmalCd, defaultAdressAt); 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");

View File

@@ -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")) ||

View File

@@ -1269,7 +1269,9 @@ FROM (
, FDA.RECPNT_NM , FDA.RECPNT_NM
, REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{2})(.{4})(.{4})', '$1-$2-$3') AS TELNB , REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.TELNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{2})(.{4})(.{4})', '$1-$2-$3') AS TELNB
, REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS MBTLNB , REGEXP_REPLACE(CAST(AES_DECRYPT(UNHEX(FDA.MBTLNB), '1df5be2f7e90ae36') AS CHAR(50)), '(.{3})(.{4})(.{4})', '$1-$2-$3') AS MBTLNB
, FDA.DLVYLC_AREA_CD
, FDA.ZIP , FDA.ZIP
, FDA.PREFCD
, FDA.ADRES_DV , FDA.ADRES_DV
, FDA.RNM_ADRES , FDA.RNM_ADRES
, FDA.LNB_ADRES , FDA.LNB_ADRES
@@ -1573,6 +1575,15 @@ FROM (
, ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0') AS BUNDLE_DLVY_CND_AMT , ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT, 0), '0') AS BUNDLE_DLVY_CND_AMT
, FSG.DLVY_AREA_ADIT_AT , FSG.DLVY_AREA_ADIT_AT
, ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0') AS AREA_ADIT_DLVY_AMT , ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT, 0), '0') AS AREA_ADIT_DLVY_AMT
, ROUND(IFNULL(FSG.DFT_DLVY_AMT2, 0), '0') AS DFT_DLVY_AMT2
, FSG.AMT_CND_USE_AT2
, ROUND(IFNULL(FSG.AMT_CND_ADIT_AMT2, 0), '0') AS AMT_CND_ADIT_AMT2
, FSG.CNT_CND_USE_AT2
, ROUND(IFNULL(FSG.CNT_CND_ADIT_AMT2, 0), '0') AS CNT_CND_ADIT_AMT2
, FSG.BUNDLE_DLVY_USE_AT2
, ROUND(IFNULL(FSG.BUNDLE_DLVY_CND_AMT2, 0), '0') AS BUNDLE_DLVY_CND_AMT2
, FSG.DLVY_AREA_ADIT_AT2
, ROUND(IFNULL(FSG.AREA_ADIT_DLVY_AMT2, 0), '0') AS AREA_ADIT_DLVY_AMT2
FROM GC_SHIPPING_GROUPING FSG FROM GC_SHIPPING_GROUPING FSG
WHERE FSG.DLVY_GROUP_INNB = #{dlvyGroupInnb} WHERE FSG.DLVY_GROUP_INNB = #{dlvyGroupInnb}
AND FSG.SOPMAL_CD = #{sopmalCd} AND FSG.SOPMAL_CD = #{sopmalCd}

View File

@@ -27,7 +27,7 @@
AND OI.GOODS_INNB = G.GOODS_INNB AND OI.GOODS_INNB = G.GOODS_INNB
INNER JOIN GC_ORDER O ON EX.SOPMAL_CD = O.SOPMAL_CD INNER JOIN GC_ORDER O ON EX.SOPMAL_CD = O.SOPMAL_CD
AND EX.ORDR_INNB = O.ORDR_INNB AND EX.ORDR_INNB = O.ORDR_INNB
AND O.SUBSVC_AT = 'N' /*구독서비스 제외*/ /*AND O.SUBSVC_AT = 'N'*/ /*구독서비스 제외*/
INNER JOIN GC_ORDER_SHIPPING OSHIP ON EX.SOPMAL_CD = OSHIP.SOPMAL_CD INNER JOIN GC_ORDER_SHIPPING OSHIP ON EX.SOPMAL_CD = OSHIP.SOPMAL_CD
AND EX.ORDR_INNB = OSHIP.ORDR_INNB AND EX.ORDR_INNB = OSHIP.ORDR_INNB
AND EX.ORDR_DLVY_INNB = OSHIP.ORDR_DLVY_INNB AND EX.ORDR_DLVY_INNB = OSHIP.ORDR_DLVY_INNB
@@ -406,7 +406,7 @@
AND OI.GOODS_INNB = G.GOODS_INNB AND OI.GOODS_INNB = G.GOODS_INNB
INNER JOIN GC_ORDER O ON SH.SOPMAL_CD = O.SOPMAL_CD INNER JOIN GC_ORDER O ON SH.SOPMAL_CD = O.SOPMAL_CD
AND SH.ORDR_INNB = O.ORDR_INNB AND SH.ORDR_INNB = O.ORDR_INNB
AND O.SUBSVC_AT = 'N' /*구독서비스 제외*/ /*AND O.SUBSVC_AT = 'N'*/ /*구독서비스 제외*/
INNER JOIN GC_ORDER_SETLE ST ON SH.SOPMAL_CD = ST.SOPMAL_CD INNER JOIN GC_ORDER_SETLE ST ON SH.SOPMAL_CD = ST.SOPMAL_CD
AND SH.ORDR_INNB = ST.ORDR_INNB AND SH.ORDR_INNB = ST.ORDR_INNB
LEFT JOIN GC_MEMBER MBR ON O.MBR_DV_CD = MBR.MBR_DV_CD LEFT JOIN GC_MEMBER MBR ON O.MBR_DV_CD = MBR.MBR_DV_CD
@@ -585,8 +585,10 @@
,SUM(OIOP.ORDR_QY) AS ORDR_QY -- 주문수량 ,SUM(OIOP.ORDR_QY) AS ORDR_QY -- 주문수량
,COUNT(OIOP.ORDR_GOODS_OPTN_INNB) AS CNT ,COUNT(OIOP.ORDR_GOODS_OPTN_INNB) AS CNT
,IFNULL(SUM(OIOP.STEP85), 0) AS SETLE_CANCEL_QY -- 취소수량 ,IFNULL(SUM(OIOP.STEP85), 0) AS SETLE_CANCEL_QY -- 취소수량
,SUM(OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량 -- ,SUM(OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량
,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량 -- ,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량
,SUM(OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량
,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량
,CASE -- ,CASE --
WHEN COUNT(OIOP.ORDR_GOODS_OPTN_INNB) > 1 THEN CONCAT(MAX(OI.GOODS_NM) , ' 외 ', COUNT(OIOP.ORDR_GOODS_OPTN_INNB)-1, '종') WHEN COUNT(OIOP.ORDR_GOODS_OPTN_INNB) > 1 THEN CONCAT(MAX(OI.GOODS_NM) , ' 외 ', COUNT(OIOP.ORDR_GOODS_OPTN_INNB)-1, '종')
ELSE MAX(OI.GOODS_NM) ELSE MAX(OI.GOODS_NM)
@@ -664,8 +666,10 @@
,SUM(OIOP.ORDR_QY) AS ORDR_QY -- 주문수량 ,SUM(OIOP.ORDR_QY) AS ORDR_QY -- 주문수량
,COUNT(OIOP.ORDR_GOODS_OPTN_INNB) AS CNT ,COUNT(OIOP.ORDR_GOODS_OPTN_INNB) AS CNT
,IFNULL(SUM(OIOP.STEP85), 0) AS SETLE_CANCEL_QY -- 취소수량 ,IFNULL(SUM(OIOP.STEP85), 0) AS SETLE_CANCEL_QY -- 취소수량
,SUM(OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량 -- ,SUM(OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량
,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량 -- ,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량
,SUM(OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS SNDNG_QY -- 보낸 수량
,SUM((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS REMAIN_QY -- 남은 수량
,CASE -- ,CASE --
WHEN COUNT(OIOP.ORDR_GOODS_OPTN_INNB) > 1 THEN CONCAT(MAX(OI.GOODS_NM) , ' 외 ', COUNT(OIOP.ORDR_GOODS_OPTN_INNB)-1, '종') WHEN COUNT(OIOP.ORDR_GOODS_OPTN_INNB) > 1 THEN CONCAT(MAX(OI.GOODS_NM) , ' 외 ', COUNT(OIOP.ORDR_GOODS_OPTN_INNB)-1, '종')
ELSE MAX(OI.GOODS_NM) ELSE MAX(OI.GOODS_NM)
@@ -757,7 +761,8 @@
OIOP.ORDR_GOODS_OPTN_INNB OIOP.ORDR_GOODS_OPTN_INNB
,OIOP.SOPMAL_CD ,OIOP.SOPMAL_CD
,OIOP.OPTN_TY ,OIOP.OPTN_TY
,((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS QY -- ,((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP35 + OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS QY
,((OIOP.ORDR_QY - OIOP.STEP85) - (OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75)) AS QY /*상품준비(35)는 출고대상으로 지정*/
,OI.GOODS_NM ,OI.GOODS_NM
,( ,(
SELECT SELECT

View File

@@ -79,14 +79,17 @@
MBR_INNB, MBR_INNB,
MBR_DV_CD, MBR_DV_CD,
DLVYLC_DC_CN, DLVYLC_DC_CN,
DLVYLC_AREA_CD,
RECPNT_NM, RECPNT_NM,
CAST(AES_DECRYPT(UNHEX(MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)) AS MBTLNB, CAST(AES_DECRYPT(UNHEX(MBTLNB) , '1df5be2f7e90ae36') AS CHAR(50)) AS MBTLNB,
ADRES_DV, ADRES_DV,
LNB_ADRES, LNB_ADRES,
RNM_ADRES, RNM_ADRES,
DTL_ADRES, DTL_ADRES,
CSTMCLER_CD,
DFT_DLVYLC_AT, DFT_DLVYLC_AT,
ZIP ZIP,
PREFCD
<include refid="dlvyAdresFrom"/> <include refid="dlvyAdresFrom"/>
<include refid="mbrInnbWhere"/> <include refid="mbrInnbWhere"/>
ORDER BY (CASE WHEN DFT_DLVYLC_AT = 'Y' THEN 1 ELSE 2 END), ADBK_INNB DESC ORDER BY (CASE WHEN DFT_DLVYLC_AT = 'Y' THEN 1 ELSE 2 END), ADBK_INNB DESC
@@ -494,7 +497,7 @@
AND FOS.ORDR_INNB = FO.ORDR_INNB AND FOS.ORDR_INNB = FO.ORDR_INNB
WHERE FO.USE_AT = 'Y' WHERE FO.USE_AT = 'Y'
AND IFNULL(FOS.ORDR_INNB, '') != '' AND IFNULL(FOS.ORDR_INNB, '') != ''
AND FO.SUBSVC_AT = 'N' /*AND FO.SUBSVC_AT = 'N'*/
AND FO.SOPMAL_CD = #{sopmalCd} AND FO.SOPMAL_CD = #{sopmalCd}
<include refid="orderWhere"/> <include refid="orderWhere"/>
</select> </select>
@@ -598,7 +601,7 @@
ON FOS.SOPMAL_CD = FO.SOPMAL_CD ON FOS.SOPMAL_CD = FO.SOPMAL_CD
AND FOS.ORDR_INNB = FO.ORDR_INNB AND FOS.ORDR_INNB = FO.ORDR_INNB
WHERE FO.USE_AT = 'Y' WHERE FO.USE_AT = 'Y'
AND FO.SUBSVC_AT = 'N' /*AND FO.SUBSVC_AT = 'N'*/
AND FOS.ORDR_INNB IS NOT NULL -- GC_ORDER_SETLE 에 데이터가 있을 때 조건 AND FOS.ORDR_INNB IS NOT NULL -- GC_ORDER_SETLE 에 데이터가 있을 때 조건
# AND IFNULL(FOS.ORDR_INNB, '') != '' -- 필터조건의 의미가 inner join 을 의미하므로, GC_ORDER_SETLE 테이블과 inner join 으로 변경하였음. # AND IFNULL(FOS.ORDR_INNB, '') != '' -- 필터조건의 의미가 inner join 을 의미하므로, GC_ORDER_SETLE 테이블과 inner join 으로 변경하였음.
AND FO.SOPMAL_CD = #{sopmalCd} AND FO.SOPMAL_CD = #{sopmalCd}
@@ -4636,7 +4639,7 @@
</select> </select>
<!-- 추가지역별배송비 해당 여부 --> <!-- 추가지역별배송비 해당 여부 (KR) -->
<select id="selectBODefaultAdressAtInqire" <select id="selectBODefaultAdressAtInqire"
resultType="java.lang.String"> resultType="java.lang.String">
<![CDATA[ <![CDATA[
@@ -4654,6 +4657,24 @@
]]> ]]>
</select> </select>
<!-- 추가지역별배송비 해당 여부 (JP) -->
<select id="selectBODefaultAdressAtInqire2"
resultType="java.lang.String">
<![CDATA[
SELECT
CASE
WHEN EXISTS (
SELECT 1
FROM GC_DEFAULT_ADDSHIPPING
WHERE SOPMAL_CD = #{sopmalCd}
AND PREFCD = #{prefcd}
) THEN 'Y'
ELSE 'N'
END AS ADDSHIPPING_AT
FROM DUAL
]]>
</select>

View File

@@ -370,6 +370,9 @@ const fn_update_dlvylc = function (pageIndex,msg,isMobile) {
jibunAddress: $(".lnbAdres").eq(index).val(), jibunAddress: $(".lnbAdres").eq(index).val(),
recpntNm: $(".recpntNmR").eq(index).val(), recpntNm: $(".recpntNmR").eq(index).val(),
dtlAdres: $(".dtlAdres").eq(index).val(), dtlAdres: $(".dtlAdres").eq(index).val(),
dlvylcAreaCd: $(".dlvylcAreaCd").eq(index).val(),
prefcd: $(".prefcd").eq(index).val(),
cstmclerCd: $(".cstmclerCd").eq(index).val(),
mbtlnb: $(".mbtlnb").eq(index).val(), mbtlnb: $(".mbtlnb").eq(index).val(),
extraAddress: extraAddress extraAddress: extraAddress
}, formId); }, formId);

View File

@@ -319,6 +319,9 @@ const fn_select_mngrOrdr_postcode = function (callback, index, formId = '') {
jibunAddress: $(".lnbAdres").eq(index).val(), jibunAddress: $(".lnbAdres").eq(index).val(),
recpntNm: $(".recpntNmR").eq(index).val(), recpntNm: $(".recpntNmR").eq(index).val(),
dtlAdres: $(".dtlAdres").eq(index).val(), dtlAdres: $(".dtlAdres").eq(index).val(),
dlvylcAreaCd: $(".dlvylcAreaCd").eq(index).val(),
prefcd: $(".prefcd").eq(index).val(),
cstmclerCd: $(".cstmclerCd").eq(index).val(),
mbtlnb: $(".dlvylcMbtlnb").eq(index).val(), mbtlnb: $(".dlvylcMbtlnb").eq(index).val(),
extraAddress: extraAddress extraAddress: extraAddress
}, formId); }, formId);

View File

@@ -309,6 +309,9 @@ const fn_select_mngrOrdr_postcode = function (callback, index) {
jibunAddress: $(".lnbAdres").eq(index).val(), jibunAddress: $(".lnbAdres").eq(index).val(),
recpntNm: $(".recpntNmR").eq(index).val(), recpntNm: $(".recpntNmR").eq(index).val(),
dtlAdres: $(".dtlAdres").eq(index).val(), dtlAdres: $(".dtlAdres").eq(index).val(),
dlvylcAreaCd: $(".dlvylcAreaCd").eq(index).val(),
prefcd: $(".prefcd").eq(index).val(),
cstmclerCd: $(".cstmclerCd").eq(index).val(),
mbtlnb: $(".dlvylcMbtlnb").eq(index).val(), mbtlnb: $(".dlvylcMbtlnb").eq(index).val(),
extraAddress: extraAddress extraAddress: extraAddress
}); });

View File

@@ -319,6 +319,9 @@ const fn_select_mngrOrdr_postcode = function (callback, index, formId = '') {
jibunAddress: $(".lnbAdres").eq(index).val(), jibunAddress: $(".lnbAdres").eq(index).val(),
recpntNm: $(".recpntNmR").eq(index).val(), recpntNm: $(".recpntNmR").eq(index).val(),
dtlAdres: $(".dtlAdres").eq(index).val(), dtlAdres: $(".dtlAdres").eq(index).val(),
dlvylcAreaCd: $(".dlvylcAreaCd").eq(index).val(),
prefcd: $(".prefcd").eq(index).val(),
cstmclerCd: $(".cstmclerCd").eq(index).val(),
mbtlnb: $(".dlvylcMbtlnb").eq(index).val(), mbtlnb: $(".dlvylcMbtlnb").eq(index).val(),
extraAddress: extraAddress extraAddress: extraAddress
}, formId); }, formId);

View File

@@ -18,7 +18,7 @@
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/> <spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div id="subsvcOrdrrGoodsInfoListPop" class="modal" style="max-width: 700px;"> <div id="subsvcOrdrrGoodsInfoListPop" class="modal" style="max-width: 700px;">
<div class="modal-header"> <div class="modal-header">
<h4>배송내역</h4> <h4>배송상품 목록</h4>
</div> </div>
<br> <br>
<div class="modal-content"> <div class="modal-content">

View File

@@ -18,7 +18,7 @@
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/> <spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div id="subsvcOrderMbrInfoListPop" class="modal" style="max-width: 700px;"> <div id="subsvcOrderMbrInfoListPop" class="modal" style="max-width: 700px;">
<div class="modal-header"> <div class="modal-header">
<h4>배송내역</h4> <h4>구독자 목록</h4>
</div> </div>
<br> <br>
<div class="modal-content"> <div class="modal-content">
@@ -67,7 +67,7 @@
<thead> <thead>
<tr> <tr>
<th>순번</th> <th>순번</th>
<th>주문일자</th> <th>주문번호</th>
<th>구독자</th> <th>구독자</th>
<th>최종차수</th> <th>최종차수</th>
<th>최종처리일</th> <th>최종처리일</th>

View File

@@ -89,6 +89,9 @@
<input type="hidden" name="lnbAdres" class = "lnbAdres"value="<c:out value='${resultMap.lnbAdres}'/>" /> <input type="hidden" name="lnbAdres" class = "lnbAdres"value="<c:out value='${resultMap.lnbAdres}'/>" />
<input type="hidden" name="recpntNm" class = "recpntNmR" value="<c:out value='${resultMap.recpntNm}'/>" /> <input type="hidden" name="recpntNm" class = "recpntNmR" value="<c:out value='${resultMap.recpntNm}'/>" />
<input type="hidden" name="dtlAdres" class = "dtlAdres" value="<c:out value='${resultMap.dtlAdres}'/>" /> <input type="hidden" name="dtlAdres" class = "dtlAdres" value="<c:out value='${resultMap.dtlAdres}'/>" />
<input type="hidden" name="dlvylcAreaCd" class="dlvylcAreaCd" value="<c:out value='${resultMap.dlvylcAreaCd}'/>" />
<input type="hidden" name="prefcd" class="prefcd" value="<c:out value='${resultMap.prefcd}'/>" />
<input type="hidden" name="cstmclerCd" class="cstmclerCd" value="<c:out value='${resultMap.cstmclerCd}'/>" />
<input type="hidden" name="mbtlnb" class = "mbtlnb" value="<c:out value='${resultMap.mbtlnb}' />" /> <input type="hidden" name="mbtlnb" class = "mbtlnb" value="<c:out value='${resultMap.mbtlnb}' />" />
</c:forEach> </c:forEach>
</c:when> </c:when>

View File

@@ -1135,8 +1135,8 @@
<c:when test="${order.ordrSttusCd == 25}"> <c:when test="${order.ordrSttusCd == 25}">
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn gray2">전체 결제취소</a> <a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn gray2">전체 결제취소</a>
</c:when> </c:when>
<c:when test="${goods.ordrSttusCd > 34 && goods.ordrSttusCd < 55}"> <c:when test="${order.ordrSttusCd > 34 && order.ordrSttusCd < 71}">
<a href="javascript:void(0);" class="btn-ordr-sttus btn gray sm full" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a> <a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');" class="btn gray2">구독취소</a>
</c:when> </c:when>
</c:choose> </c:choose>
</div> </div>

View File

@@ -64,6 +64,8 @@
const isDftDlvylc = $('#isDftDlvylc').val(); const isDftDlvylc = $('#isDftDlvylc').val();
const dlvylcZip = $('#dlvylcZip').val(); const dlvylcZip = $('#dlvylcZip').val();
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
const prefcd = $('#prefcd').val();
if ('N' === isDftDlvylc) { if ('N' === isDftDlvylc) {
$('input[name="dlvylcDvCd"][value="New"]').trigger('click'); $('input[name="dlvylcDvCd"][value="New"]').trigger('click');
@@ -71,6 +73,8 @@
} }
localStorage.setItem("dlvylcZip", dlvylcZip); localStorage.setItem("dlvylcZip", dlvylcZip);
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
localStorage.setItem("prefcd", prefcd);
const mbrDvCd = $('#mbrDvCd').val(); const mbrDvCd = $('#mbrDvCd').val();
const mbrId = $('#mbrId').val(); const mbrId = $('#mbrId').val();
@@ -170,7 +174,12 @@
} }
const dlvylcZip = $('#dlvylcZip').val(); const dlvylcZip = $('#dlvylcZip').val();
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
const prefcd = $('#prefcd').val();
localStorage.setItem("dlvylcZip", dlvylcZip); localStorage.setItem("dlvylcZip", dlvylcZip);
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
localStorage.setItem("prefcd", prefcd);
fn_get_setle_amt(); fn_get_setle_amt();
if ($(this).val() === 'Gift') { if ($(this).val() === 'Gift') {
@@ -891,6 +900,8 @@
$('#dlvylcRnmAdres').val(parseJson.dftDlvylc.rnmAdres); $('#dlvylcRnmAdres').val(parseJson.dftDlvylc.rnmAdres);
$('#dlvylcAdresDtl').val(parseJson.dftDlvylc.dtlAdres); $('#dlvylcAdresDtl').val(parseJson.dftDlvylc.dtlAdres);
$('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb); $('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb);
$('#dlvylcAreaCd').val(parseJson.dftDlvylc.dlvylcAreaCd);
$('#prefcd').val(parseJson.dftDlvylc.prefcd);
let adress = '(' + $('#dlvylcZip').val() + ')' + parseJson.dftDlvylc.adres + $('#dlvylcAdresDtl').val(); let adress = '(' + $('#dlvylcZip').val() + ')' + parseJson.dftDlvylc.adres + $('#dlvylcAdresDtl').val();
@@ -1054,6 +1065,8 @@
let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val(); let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val();
let dlvylcZip = ''; let dlvylcZip = '';
let dlvylcAreaCd = '';
let prefcd = '';
let recpntNm = ''; let recpntNm = '';
let recpntMbtlnb = ''; let recpntMbtlnb = '';
let dlvylcAdresDvCd = ''; let dlvylcAdresDvCd = '';
@@ -1065,6 +1078,8 @@
if ('Default' === dlvylcDvCd) { if ('Default' === dlvylcDvCd) {
if (idx < 1) { // 첫번째 배송지만 if (idx < 1) { // 첫번째 배송지만
dlvylcZip = $(form).find('#dlvylcZip').val(); dlvylcZip = $(form).find('#dlvylcZip').val();
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
prefcd = $(form).find('#prefcd').val();
recpntNm = $(form).find('#recpntNm').val(); recpntNm = $(form).find('#recpntNm').val();
recpntMbtlnb = $(form).find('#recpntMbtlnb').val(); recpntMbtlnb = $(form).find('#recpntMbtlnb').val();
dlvylcAdresDvCd = $(form).find('#dlvylcAdresDvCd').val(); dlvylcAdresDvCd = $(form).find('#dlvylcAdresDvCd').val();
@@ -1074,6 +1089,8 @@
dlvyMssageCn = $(form).find('#dlvyMssageCn').val(); dlvyMssageCn = $(form).find('#dlvyMssageCn').val();
} else { // 나머지 배송지 } else { // 나머지 배송지
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
prefcd = $(form).find('#prefcd').val();
recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val();
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
@@ -1084,6 +1101,8 @@
} }
} else { } else {
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
prefcd = $(form).find('#prefcd').val();
recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val();
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
@@ -1102,6 +1121,8 @@
otrCouponSmtmUseAt: otrCouponSmtmUseAt, otrCouponSmtmUseAt: otrCouponSmtmUseAt,
mngrFreeDlvyUseAt: mngrFreeDlvyUseAt, mngrFreeDlvyUseAt: mngrFreeDlvyUseAt,
dlvylcZip: dlvylcZip, dlvylcZip: dlvylcZip,
dlvylcAreaCd: dlvylcAreaCd,
prefcd: prefcd,
recpntNm: recpntNm, recpntNm: recpntNm,
recpntMbtlnb: recpntMbtlnb, recpntMbtlnb: recpntMbtlnb,
dlvylcAdresDvCd: dlvylcAdresDvCd, dlvylcAdresDvCd: dlvylcAdresDvCd,
@@ -1468,6 +1489,8 @@
html += ' <input type="hidden" name="dlvylcAdresDvCd" class="new">'; html += ' <input type="hidden" name="dlvylcAdresDvCd" class="new">';
html += ' <input type="hidden" name="dlvylcLnbAdres" class="new">'; html += ' <input type="hidden" name="dlvylcLnbAdres" class="new">';
html += ' <input type="hidden" name="dlvylcRnmAdres" class="new">'; html += ' <input type="hidden" name="dlvylcRnmAdres" class="new">';
html += ' <input type="hidden" name="dlvylcAreaCd" class="new">';
html += ' <input type="hidden" name="prefcd" class="new">';
html += ' </div>'; html += ' </div>';
html += ' </td>'; html += ' </td>';
html += ' </tr>'; html += ' </tr>';
@@ -1801,14 +1824,41 @@
$(form).find('input[name="recpntMbtlnb"]').val(mbtlnb); $(form).find('input[name="recpntMbtlnb"]').val(mbtlnb);
$(form).find('input[name="dlvylcZip"]').val(data.postcode); $(form).find('input[name="dlvylcZip"]').val(data.postcode);
$(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd);
$(form).find('input[name="prefcd"]').val(data.prefcd);
$(form).find('input[name="cstmclerCd"]').val(data.cstmclerCd);
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
$(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
$(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
$(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();
} }
} }
} }
/* 배송지정보 > 배송지 쿠폰 목록 조회 */ /* 배송지정보 > 배송지 쿠폰 목록 조회 */
@@ -2427,11 +2477,22 @@
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'));
setle['enuri'] = JSON.parse(localStorage.getItem('enuri')); setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
setle['dlvylcZip'] = localStorage.getItem('dlvylcZip'); setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
setle['prefcd'] = localStorage.getItem('prefcd');
setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc')); setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val(); setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val();
@@ -2695,6 +2756,10 @@
order['shipping'] = dlvylc; order['shipping'] = dlvylc;
/* 배송지 정합성 검사 종료 */ /* 배송지 정합성 검사 종료 */
order['dlvylcZip'] = localStorage.getItem('dlvylcZip');
order['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
order['prefcd'] = localStorage.getItem('prefcd');
/* 여러곳 배송 > 배송지별 정합성 검사 시작 */ /* 여러곳 배송 > 배송지별 정합성 검사 시작 */
if (ordrTyCd === '05') { // 여러곳 배송 if (ordrTyCd === '05') { // 여러곳 배송
@@ -3503,11 +3568,12 @@
<%-- </c:if>--%> <%-- </c:if>--%>
</div> </div>
<a href="javascript:void(0);" id="btnDlvylcMngr" class="btn md outline orderInfo__editBtn btnDlvylcMngr presentArea" style="display: none;">배송지 관리</a> <a href="javascript:void(0);" id="btnDlvylcMngr" class="btn md outline orderInfo__editBtn btnDlvylcMngr presentArea" style="display: none;">배송지 관리</a>
<label class="b-checkbox checkbox"> <%--일본 배송지 추가 - 일부 기능 삭제--%>
<input type="checkbox" class="ordrrInfoSet" value=""> <%-- <label class="b-checkbox checkbox">--%>
<span class="check"></span> <%-- <input type="checkbox" class="ordrrInfoSet" value="">--%>
<span class="control-label">주문자와 동일</span> <%-- <span class="check"></span>--%>
</label> <%-- <span class="control-label">주문자와 동일</span>--%>
<%-- </label>--%>
</td> </td>
</tr> </tr>
<!-- 기본 배송지 선택 시 Start --> <!-- 기본 배송지 선택 시 Start -->
@@ -3523,6 +3589,8 @@
<td> <td>
<input type="hidden" id="dlvylcAdresDvCd" class="dft" value="<c:out value="${dftDlvylc.adresDv}"/>"> <input type="hidden" id="dlvylcAdresDvCd" class="dft" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" id="dlvylcZip" class="dft" value="<c:out value="${dftDlvylc.zip}"/>"> <input type="hidden" id="dlvylcZip" class="dft" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" id="dlvylcAreaCd" class="dft" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" id="prefcd" class="dft" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" id="dlvylcLnbAdres" class="dft" value="<c:out value="${dftDlvylc.lnbAdres}"/>"> <input type="hidden" id="dlvylcLnbAdres" class="dft" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" id="dlvylcRnmAdres" class="dft" value="<c:out value="${dftDlvylc.rnmAdres}"/>"> <input type="hidden" id="dlvylcRnmAdres" class="dft" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" id="dlvylcAdresDtl" class="dft" value="<c:out value="${dftDlvylc.dtlAdres}"/>"> <input type="hidden" id="dlvylcAdresDtl" class="dft" value="<c:out value="${dftDlvylc.dtlAdres}"/>">
@@ -3544,7 +3612,7 @@
<!-- 신규 배송지 선택 시 Start --> <!-- 신규 배송지 선택 시 Start -->
<tr class="deliveryAddressNew" style="display:none;"> <tr class="deliveryAddressNew" style="display:none;">
<th><span class="orderInfo__title">받는분</span></th> <th><span class="orderInfo__title">받는분</span></th>
<td><input type="text" name="recpntNm" class="new rqrd input-text rqrd_gift" title="받는분 이름" placeholder="받는분 이름을 입력하세요."></td> <td><input type="text" name="recpntNm" class="new rqrd input-text rqrd_gift" title="받는분 이름" placeholder="받는분 이름을 입력하세요." readonly></td>
</tr> </tr>
<tr class="deliveryAddressNew presentArea" style="display:none;"> <tr class="deliveryAddressNew presentArea" style="display:none;">
<th><span class="orderInfo__title">주소</span></th> <th><span class="orderInfo__title">주소</span></th>
@@ -3552,20 +3620,24 @@
<div class="inputAddress"> <div class="inputAddress">
<div class="inputAddress__postalCode"> <div class="inputAddress__postalCode">
<input type="text" id="postcode" name="dlvylcZip" class="new rqrd input-text" title="우편번호" placeholder="" readonly> <input type="text" id="postcode" name="dlvylcZip" class="new rqrd input-text" title="우편번호" placeholder="" readonly>
<button type="button" id="btnPost1" onclick="fn_select_postcode(fn_set_postcode, this); return false;" class="btn md theme outline">우편번호 찾기</button> <%--일본 배송지 추가 - 일부 기능 삭제--%>
<%-- <button type="button" id="btnPost1" onclick="fn_select_postcode(fn_set_postcode, this); return false;" class="btn md theme outline">우편번호 찾기</button>--%>
</div> </div>
<input type="text" name="dlvylcAdres" class="new rqrd input-text full" title="주소" placeholder="" readonly> <input type="text" name="dlvylcAdres" class="new rqrd input-text full" title="주소" placeholder="" readonly>
<input type="text" name="dlvylcAdresDtl" class="new rqrd input-text full" title="나머지 주소" placeholder="나머지 주소를 입력해 주세요."> <input type="text" name="dlvylcAdresDtl" class="new rqrd input-text full" title="나머지 주소" placeholder="나머지 주소를 입력해 주세요." readonly>
<input type="hidden" name="dlvylcAdresDvCd" class="new"> <input type="hidden" name="dlvylcAdresDvCd" class="new">
<input type="hidden" name="dlvylcLnbAdres" class="new"> <input type="hidden" name="dlvylcLnbAdres" class="new">
<input type="hidden" name="dlvylcRnmAdres" class="new"> <input type="hidden" name="dlvylcRnmAdres" class="new">
<input type="hidden" name="dlvylcAreaCd" class="new">
<input type="hidden" name="prefcd" class="new">
<input type="hidden" name="cstmclerCd" class="new">
</div> </div>
</td> </td>
</tr> </tr>
<tr class="deliveryAddressNew" style="display:none;"> <tr class="deliveryAddressNew" style="display:none;">
<th> <span class="orderInfo__title">휴대폰번호</span></th> <th> <span class="orderInfo__title">휴대폰번호</span></th>
<td> <td>
<input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number rqrd_gift" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)"> <input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number rqrd_gift" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)" readonly>
</td> </td>
</tr> </tr>
<!-- 신규 배송지 선택 시 End --> <!-- 신규 배송지 선택 시 End -->

View File

@@ -1465,7 +1465,8 @@
</li> </li>
<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="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>

View File

@@ -132,6 +132,9 @@
<input type="hidden" name="lnbAdres" class = "lnbAdres"value="<c:out value='${dlvylc.lnbAdres}'/>" /> <input type="hidden" name="lnbAdres" class = "lnbAdres"value="<c:out value='${dlvylc.lnbAdres}'/>" />
<input type="hidden" name="recpntNm" class = "recpntNmR" value="<c:out value='${dlvylc.recpntNm}'/>" /> <input type="hidden" name="recpntNm" class = "recpntNmR" value="<c:out value='${dlvylc.recpntNm}'/>" />
<input type="hidden" name="dtlAdres" class = "dtlAdres" value="<c:out value='${dlvylc.dtlAdres}'/>" /> <input type="hidden" name="dtlAdres" class = "dtlAdres" value="<c:out value='${dlvylc.dtlAdres}'/>" />
<input type="hidden" name="dlvylcAreaCd" class="dlvylcAreaCd" value="<c:out value='${dlvylc.dlvylcAreaCd}'/>" />
<input type="hidden" name="prefcd" class="prefcd" value="<c:out value='${dlvylc.prefcd}'/>" />
<input type="hidden" name="cstmclerCd" class="cstmclerCd" value="<c:out value='${dlvylc.cstmclerCd}'/>" />
<input type="hidden" name="mbtlnb" class="mbtlnb" value="<c:out value='${dlvylc.mbtlnb}' />" /> <input type="hidden" name="mbtlnb" class="mbtlnb" value="<c:out value='${dlvylc.mbtlnb}' />" />
</div> </div>
</c:forEach> </c:forEach>

View File

@@ -676,8 +676,8 @@
<c:when test="${order.ordrSttusCd == 25}"> <c:when test="${order.ordrSttusCd == 25}">
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn gray2">전체 결제취소</a> <a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${setleDt}"/>', '<c:out value="${setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn gray2">전체 결제취소</a>
</c:when> </c:when>
<c:when test="${goods.ordrSttusCd > 34 && goods.ordrSttusCd < 55}"> <c:when test="${order.ordrSttusCd > 34 && order.ordrSttusCd < 71}">
<a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');">반품신청</a> <a href="javascript:void(0);" onclick="fn_pop_m2mqna_regist('<c:out value="${order.ordrInnb}"/>');" class="btn gray2">구독취소</a>
</c:when> </c:when>
</c:choose> </c:choose>
</div> </div>

View File

@@ -150,7 +150,11 @@
$('.header').find('h1.header__title').text('주문결제'); $('.header').find('h1.header__title').text('주문결제');
const dlvylcZip = $('input[name="dlvylcZip"]').val(); const dlvylcZip = $('input[name="dlvylcZip"]').val();
const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val();
const prefcd = $('input[name="prefcd"]').val();
localStorage.setItem("dlvylcZip", dlvylcZip); localStorage.setItem("dlvylcZip", dlvylcZip);
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
localStorage.setItem("prefcd", prefcd);
const mbrDvCd = $('#mbrDvCd').val(); const mbrDvCd = $('#mbrDvCd').val();
@@ -280,7 +284,11 @@
} }
const dlvylcZip = $('input[name="dlvylcZip"]').val(); const dlvylcZip = $('input[name="dlvylcZip"]').val();
const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val();
const prefcd = $('input[name="prefcd"]').val();
localStorage.setItem("dlvylcZip", dlvylcZip); localStorage.setItem("dlvylcZip", dlvylcZip);
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
localStorage.setItem("prefcd", prefcd);
fn_get_setle_amt(); fn_get_setle_amt();
if ($(this).val() === 'Gift') { if ($(this).val() === 'Gift') {
@@ -1087,6 +1095,8 @@
let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val(); let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val();
let dlvylcZip = ''; let dlvylcZip = '';
let dlvylcAreaCd = '';
let prefcd = '';
let recpntNm = ''; let recpntNm = '';
let recpntMbtlnb = ''; let recpntMbtlnb = '';
let dlvylcAdresDvCd = ''; let dlvylcAdresDvCd = '';
@@ -1097,6 +1107,8 @@
if ('Default' === dlvylcDvCd) { if ('Default' === dlvylcDvCd) {
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val();
prefcd = $(form).find('input[name="prefcd"]').val();
recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val();
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
@@ -1106,6 +1118,8 @@
dlvyMssageCn = $(form).find('input[name="dlvyMssageCn"]').val(); dlvyMssageCn = $(form).find('input[name="dlvyMssageCn"]').val();
} else { } else {
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val(); dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val();
prefcd = $(form).find('input[name="prefcd"]').val();
recpntNm = $(form).find('input[name="recpntNm"]').val(); recpntNm = $(form).find('input[name="recpntNm"]').val();
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val(); recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val(); dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
@@ -1124,6 +1138,8 @@
otrCouponSmtmUseAt: otrCouponSmtmUseAt, otrCouponSmtmUseAt: otrCouponSmtmUseAt,
mngrFreeDlvyUseAt: mngrFreeDlvyUseAt, mngrFreeDlvyUseAt: mngrFreeDlvyUseAt,
dlvylcZip: dlvylcZip, dlvylcZip: dlvylcZip,
dlvylcAreaCd: dlvylcAreaCd,
prefcd: prefcd,
recpntNm: recpntNm, recpntNm: recpntNm,
recpntMbtlnb: recpntMbtlnb, recpntMbtlnb: recpntMbtlnb,
dlvylcAdresDvCd: dlvylcAdresDvCd, dlvylcAdresDvCd: dlvylcAdresDvCd,
@@ -1501,6 +1517,8 @@
html += ' <input type="hidden" name="dlvylcAdresDvCd">'; html += ' <input type="hidden" name="dlvylcAdresDvCd">';
html += ' <input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소">'; html += ' <input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소">';
html += ' <input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소">'; html += ' <input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소">';
html += ' <input type="hidden" name="dlvylcAreaCd">';
html += ' <input type="hidden" name="prefcd">';
html += ' </div>'; html += ' </div>';
html += ' </div>'; html += ' </div>';
html += ' <div class="userForm__inputBox__item">'; html += ' <div class="userForm__inputBox__item">';
@@ -1802,6 +1820,9 @@
$(form).find('input[name="recpntTelnb"]').val(mbtlnb); $(form).find('input[name="recpntTelnb"]').val(mbtlnb);
} }
$(form).find('input[name="dlvylcZip"]').val(data.postcode); $(form).find('input[name="dlvylcZip"]').val(data.postcode);
$(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd);
$(form).find('input[name="prefcd"]').val(data.prefcd);
$(form).find('input[name="cstmclerCd"]').val(data.cstmclerCd);
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
$(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
$(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
@@ -1810,6 +1831,9 @@
$(form).find('input[name="recpntNm"]').val(data.recpntNm); $(form).find('input[name="recpntNm"]').val(data.recpntNm);
$(form).find('input[name="recpntMbtlnb"]').val(fn_format_mbtlnb(data.mbtlnb)); $(form).find('input[name="recpntMbtlnb"]').val(fn_format_mbtlnb(data.mbtlnb));
closeModal('postModal'); closeModal('postModal');
// 배송지 정보 세팅 이후 결제예정금액 재계산
fn_get_setle_amt();
} }
/** /**
@@ -1831,6 +1855,8 @@
$(form).find('input[name="recpntTelnb"]').val(mbtlnb); $(form).find('input[name="recpntTelnb"]').val(mbtlnb);
} }
$(form).find('input[name="dlvylcZip"]').val(data.postcode); $(form).find('input[name="dlvylcZip"]').val(data.postcode);
$(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd);
$(form).find('input[name="prefcd"]').val(data.prefcd);
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType); $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
$(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress); $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
$(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress); $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
@@ -2454,7 +2480,11 @@
/* 결제예정금액 > 결제금액 조회 */ /* 결제예정금액 > 결제금액 조회 */
const fn_get_setle_amt = function() { const fn_get_setle_amt = function() {
const dlvylcZip = $('input[name="dlvylcZip"]').val(); const dlvylcZip = $('input[name="dlvylcZip"]').val();
const dlvylcAreaCd = $('input[name="dlvylcAreaCd"]').val();
const prefcd = $('input[name="prefcd"]').val();
localStorage.setItem("dlvylcZip", dlvylcZip); localStorage.setItem("dlvylcZip", dlvylcZip);
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
localStorage.setItem("prefcd", prefcd);
let setle = {}; let setle = {};
@@ -2463,6 +2493,8 @@
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList')); setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
setle['enuri'] = JSON.parse(localStorage.getItem('enuri')); setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
setle['dlvylcZip'] = localStorage.getItem('dlvylcZip'); setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
setle['prefcd'] = localStorage.getItem('prefcd');
setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc')); setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val(); setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val();
@@ -2851,6 +2883,10 @@
order['shipping'] = dlvylc; order['shipping'] = dlvylc;
/* 배송지 정합성 검사 종료 */ /* 배송지 정합성 검사 종료 */
order['dlvylcZip'] = localStorage.getItem('dlvylcZip');
order['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
order['prefcd'] = localStorage.getItem('prefcd');
/* 여러곳 배송 > 배송지별 정합성 검사 시작 */ /* 여러곳 배송 > 배송지별 정합성 검사 시작 */
if (ordrTyCd === '05') { // 여러곳 배송 if (ordrTyCd === '05') { // 여러곳 배송
@@ -3605,11 +3641,12 @@
<c:set var="dftDlvylc" value="${data.purchsr.dftDlvylc}"/> <c:set var="dftDlvylc" value="${data.purchsr.dftDlvylc}"/>
<div class="orderDetail__body"> <div class="orderDetail__body">
<div class="deliveryInfo"> <div class="deliveryInfo">
<label class="b-checkbox is-medium checkbox"> <%--일본 배송지 추가 - 일부 기능 삭제--%>
<input type="checkbox" value="Y" class="ordrrInfoSet"> <%-- <label class="b-checkbox is-medium checkbox">--%>
<span class="check"></span> <%-- <input type="checkbox" value="Y" class="ordrrInfoSet">--%>
<span class="control-label">주문자와 동일</span> <%-- <span class="check"></span>--%>
</label> <%-- <span class="control-label">주문자와 동일</span>--%>
<%-- </label>--%>
<div class="dftDlvylc"> <div class="dftDlvylc">
<p class="deliveryInfo__info"> <p class="deliveryInfo__info">
<span class="deliveryInfo__info__name"><c:out value="${dftDlvylc.recpntNm}"/></span> <span class="deliveryInfo__info__name"><c:out value="${dftDlvylc.recpntNm}"/></span>
@@ -3624,6 +3661,8 @@
</p> </p>
<input type="hidden" name="dlvylcAdresDvCd" value="<c:out value="${dftDlvylc.adresDv}"/>"> <input type="hidden" name="dlvylcAdresDvCd" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" name="dlvylcZip" value="<c:out value="${dftDlvylc.zip}"/>"> <input type="hidden" name="dlvylcZip" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" name="dlvylcAreaCd" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" name="prefcd" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.lnbAdres}"/>"> <input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.rnmAdres}"/>"> <input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" name="dlvylcAdres" class="required" title="주소" value="<c:out value="${dftDlvylc.adres}"/>" > <input type="hidden" name="dlvylcAdres" class="required" title="주소" value="<c:out value="${dftDlvylc.adres}"/>" >
@@ -3678,14 +3717,15 @@
<c:otherwise> <c:otherwise>
<div class="orderDetail__body"> <div class="orderDetail__body">
<div class="deliveryInfo"> <div class="deliveryInfo">
<div class="b-checkbox-container"> <%--일본 배송지 추가 - 일부 기능 삭제--%>
<label class="b-checkbox is-medium checkbox w-full"> <%-- <div class="b-checkbox-container">--%>
<input type="checkbox" value="Y" <%-- <label class="b-checkbox is-medium checkbox w-full">--%>
class="ordrrInfoSet"> <%-- <input type="checkbox" value="Y"--%>
<span class="check"></span> <%-- class="ordrrInfoSet">--%>
<span class="control-label">주문자와 동일</span> <%-- <span class="check"></span>--%>
</label> <%-- <span class="control-label">주문자와 동일</span>--%>
</div> <%-- </label>--%>
<%-- </div>--%>
<button type="button" id="btnDlvylcMngr" class="btn outline xsm deliveryAddressDefault btnDlvylcMngr presentArea" <button type="button" id="btnDlvylcMngr" class="btn outline xsm deliveryAddressDefault btnDlvylcMngr presentArea"
style="position: absolute; style="position: absolute;
top: -1px; top: -1px;
@@ -3695,26 +3735,30 @@
<div class="userForm__inputBox"> <div class="userForm__inputBox">
<div class="userForm__inputBox__item"> <div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">받는분</div> <div class="userForm__inputBox__itemTitle">받는분</div>
<input class="input-text full required required_gift" type="text" name = "recpntNm" title="받는분" placeholder="받는분을 입력해 주세요" maxlength="10"> <input class="input-text full required required_gift" type="text" name = "recpntNm" title="받는분" placeholder="받는분을 입력해 주세요" maxlength="10" readonly>
</div> </div>
<div class="userForm__inputBox__item deliveryAddressDefault presentArea"> <div class="userForm__inputBox__item deliveryAddressDefault presentArea">
<div class="userForm__inputBox__itemTitle">주소</div> <div class="userForm__inputBox__itemTitle">주소</div>
<div class="inputAddress"> <div class="inputAddress">
<div class="inputAddress__postalCode"> <div class="inputAddress__postalCode">
<input class="input-text required" type="text" name="dlvylcZip" title="우편번호" maxlength="10" readonly><%--zip--%> <input class="input-text required" type="text" name="dlvylcZip" title="우편번호" maxlength="10" readonly><%--zip--%>
<button class="btn md theme outline" type="button" style = "padding: 20px;" <%--일본 배송지 추가 - 일부 기능 삭제--%>
data-micromodal-trigger="modalDiv" onclick="fn_select_post_mobile(fn_set_dlvylc, '#postCodeCn', '#modalDiv', this);">우편번호 찾기</button> <%-- <button class="btn md theme outline" type="button" style = "padding: 20px;"--%>
<%-- data-micromodal-trigger="modalDiv" onclick="fn_select_post_mobile(fn_set_dlvylc, '#postCodeCn', '#modalDiv', this);">우편번호 찾기</button>--%>
</div> </div>
<input class="input-text full required" type="text" name="dlvylcAdres" title="도로명 or 지명 주소" maxlength="66" readonly><%--도로명 or 지명--%> <input class="input-text full required" type="text" name="dlvylcAdres" title="도로명 or 지명 주소" maxlength="66" readonly><%--도로명 or 지명--%>
<input class="input-text full required" type="text" name="dlvylcAdresDtl" title="상세주소" placeholder="나머지 주소를 입력해 주세요." maxlength="66"><%--상세주소--%> <input class="input-text full required" type="text" name="dlvylcAdresDtl" title="상세주소" placeholder="나머지 주소를 입력해 주세요." maxlength="66" readonly><%--상세주소--%>
<input type="hidden" name="dlvylcAdresDvCd"> <input type="hidden" name="dlvylcAdresDvCd">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소"> <input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소"> <input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcAreaCd">
<input type="hidden" name="prefcd">
<input type="hidden" name="cstmclerCd">
</div> </div>
</div> </div>
<div class="userForm__inputBox__item"> <div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">휴대폰 번호</div> <div class="userForm__inputBox__itemTitle">휴대폰 번호</div>
<input class="input-text full required required_gift" type="tel" title="휴대폰 번호" name= "recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno);" placeholder="휴대폰번호(“-”) 없이 입력" value="" maxlength="13"> <input class="input-text full required required_gift" type="tel" title="휴대폰 번호" name= "recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno);" placeholder="휴대폰번호(“-”) 없이 입력" value="" maxlength="13" readonly>
</div> </div>
<div class="userForm__inputBox__item dftDlvylcGift presentShowArea" style="display:none;"> <div class="userForm__inputBox__item dftDlvylcGift presentShowArea" style="display:none;">
<div class="userForm__inputBox__itemTitle">선물메세지</div> <div class="userForm__inputBox__itemTitle">선물메세지</div>

View File

@@ -1413,7 +1413,8 @@
</li> </li>
<li> <li>
<span class="cartOrderBox__th">배송비</span> <span class="cartOrderBox__th">배송비</span>
<span class="cartOrderBox__td"><span id="dlvyAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span> <%-- <span class="cartOrderBox__td"><span id="dlvyAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>--%>
<span class="cartOrderBox__td"><span class="priceUnit">Calculated at next step</span></span>
</li> </li>
<li> <li>
<span class="cartOrderBox__th">총 할인금액</span> <span class="cartOrderBox__th">총 할인금액</span>