diff --git a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/mapper/BOMaMtngMapper.java b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/mapper/BOMaMtngMapper.java index e71f5175..b532fe97 100644 --- a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/mapper/BOMaMtngMapper.java +++ b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/mapper/BOMaMtngMapper.java @@ -52,6 +52,9 @@ public interface BOMaMtngMapper { /** 주문 전 쿠폰정보 재확인*/ public List selectBOPreOrderValidationCouponList(BOPreOrderValidVO goods); + /** 구독서비스 주문 전 주문정보 재확인*/ + public List selectBOSubsvcPreOrderValidation(BOPreOrderValidVO goods); + /*쇼핑몰 구매요청 재검증 확인 여부*/ public String selectPurchsValidUseAt(String sopmalCd); } diff --git a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/service/BOMaMtngService.java b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/service/BOMaMtngService.java index a427d8a9..34acc6c7 100644 --- a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/service/BOMaMtngService.java +++ b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/service/BOMaMtngService.java @@ -306,8 +306,12 @@ public class BOMaMtngService { } for(BOPreOrderValidVO goods : goodsList) { - - List resultValid = mapper.selectBOPreOrderValidation(goods); + List resultValid = new ArrayList<>(); + if(goods.getSubsvcInnb() != "") { + resultValid = mapper.selectBOSubsvcPreOrderValidation(goods); + } else { + resultValid = mapper.selectBOPreOrderValidation(goods); + } //구매정보 변경대상 필터링 // 값이 1인 항목 == 변경항목 @@ -473,12 +477,14 @@ public class BOMaMtngService { goodsList.forEach(goods -> { String goodsInnb = StringUtil.isNullToString(goods.get("goodsInnb")); - + String subsvcInnb = StringUtil.isNullToString(goods.get("subsvcInnb")); //상품별 수량합계 int goodsTotalQy = 0; if(qySums.containsKey(goodsInnb)){ goodsTotalQy = qySums.getOrDefault(goodsInnb, 0); + } else if (qySums.containsKey(subsvcInnb)) { + goodsTotalQy = qySums.getOrDefault(subsvcInnb, 0); } @@ -514,6 +520,7 @@ public class BOMaMtngService { .sopmalCd(StringUtil.isNullToString(goods.get("sopmalCd"))) .goodsInnb(StringUtil.isNullToString(goods.get("goodsInnb"))) .goodsOptnInnb(StringUtil.isNullToString(goods.get("goodsOptnInnb"))) + .subsvcInnb(StringUtil.isNullToString(goods.get("subsvcInnb"))) .mbrInnb(StringUtil.isNullToString(goods.get("mbrInnb"))) .mbrDvCd(StringUtil.isNullToString(goods.get("mbrDvCd"))) .qy(StringUtil.isNullToString(goods.get("qy"))) diff --git a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/vo/BOPreOrderValidVO.java b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/vo/BOPreOrderValidVO.java index af9cbc77..5a5191da 100644 --- a/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/vo/BOPreOrderValidVO.java +++ b/src/main/java/com/wb/domainserver/domain/admin/instcSle/mtng/vo/BOPreOrderValidVO.java @@ -24,6 +24,9 @@ public class BOPreOrderValidVO { /*상품옵션고유번호*/ private String goodsOptnInnb; + /*구독서비스고유번호*/ + private String subsvcInnb; + /*회원고유번호*/ private String mbrInnb; diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java index d89277c7..5a72f6f8 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/service/BOOrdrService.java @@ -6017,8 +6017,8 @@ public class BOOrdrService{ LinkedHashMap subsvcOne = subsvcList.get(0); log.debug("subsvcOne : {}", subsvcOne); - goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric")); - setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric")); + goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("slepric")); + setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("slepric")); log.debug("결제 예정 금액 : {}", setleAmt); // 환율계산 diff --git a/src/main/resources/application-stage.yml b/src/main/resources/application-stage.yml index c8a84729..328ba1e4 100644 --- a/src/main/resources/application-stage.yml +++ b/src/main/resources/application-stage.yml @@ -359,7 +359,7 @@ mngrfo: images: .gif,.jpg,.jpeg,.png cdnurl: https://19b0bde6dcdc15ad.kinxzone.com subsvc: - dft-goods-optn-innb: 5 + dft-goods-optn-innb: 1 secret: diff --git a/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml b/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml index f137df14..a88bb3dd 100644 --- a/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml @@ -769,4 +769,122 @@ SELECT PURCHS_REVALID_AT FROM GC_SHOP WHERE 1=1 AND SOPMAL_CD = #{sopmalCd} + + + diff --git a/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml index fa14083c..515eb5f4 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml @@ -42,7 +42,7 @@ , GS.SUBSVC_CT /*구독료*/ , GS.TME_DLVY_AMT /*1회배송비*/ , GS.CNSMRPRIC /*소비자가*/ - , GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SELPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/ + , GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT) as SLEPRIC /*실판매가=구독료+(1회배송비X배송횟수)*/ , ROUND((GS.CNSMRPRIC - (GS.SUBSVC_CT + (TME_DLVY_AMT * DLVY_CNT))) / NULLIF(GS.CNSMRPRIC, 0) * 100, 0) AS DSCNT_RAITO , GS.INVNTRY_QY /*재고수량*/ , GS.USEFUL_INVNTRY_QY /*판매재고수량*/ diff --git a/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp b/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp index ed4ec2c7..bd031d1c 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp @@ -54,14 +54,14 @@ $('#dlvyCnt').text(data.dlvyCnt); $('#dlvyCycle').text(data.dlvyCycle); $('#cnsmrpric').text(fn_format_number(data.cnsmrpric) + curUnit); - $('#selpric').text(fn_format_number(data.selpric) + curUnit); + $('#slepric').text(fn_format_number(data.slepric) + curUnit); $('#dscntRaito').text(data.dscntRaito + '%'); $('#subsvcDc').html(data.subsvcDc); - fn_hide_subsvcDetail(data.subPd, data.dlvyCnt, data.selpric); + fn_hide_subsvcDetail(data.subPd, data.dlvyCnt, data.slepric); $("#fixedImg").attr("src", cdnurl + data.img); $('#fixedTitle').text(data.subsvcConcatNm); - $('#fixedPrice').text(fn_format_number(data.selpric)); + $('#fixedPrice').text(fn_format_number(data.slepric)); switch (data.subsvcSttusCd) { case '01': @@ -87,7 +87,7 @@ /****************************************************** * 구독서비스 상세 숨기기 * ****************************************************/ - const fn_hide_subsvcDetail = function(subPd, dlvyCnt, selpric) { + const fn_hide_subsvcDetail = function(subPd, dlvyCnt, slepric) { function isEmpty(val) { return !val || val === 0; } @@ -99,8 +99,8 @@ hideIf(isEmpty(subPd), 'li', '#subPd'); hideIf(isEmpty(dlvyCnt), 'li', '#dlvyCnt'); hideIf(isEmpty(subPd) && isEmpty(dlvyCnt), '.box', '#subPd'); - hideIf(isEmpty(selpric), '.box', '#selpric'); - hideIf(isEmpty(selpric), '#fixedButton'); + hideIf(isEmpty(slepric), '.box', '#slepric'); + hideIf(isEmpty(slepric), '#fixedButton'); } /************************************************************* @@ -109,19 +109,23 @@ const fn_purchs_subsvc = function() { var checkedValue = $("select[name='subsvcInnb']").val(); - var tempForm = $('
', { - method: 'post', - action: '/sopmal/ordr/selectSubsvcPurchsForm' - }); - $('', { - type: 'hidden', - name: 'subsvcInnb', - value: checkedValue - }).appendTo(tempForm); + sessionStorage.setItem("subsvcInnb", checkedValue); + location.href = "/sopmal/ordr/selectSubsvcPurchsForm" + + "?subsvcInnb=" + encodeURIComponent(checkedValue); - tempForm.appendTo('body'); - tempForm.submit(); - tempForm.remove(); + // var tempForm = $('', { + // method: 'post', + // action: '/sopmal/ordr/selectSubsvcPurchsForm' + // }); + // $('', { + // type: 'hidden', + // name: 'subsvcInnb', + // value: checkedValue + // }).appendTo(tempForm); + // + // tempForm.appendTo('body'); + // tempForm.submit(); + // tempForm.remove(); } /****************************************************** @@ -262,7 +266,7 @@
- + %
diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/SubsvcPurchsC.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/SubsvcPurchsC.jsp index 1ff688fa..4c8e2d8e 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/SubsvcPurchsC.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/SubsvcPurchsC.jsp @@ -2065,7 +2065,7 @@ tr += ' '; tr += ' '; tr += ' ' + (goods.cnsmrpric).toLocaleString() + '' + curUnit + ''; - tr += ' ' + (goods.selpric).toLocaleString() + '' + curUnit + ''; + tr += ' ' + (goods.slepric).toLocaleString() + '' + curUnit + ''; tr += ' '; tr += ''; @@ -3186,7 +3186,7 @@ // const enuriObj = JSON.parse(enuri); // const setleAmtFromEnuri = enuriObj['setleAmt']; // 계산된 결제금액 const setleAmtFromSubsvc = order.goodsList.reduce(function(sum, item){ - return sum + Number(item.selpric || 0); // 계산된 결제금액 + return sum + Number(item.slepric || 0); // 계산된 결제금액 }, 0); if (setleAmtFromOrder !== setleAmtFromSubsvc.toString()) { diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/main/SubscribeR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/main/SubscribeR.jsp index a9da20b7..1188ca7f 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/main/SubscribeR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/main/SubscribeR.jsp @@ -46,12 +46,12 @@ $('#dlvyCnt').text(data.dlvyCnt); $('#dlvyCycle').text(data.dlvyCycle); $('#cnsmrpric').text(fn_format_number(data.cnsmrpric) + curUnit); - $('#selpric').text(fn_format_number(data.selpric) + curUnit); + $('#slepric').text(fn_format_number(data.slepric) + curUnit); $('#dscntRaito').text(data.dscntRaito + '%'); $('#subsvcDc').html( data.mblSubsvcDcPcSameAt === "N" ? data.mblSubsvcDc : data.subsvcDc ); - fn_hide_subsvcDetail(data.subPd, data.dlvyCnt, data.selpric); + fn_hide_subsvcDetail(data.subPd, data.dlvyCnt, data.slepric); switch (data.subsvcSttusCd) { case '01': @@ -76,7 +76,7 @@ /****************************************************** * 구독서비스 상세 숨기기 * ****************************************************/ - const fn_hide_subsvcDetail = function(subPd, dlvyCnt, selpric) { + const fn_hide_subsvcDetail = function(subPd, dlvyCnt, slepric) { function isEmpty(val) { return !val || val === 0; } @@ -88,8 +88,8 @@ hideIf(isEmpty(subPd), 'dl', '#subPd'); hideIf(isEmpty(dlvyCnt), 'dl', '#dlvyCnt'); hideIf(isEmpty(subPd) && isEmpty(dlvyCnt), '.productDetailInfo__info'); - hideIf(isEmpty(selpric), '.productDetailInfo__price'); - hideIf(isEmpty(selpric), '#subscribeBtn'); + hideIf(isEmpty(slepric), '.productDetailInfo__price'); + hideIf(isEmpty(slepric), '#subscribeBtn'); } /************************************************************* @@ -97,20 +97,22 @@ **************************************************************/ const fn_purchs_subsvc = function() { var checkedValue = $("input[name='subsvcInnb']:checked").val(); + location.href = "/sopmal/ordr/selectSubsvcPurchsForm" + + "?subsvcInnb=" + encodeURIComponent(checkedValue); - var tempForm = $('', { - method: 'post', - action: '/sopmal/ordr/selectSubsvcPurchsForm' - }); - $('', { - type: 'hidden', - name: 'subsvcInnb', - value: checkedValue - }).appendTo(tempForm); - - tempForm.appendTo('body'); - tempForm.submit(); - tempForm.remove(); + // var tempForm = $('', { + // method: 'post', + // action: '/sopmal/ordr/selectSubsvcPurchsForm' + // }); + // $('', { + // type: 'hidden', + // name: 'subsvcInnb', + // value: checkedValue + // }).appendTo(tempForm); + // + // tempForm.appendTo('body'); + // tempForm.submit(); + // tempForm.remove(); } /****************************************************** @@ -166,7 +168,7 @@
- +
% diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SubsvcPurchsC.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SubsvcPurchsC.jsp index 319a3786..10ecd58d 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SubsvcPurchsC.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SubsvcPurchsC.jsp @@ -1985,7 +1985,7 @@ // } div += '

'; div += ' '; - div += ' ' + (goods.selpric).toLocaleString() + '' + curUnit + ''; + div += ' ' + (goods.slepric).toLocaleString() + '' + curUnit + ''; div += ' '; div += ' ·'; div += ' ' + goods.qy + '개'; @@ -3301,7 +3301,7 @@ // const enuriObj = JSON.parse(enuri); // const setleAmtFromEnuri = enuriObj['setleAmt']; // 계산된 결제금액 const setleAmtFromSubsvc = order.goodsList.reduce(function(sum, item){ - return sum + Number(item.selpric || 0); // 계산된 결제금액 + return sum + Number(item.slepric || 0); // 계산된 결제금액 }, 0); if (setleAmtFromOrder !== setleAmtFromSubsvc.toString()) {