<?php
include_once('./_common.php');

if ($is_guest) {
    alert('판매자센터만 이용가능합니다.', APMS_PARTNER_URL . '/login.php');
}

if ($is_admin !== 'super') {
    alert('최고관리자만 실행할 수 있습니다.', APMS_PARTNER_URL);
}

@set_time_limit(0);

$batch_table = $g5['apms_vpn_auto_batch'];
$batch_item_table = $g5['apms_vpn_auto_batch_item'];

$dry_run = isset($_GET['dry_run']) ? (int)$_GET['dry_run'] : 1; // 기본은 dry-run
$apply = isset($_GET['apply']) ? (int)$_GET['apply'] : 0;
if ($apply === 1) {
    $dry_run = 0;
}

header('Content-Type: text/plain; charset=utf-8');

echo "=== VPN Auto Item Manager Batch Tables Migration ('내 VPN서버 상품 자동관리') ===\n";
echo "time    : " . G5_TIME_YMDHIS . "\n";
echo "tables  : {$batch_table}, {$batch_item_table}\n";
echo "dry_run : {$dry_run}\n";
echo "apply   : {$apply}\n";

$create_batch_sql = "
    CREATE TABLE IF NOT EXISTS `{$batch_table}` (
      `vb_no` int(11) NOT NULL AUTO_INCREMENT,
      `pt_id` varchar(255) NOT NULL DEFAULT '' COMMENT '판매자 mb_id',
      `vs_no` int(11) NOT NULL DEFAULT '0' COMMENT 'g5_apms_vpn_server.vs_no',
      `vs_ip` varchar(64) NOT NULL DEFAULT '',
      `vb_action` varchar(20) NOT NULL DEFAULT '' COMMENT 'register/update/rollback',
      `vb_qty` int(11) NOT NULL DEFAULT '0' COMMENT '요청 수량(대상 건수)',
      `vb_done_qty` int(11) NOT NULL DEFAULT '0' COMMENT '실제 처리 건수',
      `vb_skip_qty` int(11) NOT NULL DEFAULT '0' COMMENT '판매이력 등으로 제외된 건수',
      `vb_params_json` text COMMENT '실행 파라미터(JSON)',
      `vb_summary` varchar(500) NOT NULL DEFAULT '',
      `vb_created_at` datetime NOT NULL,
      PRIMARY KEY (`vb_no`),
      KEY `pt_id` (`pt_id`),
      KEY `vs_no` (`vs_no`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
";

$create_batch_item_sql = "
    CREATE TABLE IF NOT EXISTS `{$batch_item_table}` (
      `vbi_no` int(11) NOT NULL AUTO_INCREMENT,
      `vb_no` int(11) NOT NULL DEFAULT '0',
      `it_id` varchar(32) NOT NULL DEFAULT '',
      `vbi_status` varchar(30) NOT NULL DEFAULT '' COMMENT 'created/updated/rolled_back/skipped_sold/skipped_cart/error',
      `vbi_memo` varchar(255) NOT NULL DEFAULT '',
      `vbi_created_at` datetime NOT NULL,
      PRIMARY KEY (`vbi_no`),
      KEY `vb_no` (`vb_no`),
      KEY `it_id` (`it_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
";

echo "\n--- SQL to run ---\n{$create_batch_sql}\n{$create_batch_item_sql}\n";

if ($dry_run === 1 || $apply !== 1) {
    echo "\n[DRY-RUN] 테이블이 생성되지 않았습니다.\n";
    echo "\n실행 가이드:\n";
    echo "1) 우선 dry-run 확인 (기본): ?dry_run=1\n";
    echo "2) 실제 적용: ?apply=1\n";
    echo "\n참고: ajax.vpn_auto_item_mgr.php 최초 실행 시에도 자동 생성됩니다.\n";
    exit;
}

sql_query($create_batch_sql);
sql_query($create_batch_item_sql);

$ok1 = sql_fetch("show tables like '{$batch_table}'", false);
$ok2 = sql_fetch("show tables like '{$batch_item_table}'", false);
$ok = (is_array($ok1) && count($ok1) > 0) && (is_array($ok2) && count($ok2) > 0);

echo "\nresult: " . ($ok ? 'OK - tables ready' : 'FAILED') . "\n";
