영카트 쿠폰 관련 질문 드리니다. 채택완료
오류 내용 :
주문할인 쿠폰 적용 하고
주문할일 쿠폰
3000__________[변경] [취소]
아이템에
개별할인 쿠폰 적용 후
주문할인 쿠폰이 초기화가 되어있습니다.
주문할일 쿠폰
0__________ [쿠폰검색]
소스를 확인 해보니
orderform.talil.skin.php
</p>
<p> </p>
<p><?php if($oc_cnt > 0) { ?></p>
<p>$("input[name=od_cp_id]").val("");</p>
<p>$("#od_cp_price").text(0);</p>
<p>if ($("#od_coupon_cancel").size()) {</p>
<p>$("#od_coupon_btn").text("쿠폰검색");</p>
<p>$("#od_coupon_cancel").remove();</p>
<p>}</p>
<p><?php } ?></p>
<p><?php if($sc_cnt > 0) { ?></p>
<p>$("input[name=sc_cp_id]").val("");</p>
<p>$("#sc_cp_price").text(0);</p>
<p>if ($("#sc_coupon_cancel").size()) {</p>
<p>$("#sc_coupon_btn").text("쿠폰검색");</p>
<p>$("#sc_coupon_cancel").remove();</p>
<p>}</p>
<p><?php } ?></p>
<p>
$oc_cnt OR $sc_cnt
이부분은
처리가 된 듯한되요
이부분이 잘 이해가 가지 않아서요
이 프로세스 설명이 필요 합니다.
고수님 조언 부탁드립니다.
주문할인쿠폰 카운터가 $oc_cnt 0보다 크면 초기화 해라
배송할인쿠폰 같운터가 $sc-cnt 0보다 크면 초기화 해라
왜 일까요?
주문할인쿠폰을 먼저 적용 하고, 아이템 개별할인쿠폰 적용시 나오는 증상입니다.
orderform.php
</p>
<p>// 쿠폰사용</p>
<p>$oc_cnt = $sc_cnt = 0;</p>
<p>if($is_member) {</p>
<p>// 주문쿠폰</p>
<p>$sql = " select cp_id</p>
<p>from {$g5['g5_shop_coupon_table']}</p>
<p>where mb_id IN ( '{$member['mb_id']}', '전체회원' )</p>
<p>and cp_method = '2'</p>
<p>and cp_start <= '".G5_TIME_YMD."'</p>
<p>and cp_end >= '".G5_TIME_YMD."'</p>
<p>and cp_minimum <= '$tot_sell_price' ";</p>
<p> </p>
<p>$res = sql_query($sql);</p>
<p>
</p>
<p>for($k=0; $cp=sql_fetch_array($res); $k++) {</p>
<p>if(is_used_coupon($member['mb_id'], $cp['cp_id']))</p>
<p>continue;</p>
<p> </p>
<p>$oc_cnt++;</p>
<p>}</p>
<p> </p>
<p>//echo $stsendcost;</p>
<p>if($send_cost > 0 || $stsendcost > 0 ) {</p>
<p>// 배송비쿠폰</p>
<p>$sql = " select cp_id</p>
<p>from {$g5['g5_shop_coupon_table']}</p>
<p>where mb_id IN ( '{$member['mb_id']}', '전체회원' )</p>
<p>and cp_method = '3'</p>
<p>and cp_start <= '".G5_TIME_YMD."'</p>
<p>and cp_end >= '".G5_TIME_YMD."'</p>
<p>and cp_minimum <= '$tot_sell_price' ";</p>
<p>//echo $sql;</p>
<p>$res = sql_query($sql);</p>
<p> </p>
<p>for($k=0; $cp=sql_fetch_array($res); $k++) {</p>
<p>if(is_used_coupon($member['mb_id'], $cp['cp_id']))</p>
<p>continue;</p>
<p> </p>
<p>$sc_cnt++;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>
답변 1개
shop/orderformupdate.php 부분 171번 줄에 $tot_od_price -= $tot_it_cp_price; 전체 주문 금액중 상품쿠폰으로 할인된 금액 먼저 차감 후 주문쿠폰 할인금액이 측정되어 앞단에서 상품쿠폰이 적용되어있는 상태에서 주문금액 쿠폰 사용 시 상품쿠폰 적용이 취소되는것같습니다.
![]()
주문금액 쿠폰의 경우 정액, 정률 쿠폰이 있어 정액 쿠폰 사용시 할인금액을 재측정하는 부분에서 금액이 상이한 부분 방지를 위해서가 아닌가합니다.
ex) 100000원 주문건에서 상품 할인쿠폰으로 10000원 할인 후 10% 주문금액 할인 쿠폰 사용 시 주문금액 할인쿠폰 금액은 9000원 * 10000 - 10000 - 9000 = 81000
100000원 주문건에서 주문금액 10% 할인쿠폰 사용 후 10000원 상품할인쿠폰 사용 시 * 100000 - 10000 - 10000 = 80000
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
100000원 주문건에서 주문금액 10% 할인쿠폰 사용 후 10000원 상품할인쿠폰 사용 시 * 100000 - 10000 - 10000 = 80000