118 lines
3.5 KiB
PHP
118 lines
3.5 KiB
PHP
<?php
|
|
/**
|
|
* VIP 만료일 설정 페이지
|
|
* 방문횟수가 0인 경우 등록일 +1년을 만료일로 설정
|
|
* 방문횟수가 1 이상인 경우 최종이용일 +1년을 만료일로 설정
|
|
*/
|
|
|
|
include_once ('./_common.php');
|
|
if(!$_SESSION['user_id']) exit;
|
|
|
|
$isDebug = false; // 디버그 출력용 변수
|
|
|
|
if(isset($_POST['mode'])) {
|
|
$mode = trim($_POST['mode']);
|
|
|
|
if ($mode === "set_expire_date") {
|
|
$idx = trim($_POST['idx']);
|
|
|
|
$squery = "SELECT * FROM {$fg['vip_list_table']} WHERE idx='{$idx}'";
|
|
$list = sql_fetch($squery);
|
|
|
|
if ($list) {
|
|
$ent_count = $list['ent_count'];
|
|
$datetime = date("Y-m-d H:i:s");
|
|
|
|
// 만료일 설정 로직
|
|
if ($ent_count == 0) {
|
|
// 방문횟수가 0: 등록일 + 1년
|
|
$vip_date = date("Y-m-d", strtotime($list['join_datetime'] . " +1 year"));
|
|
$logic_desc = "등록일 기준";
|
|
} else {
|
|
// 방문횟수가 1 이상: 최종이용일 + 1년
|
|
$vip_date = date("Y-m-d", strtotime($list['last_ent_date'] . " +1 year"));
|
|
$logic_desc = "최종이용일 기준";
|
|
}
|
|
|
|
// DB 업데이트
|
|
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}' WHERE idx='{$idx}'";
|
|
$result = sql_query($updateQuery);
|
|
|
|
$data = array(
|
|
"isSuccess" => $result,
|
|
"vip_date" => $vip_date,
|
|
"logic" => $logic_desc,
|
|
"ent_count" => $ent_count
|
|
);
|
|
|
|
// log 기록
|
|
$work = "VIP만료일설정";
|
|
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." (".$logic_desc.") 처리자 : ".$_SESSION['user_name'];
|
|
|
|
$logUpdate = log_update($work, $work_detail, $_SESSION['user_id'], $datetime);
|
|
if ($isDebug && !$logUpdate) echo '로그 등록 실패\n';
|
|
} else {
|
|
$data = array("isSuccess" => false, "error" => "존재하지 않는 VIP입니다.");
|
|
}
|
|
} else if ($mode === "bulk_set_expire_date") {
|
|
/**
|
|
* 일괄 만료일 설정
|
|
*/
|
|
$status = isset($_POST['status']) ? trim($_POST['status']) : "정상";
|
|
$gr_id = isset($_POST['gr_id']) ? trim($_POST['gr_id']) : "";
|
|
|
|
// 검색 조건 만들기
|
|
$where = " WHERE status='{$status}'";
|
|
if (!empty($gr_id)) {
|
|
$where .= " AND gr_id='{$gr_id}'";
|
|
}
|
|
|
|
$squery = "SELECT * FROM {$fg['vip_list_table']}{$where}";
|
|
$result_list = sql_query($squery);
|
|
|
|
$updated_count = 0;
|
|
$error_count = 0;
|
|
$datetime = date("Y-m-d H:i:s");
|
|
|
|
while($list = sql_fetch_array($result_list)) {
|
|
$ent_count = $list['ent_count'];
|
|
|
|
// 만료일 설정 로직
|
|
if ($ent_count == 0) {
|
|
// 방문횟수가 0: 등록일 + 1년
|
|
$vip_date = date("Y-m-d", strtotime($list['join_datetime'] . " +1 year"));
|
|
} else {
|
|
// 방문횟수가 1 이상: 최종이용일 + 1년
|
|
$vip_date = date("Y-m-d", strtotime($list['last_ent_date'] . " +1 year"));
|
|
}
|
|
|
|
// DB 업데이트
|
|
$updateQuery = "UPDATE {$fg['vip_list_table']} SET vip_date='{$vip_date}' WHERE idx='{$list['idx']}'";
|
|
$update_result = sql_query($updateQuery);
|
|
|
|
if ($update_result) {
|
|
$updated_count++;
|
|
} else {
|
|
$error_count++;
|
|
}
|
|
|
|
// log 기록
|
|
$work = "VIP만료일일괄설정";
|
|
$work_detail = "카드번호 : ".$list['vip_card_no']." 만료일 : ".$vip_date." 처리자 : ".$_SESSION['user_name'];
|
|
|
|
$logUpdate = log_update($work, $work_detail, $_SESSION['user_id'], $datetime);
|
|
}
|
|
|
|
$data = array(
|
|
"isSuccess" => true,
|
|
"updated_count" => $updated_count,
|
|
"error_count" => $error_count
|
|
);
|
|
}
|
|
} else {
|
|
$data = array("isSuccess" => false, "error" => "요청이 없습니다.");
|
|
}
|
|
|
|
header("Content-Type: application/json");
|
|
echo json_encode($data);
|