<?php
require_once __DIR__.'/_layout.php';
web_require_perm('dashboard');
web_header('آمار حرفه‌ای ربات');

$pdo = web_pdo();
function wa_val($sql, $default=0){
    $pdo = web_pdo(); if(!$pdo) return $default;
    try{ $v=$pdo->query($sql)->fetchColumn(); return $v===false ? $default : $v; }catch(Throwable $e){ return $default; }
}
function wa_rows($sql){
    $pdo = web_pdo(); if(!$pdo) return [];
    try{ $st=$pdo->query($sql); return $st ? $st->fetchAll(PDO::FETCH_ASSOC) : []; }catch(Throwable $e){ return []; }
}
function wa_num($v){ return number_format((int)$v); }
function wa_money($v){ return number_format((int)$v).' الماس'; }

$todayCards = [
    ['👥 کاربران جدید امروز', wa_val("SELECT COUNT(*) FROM bot_users WHERE created_at >= CURDATE()")],
    ['🟢 کاربران فعال امروز', wa_val("SELECT COUNT(*) FROM bot_users WHERE updated_at >= CURDATE()")],
    ['📦 سفارش‌های امروز', wa_val("SELECT COUNT(*) FROM bot_orders WHERE created_at >= CURDATE()")],
    ['✅ جوین‌های موفق امروز', wa_val("SELECT COUNT(*) FROM bot_order_members WHERE joined_ts >= UNIX_TIMESTAMP(CURDATE())")],
    ['🚪 لفتی‌های امروز', wa_val("SELECT COUNT(*) FROM bot_order_members WHERE left_ts >= UNIX_TIMESTAMP(CURDATE())")],
    ['👥 رفرال‌های امروز', wa_val("SELECT COUNT(*) FROM bot_referrals WHERE created_at >= CURDATE()")],
    ['🎁 الماس توزیع‌شده امروز', wa_val("SELECT COALESCE(SUM(delta_amount),0) FROM bot_wallet_ledger WHERE delta_amount>0 AND created_at >= CURDATE()")],
    ['⚠️ جریمه‌های امروز', abs((int)wa_val("SELECT COALESCE(SUM(delta_amount),0) FROM bot_wallet_ledger WHERE delta_amount<0 AND created_at >= CURDATE()"))],
];
$totalCards = [
    ['👥 کل کاربران', wa_val('SELECT COUNT(*) FROM bot_users')],
    ['💎 موجودی کل کاربران', wa_val('SELECT COALESCE(SUM(points),0) FROM bot_users')],
    ['📦 کل سفارش‌ها', wa_val('SELECT COUNT(*) FROM bot_orders')],
    ['⏳ سفارش‌های فعال', wa_val("SELECT COUNT(*) FROM bot_orders WHERE LOWER(COALESCE(status,'')) NOT IN ('done','completed','complete','cancelled','canceled','closed','deleted') AND COALESCE(status,'') NOT LIKE '%تکمیل%' AND COALESCE(status,'') NOT LIKE '%لغو%'")],
    ['✅ کل جوین‌های موفق', wa_val('SELECT COUNT(*) FROM bot_order_members WHERE joined_ts IS NOT NULL AND joined_ts>0')],
    ['🚪 کل لفتی‌ها', wa_val('SELECT COUNT(*) FROM bot_order_members WHERE left_ts IS NOT NULL AND left_ts>0')],
    ['👥 رفرال تأییدشده', wa_val("SELECT COUNT(*) FROM bot_referrals WHERE status IN ('forced_join_verified','active_rewarded')")],
    ['🚩 گزارش تخلف باز', wa_val("SELECT COUNT(*) FROM bot_order_reports WHERE status='open'")],
];
?>
<div class="panel">
  <h3>نمای امروز</h3>
  <div class="grid dashboard-grid">
    <?php foreach($todayCards as $c): ?>
      <div class="card stat"><b><?=web_h($c[0])?></b><strong><?=wa_num($c[1])?></strong></div>
    <?php endforeach; ?>
  </div>
</div>
<div class="panel">
  <h3>نمای کلی</h3>
  <div class="grid dashboard-grid">
    <?php foreach($totalCards as $c): ?>
      <div class="card stat"><b><?=web_h($c[0])?></b><strong><?=wa_num($c[1])?></strong></div>
    <?php endforeach; ?>
  </div>
</div>
<?php
$topUsers = wa_rows("SELECT user_id, first_name, username, points, updated_at FROM bot_users ORDER BY points DESC LIMIT 10");
$topRef = wa_rows("SELECT r.referrer_id, COUNT(*) total_refs, SUM(CASE WHEN r.status IN ('forced_join_verified','active_rewarded') THEN 1 ELSE 0 END) verified_refs, COALESCE(SUM(e.amount),0) paid FROM bot_referrals r LEFT JOIN bot_referral_events e ON e.referrer_id=r.referrer_id AND e.referred_id=r.referred_id AND e.amount>0 GROUP BY r.referrer_id ORDER BY verified_refs DESC, total_refs DESC LIMIT 10");
$topChannels = wa_rows("SELECT COALESCE(NULLIF(channel_username,''), channel_chat_id, '-') channel_name, COUNT(*) orders_count, COALESCE(SUM(target_count),0) target_sum, COALESCE(SUM(received_count),0) received_sum, COALESCE(SUM(left_count),0) left_sum FROM bot_orders GROUP BY channel_name ORDER BY received_sum DESC, orders_count DESC LIMIT 10");
$walletReasons = wa_rows("SELECT COALESCE(NULLIF(reason,''),'unknown') reason, COUNT(*) cnt, COALESCE(SUM(delta_amount),0) sum_amount FROM bot_wallet_ledger WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) GROUP BY reason ORDER BY ABS(sum_amount) DESC LIMIT 12");
$recentAlerts = wa_rows("SELECT order_id, reporter_id, status, created_at FROM bot_order_reports ORDER BY created_at DESC LIMIT 8");
?>
<div class="grid">
  <div class="panel"><h3>🏆 کاربران با بیشترین موجودی</h3>
  <?php if(!$topUsers): ?><div class="search-empty">داده‌ای نیست.</div><?php else: web_table_start(['آیدی','نام','یوزرنیم','موجودی','آخرین فعالیت']); foreach($topUsers as $r){ echo '<tr><td>'.web_h($r['user_id']).'</td><td>'.web_h($r['first_name'] ?: '-').'</td><td>'.web_h($r['username'] ?: '-').'</td><td>'.wa_money($r['points']).'</td><td>'.web_h($r['updated_at']).'</td></tr>'; } web_table_end(); endif; ?>
  </div>
  <div class="panel"><h3>👥 برترین‌های رفرال</h3>
  <?php if(!$topRef): ?><div class="search-empty">رفرالی ثبت نشده.</div><?php else: web_table_start(['معرف','کل','تأییدشده','پاداش']); foreach($topRef as $r){ echo '<tr><td>'.web_h($r['referrer_id']).'</td><td>'.wa_num($r['total_refs']).'</td><td>'.wa_num($r['verified_refs']).'</td><td>'.wa_money($r['paid']).'</td></tr>'; } web_table_end(); endif; ?>
  </div>
</div>
<div class="grid">
  <div class="panel"><h3>📣 کانال‌های پربازده</h3>
  <?php if(!$topChannels): ?><div class="search-empty">سفارشی ثبت نشده.</div><?php else: web_table_start(['کانال','سفارش','هدف','دریافتی','لفتی']); foreach($topChannels as $r){ echo '<tr><td>'.web_h($r['channel_name']).'</td><td>'.wa_num($r['orders_count']).'</td><td>'.wa_num($r['target_sum']).'</td><td>'.wa_num($r['received_sum']).'</td><td>'.wa_num($r['left_sum']).'</td></tr>'; } web_table_end(); endif; ?>
  </div>
  <div class="panel"><h3>💳 گردش موجودی ۷ روز اخیر</h3>
  <?php if(!$walletReasons): ?><div class="search-empty">گردشی ثبت نشده.</div><?php else: web_table_start(['دلیل','تعداد','جمع']); foreach($walletReasons as $r){ echo '<tr><td>'.web_h($r['reason']).'</td><td>'.wa_num($r['cnt']).'</td><td>'.wa_money($r['sum_amount']).'</td></tr>'; } web_table_end(); endif; ?>
  </div>
</div>
<div class="panel">
  <h3>🚩 آخرین گزارش‌های تخلف / مشکل سفارش</h3>
  <?php if(!$recentAlerts): ?><div class="search-empty">گزارش بازی وجود ندارد.</div><?php else: web_table_start(['سفارش','گزارش‌دهنده','وضعیت','زمان']); foreach($recentAlerts as $r){ echo '<tr><td>'.web_h($r['order_id']).'</td><td>'.web_h($r['reporter_id']).'</td><td><span class="badge">'.web_h($r['status']).'</span></td><td>'.web_h($r['created_at']).'</td></tr>'; } web_table_end(); endif; ?>
</div>
<div class="panel">
  <h3>توضیح شاخص‌ها</h3>
  <div class="small">این صفحه فقط گزارش مدیریتی است و هیچ تغییری در موجودی، سفارش یا رفرال ایجاد نمی‌کند. اعداد از SQL خوانده می‌شوند؛ اگر هاست هنوز روی حالت فایل/JSON باشد، بعضی شاخص‌های پیشرفته ممکن است صفر نمایش داده شوند.</div>
</div>
<?php web_footer(); ?>
