// 무통장 24시간 이후 미입금 주문 자동취소처리
$sql = "SELECT * FROM g5_shop_order WHERE od_status = '주문' AND od_settle_case = '무통장' AND od_time < NOW() - INTERVAL 24 HOUR";
$result = sql_query($sql); // 쿼리 실행
// 트랜잭션 시작
sql_query("START TRANSACTION");
try {
while ($row = sql_fetch_array($result)) {
// 포인트 반환 조건 확인
if ($row['od_receipt_point'] > 0) {
// 포인트 반환 처리
insert_point($row['mb_id'], $row['od_receipt_point'], "주문번호 {$row['od_id']} 자동 취소");
// 포인트 반환 후 주문 테이블 업데이트
$update_order = "UPDATE g5_shop_order SET od_status = '취소', od_receipt_point = 0 WHERE od_id = '{$row['od_id']}'";
if (!sql_query($update_order)) {
throw new Exception('주문 테이블 업데이트 실패');
}
} else {
// 주문 테이블 업데이트 (포인트 반환 없음)
$update_order = "UPDATE g5_shop_order SET od_status = '취소' WHERE od_id = '{$row['od_id']}'";
if (!sql_query($update_order)) {
throw new Exception('주문 테이블 업데이트 실패');
}
}
// g5_shop_cart 테이블 업데이트
$update_cart = "UPDATE g5_shop_cart SET ct_status = '취소' WHERE od_id = '{$row['od_id']}'";
if (!sql_query($update_cart)) {
throw new Exception('카트 테이블 업데이트 실패');
}
}
// 트랜잭션 커밋
sql_query("COMMIT");
} catch (Exception $e) {
// 오류 발생 시 롤백
sql_query("ROLLBACK");
echo $e->getMessage();
}
'그누보드,영카트' 카테고리의 다른 글
그누보드5 로그인 5회 실패 차단 기능 (0) | 2024.09.27 |
---|---|
그누보드 중복로그인 차단 (0) | 2024.09.27 |
카페24 http 를 https 로 변경 리다이렉트 그누보드5 (1) | 2024.05.02 |
영카트 배송후 7일후 자동완료처리 (1) | 2024.01.28 |
댓글