<?php
/**
 * check_wagering_requirement.php
 * User Withdraw করতে চাইলে, তার আগে দেখা — সে তার সর্বশেষ
 * Deposit-এর ৪০% পরিমাণ Win করেছে কিনা
 *
 * ✅ ঠিক করা হলো — আগে ভুলবশত "Bet-Amount" (মোট কত খেলেছে)
 * দিয়ে ১০০% Check হতো। এখন সঠিকভাবে "Win-Amount" (মোট
 * কত জিতেছে) দিয়ে, Deposit-এর ৪০% Threshold Check হচ্ছে।
 */
include __DIR__ . "/deepanshu/conn.php";
include __DIR__ . "/deepanshu/functions2.php";
header('Content-Type: application/json; charset=utf-8');

$bearer = explode(" ", $_SERVER['HTTP_AUTHORIZATION'] ?? '');
$author = $bearer[1] ?? '';
$is_jwt_valid = is_jwt_valid($author);
$data_auth = json_decode($is_jwt_valid, true);

if (($data_auth['status'] ?? '') !== 'Success') {
    echo json_encode(['code' => 1, 'msg' => 'Login করা নেই']);
    exit;
}

$userId = $data_auth['payload']['id'];

// ✅ Wagering-Percentage — এখানে বদলালে সব জায়গায় বদলে যাবে
define('WAGERING_PERCENT', 0.40); // ৪০%

// ✅ ধাপ ১ — সর্বশেষ সফল Deposit-এর সময় বের করা
$depositStmt = $conn->prepare("SELECT motta, shonu FROM thevani WHERE balakedara = ? AND sthiti = 1 ORDER BY shonu DESC LIMIT 1");
$depositStmt->bind_param("s", $userId);
$depositStmt->execute();
$depositResult = $depositStmt->get_result();

if ($depositResult->num_rows === 0) {
    echo json_encode([
        'code' => 1,
        'msg' => 'তোমার কোনো Deposit-History পাওয়া যায়নি, তাই এখনো Withdraw করা যাবে না',
        'eligible' => false,
        'required_win' => 0,
        'current_win' => 0,
        'deposit_amount' => 0
    ]);
    exit;
}

$lastDeposit = $depositResult->fetch_assoc();
$depositAmount = (float)$lastDeposit['motta'];
$requiredWinAmount = round($depositAmount * WAGERING_PERCENT, 2);
$depositTime = $lastDeposit['shonu'];

// ✅ ধাপ ২ — সেই Deposit-এর পর থেকে, মোট কত টাকা "Win" করেছে তা যোগ করা
$winStmt = $conn->prepare("SELECT SUM(win_amount) as total_win FROM game_bet_logs WHERE user_id = ? AND created_at >= ?");
$winStmt->bind_param("ss", $userId, $depositTime);
$winStmt->execute();
$winResult = $winStmt->get_result();
$winRow = $winResult->fetch_assoc();
$currentWinAmount = round((float)($winRow['total_win'] ?? 0), 2);

$eligible = $currentWinAmount >= $requiredWinAmount;
$remaining = max(0, round($requiredWinAmount - $currentWinAmount, 2));

echo json_encode([
    'code' => 0,
    'eligible' => $eligible,
    'deposit_amount' => $depositAmount,
    'required_win' => $requiredWinAmount,
    'current_win' => $currentWinAmount,
    'remaining_win' => $remaining,
    'wagering_percent' => WAGERING_PERCENT * 100,
    'msg' => $eligible
        ? 'Wagering-Requirement পূরণ হয়েছে, তুমি Withdraw করতে পারবে'
        : "তোমার সর্বশেষ Deposit (৳$depositAmount)-এর ৪০% অর্থাৎ ৳$requiredWinAmount Win করতে হবে Withdraw করার আগে। আরও ৳$remaining Win করতে হবে।"
]);
