테스트 사이트 - 개발 중인 베타 버전입니다

영카트 쿠폰 관련 질문 드리니다. 채택완료

sukja 2년 전 조회 1,713

오류 내용 : 

 

주문할인 쿠폰 적용 하고

 

주문할일 쿠폰

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개

채택된 답변
+20 포인트
qkrb
2년 전

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개

q
qkrb
2년 전
ex) 100000원 주문건에서 상품 할인쿠폰으로 10000원 할인 후 10% 주문금액 할인 쿠폰 사용 시 주문금액 할인쿠폰 금액은 9000원 * 100000 - 10000 - 9000 = 81000

100000원 주문건에서 주문금액 10% 할인쿠폰 사용 후 10000원 상품할인쿠폰 사용 시 * 100000 - 10000 - 10000 = 80000

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인