본문 바로가기
그누보드,영카트

영카트 배송후 7일후 자동완료처리

by 씨엔아이소프트 2024. 1. 28.
반응형

배송 완료후 7일 후 자동 완료처리

$cancel_day = 7 ; // 일

$beforedays = date("Y-m-d H:i:s", time() - (86400 * $cancel_day));

// 미입금 주문 조회
$sql2 = "SELECT * FROM {$g5['g5_shop_order_table']} WHERE od_status = '배송' AND od_invoice_time <= '$beforedays'";
$result2 = sql_query($sql2);

// 트랜잭션 시작
sql_query("START TRANSACTION");

try {
    for ($i = 0; $row2 = sql_fetch_array($result2); $i++) {
        // g5_shop_cart_table 업데이트
        $update_cart = "UPDATE {$g5['g5_shop_cart_table']} SET ct_status = '완료' WHERE od_id = '{$row2['od_id']}'";
        if (!sql_query($update_cart)) {
            throw new Exception('카트 테이블 업데이트 실패');
        }

        // g5_shop_order_table 업데이트
        $update_order = "UPDATE {$g5['g5_shop_order_table']} SET od_status = '완료' WHERE od_id = '{$row2['od_id']}'";
        if (!sql_query($update_order)) {
            throw new Exception('오더 테이블 업데이트 실패');
        }
    }

    // 트랜잭션 커밋
    sql_query("COMMIT");
} catch (Exception $e) {
    // 오류 발생 시 롤백
    sql_query("ROLLBACK");
    echo $e->getMessage();
}

반응형

댓글