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

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

QA

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

답변 1

본문


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일 후 적립하도록 되어 있더라고요.

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로