Files
firstgarden-web-gnu/shop/ajax.tkinquiry.php

49 lines
1.9 KiB
PHP

<?php
include_once('./_common.php');
header('Content-Type: application/json');
$mode = $_POST['mode'] ?? '';
if ($mode === 'enter') {
$ct_id = intval($_POST['ct_id']);
if ($ct_id) {
sql_query("UPDATE {$g5['g5_shop_cart_table']} SET ct_in_cnt = ct_in_cnt + 1 WHERE ct_id = '{$ct_id}'");
echo json_encode(['status' => 'ok', 'message' => '입장 횟수가 증가되었습니다.']);
} else {
echo json_encode(['status' => 'error', 'message' => '잘못된 요청입니다.']);
}
exit;
}
if ($mode === 'complete') {
$ct_id = get_text($_POST['ct_id']);
if ($ct_id) {
// 먼저 해당 ct_id의 od_id 값을 가져온다
$cart = sql_fetch("SELECT od_id FROM {$g5['g5_shop_cart_table']} WHERE ct_id = '{$ct_id}'");
$od_id = $cart['od_id'];
if ($od_id) {
// 1. 해당 ct_id만 완료로 변경
sql_query("UPDATE {$g5['g5_shop_cart_table']} SET ct_status = '완료' WHERE ct_id = '{$ct_id}'");
// 2. 동일 od_id의 남은 미완료 건수 확인
$not_completed = sql_fetch("SELECT COUNT(*) AS cnt FROM {$g5['g5_shop_cart_table']} WHERE od_id = '{$od_id}' AND ct_status != '완료'");
// 3. 모두 완료된 경우에만 주문서 상태도 완료 처리
if ((int)$not_completed['cnt'] === 0) {
sql_query("UPDATE {$g5['g5_shop_order_table']} SET od_status = '완료' WHERE od_id = '{$od_id}'");
}
echo json_encode(['status' => 'ok', 'message' => '이용권이 완료 처리되었습니다.']);
} else {
echo json_encode(['status' => 'error', 'message' => 'od_id를 찾을 수 없습니다.']);
}
} else {
echo json_encode(['status' => 'error', 'message' => '잘못된 요청입니다.']);
}
exit;
}
echo json_encode(['status' => 'error', 'message' => '유효하지 않은 접근입니다.']);