(int)$pdo->query('SELECT COUNT(*) FROM users')->fetchColumn(),'pending'=>(int)$pdo->query("SELECT COUNT(*) FROM recharge_orders WHERE status='pending'")->fetchColumn(),'balance'=>(float)$pdo->query('SELECT COALESCE(SUM(balance),0) FROM users')->fetchColumn(),'today'=>(float)$pdo->query("SELECT COALESCE(SUM(amount),0) FROM recharge_orders WHERE status='approved' AND reviewed_at >= '".date('Y-m-d 00:00:00')."'")->fetchColumn()];
$users=$orders=$cards=$withdrawals=$referrals=[];
$generatedCardCodes = [];
if ($view === 'cards' && isset($_SESSION['generated_card_codes']) && is_array($_SESSION['generated_card_codes'])) {
$generatedCardCodes = array_values(array_filter($_SESSION['generated_card_codes'], 'is_string'));
unset($_SESSION['generated_card_codes']);
}
if($view==='users'){$q=trim((string)($_GET['q']??''));if($q!==''){$stmt=$pdo->prepare('SELECT * FROM users WHERE username LIKE ? OR id = ? ORDER BY id DESC LIMIT 100');$stmt->execute(['%'.$q.'%',(int)$q]);$users=$stmt->fetchAll();}else $users=$pdo->query('SELECT * FROM users ORDER BY id DESC LIMIT 100')->fetchAll();}
if(in_array($view,['dashboard','recharges'],true)){$orders=$pdo->query('SELECT r.*,u.username FROM recharge_orders r JOIN users u ON u.id=r.user_id ORDER BY r.id DESC LIMIT 100')->fetchAll();}
if($view==='cards')$cards=$pdo->query('SELECT c.*,u.username,(SELECT COUNT(*) FROM recharge_card_redemptions r WHERE r.card_id=c.id) AS redemption_count FROM recharge_cards c LEFT JOIN users u ON u.id=c.used_by ORDER BY c.id DESC LIMIT 100')->fetchAll();
if($view==='withdrawals')$withdrawals=$pdo->query('SELECT w.*,u.username FROM withdrawal_orders w JOIN users u ON u.id=w.user_id ORDER BY w.id DESC LIMIT 100')->fetchAll();
if($view==='referrals')$referrals=$pdo->query('SELECT r.*,i.username AS inviter_name,e.username AS invitee_name FROM referral_rewards r JOIN users i ON i.id=r.inviter_id JOIN users e ON e.id=r.invitee_id ORDER BY r.id DESC LIMIT 100')->fetchAll();
$referralStats=['rewarded'=>(int)$pdo->query("SELECT COUNT(*) FROM referral_rewards WHERE status='rewarded'")->fetchColumn(),'rejected'=>(int)$pdo->query("SELECT COUNT(*) FROM referral_rewards WHERE status='rejected'")->fetchColumn(),'amount'=>(float)$pdo->query("SELECT COALESCE(SUM(reward_amount),0) FROM referral_rewards WHERE status='rewarded'")->fetchColumn()];
$titles=['dashboard'=>'数据概览','users'=>'用户管理','recharges'=>'充值审核','withdrawals'=>'提现审核','cards'=>'充值卡','referrals'=>'邀请记录','game'=>'玩法与RTP','settings'=>'系统设置'];$statusNames=['pending'=>'待审核','approved'=>'已到账','rejected'=>'已拒绝','reversed'=>'已冲正','rewarded'=>'已奖励','qualified'=>'关系有效'];
$gameSettings=settings_map();$gameStats=game_window_stats($pdo,(int)($gameSettings['rtp_window']??1000));$specialDefinitions=game_special_definitions($gameSettings);$gameBoard=game_board($gameSettings);$gameProbabilityModel=game_effective_probability_model($gameSettings,$gameStats);
if($view==='game'){require __DIR__.'/game.php';exit;}
?>