적립금의 적립 시점을 완료시점이 아닌 주문시점으로 한 이유가 있을까요?

적립금의 적립 시점을 완료시점이 아닌 주문시점으로 한 이유가 있을까요?

QA

적립금의 적립 시점을 완료시점이 아닌 주문시점으로 한 이유가 있을까요?

본문


function save_order_point($ct_status="완료") 
{
    global $g5, $default;
    $beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
    $sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        // 회원 ID 를 얻는다.
        $od_row = sql_fetch("select od_id, mb_id, od_name, od_settle_case from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
        if ($od_row['mb_id'] && $row['ct_point'] > 0) {
            $po_point = $row['ct_point'] * $row['ct_qty'];
            $po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료";
            insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
        }

이 질문에 댓글 쓰기 :

답변 1

save_order_point 기본적으로 $ct_status가 완료인 경우에 적립되도록 처리되고 있는걸로 확인됩니다.

맞습니다. 기본적으로 완료에 처리되고 있는데요.
function save_order_point($ct_status="완료")

완료처리 된 시점을 db에 기록했다가(원본은 없는 것 같습니다.)
완료 시점에서 n일 후 적립이 적용되는 것이 더 일관된 처리가 되지 않을까 생각 해봤는데요.
원본은 ct_time(주문시간) 이 시점으로 부터 n일 후 적립하도록 되어 있더라고요.

주문시간이 기준이 되어야 했던 특별한 이유같은게 있지 않을까 해서 문의 드려봤습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 126,623
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT