diff --git a/admin/chat_iframe.php b/admin/chat_iframe.php index 9050ec7..fa34863 100644 --- a/admin/chat_iframe.php +++ b/admin/chat_iframe.php @@ -1,5 +1,6 @@ prepare("UPDATE fiat_orders SET status = 'matched', bank_account_info = ? WHERE id = ?")->execute([$info, $oid]); - $pdo->prepare("INSERT INTO messages (user_id, sender, message) VALUES (?, 'admin', ?)")->execute([$user_id, "匹配成功!收款账户:$info\n请转账并上传凭证。 οδηγός"]); + + $notif = "✅ 匹配成功!收款账户已下发。请在页面强制弹窗中查看详细信息并进行转账。"; + $pdo->prepare("INSERT INTO messages (user_id, sender, message) VALUES (?, 'admin', ?)")->execute([$user_id, $notif]); } elseif ($_POST['action'] == 'complete') { - $stmt = $pdo->prepare("SELECT amount FROM fiat_orders WHERE id = ?"); + $stmt = $pdo->prepare("SELECT amount, currency, exchange_rate FROM fiat_orders WHERE id = ?"); $stmt->execute([$oid]); - $amt = $stmt->fetchColumn(); - $pdo->prepare("UPDATE users SET balance = balance + ? WHERE id = ?")->execute([$amt, $user_id]); - $pdo->prepare("UPDATE fiat_orders SET status = 'completed' WHERE id = ?")->execute([$oid]); - $pdo->prepare("INSERT INTO messages (user_id, sender, message) VALUES (?, 'admin', ?)")->execute([$user_id, "充值已到账,金额:$amt USDT"]); + $order = $stmt->fetch(); + $amt = $order['amount']; + $cur = $order['currency']; + + $fiat_rates = get_fiat_rates(); + $real_time_rate = $fiat_rates[$cur] ?? $order['exchange_rate']; + $usdt_amt = ($real_time_rate > 0) ? ($amt / $real_time_rate) : $amt; + + $pdo->prepare("UPDATE users SET balance = balance + ? WHERE id = ?")->execute([$usdt_amt, $user_id]); + $pdo->prepare("UPDATE fiat_orders SET status = 'completed', usdt_amount = ?, exchange_rate = ? WHERE id = ?") + ->execute([$usdt_amt, $real_time_rate, $oid]); + + $notif = "🎉 充值已确认到账!\n金额:" . number_format($amt, 2) . " $cur\n实时汇率:1 USDT = " . number_format($real_time_rate, 4) . " $cur\n入账:" . number_format($usdt_amt, 2) . " USDT"; + $pdo->prepare("INSERT INTO messages (user_id, sender, message) VALUES (?, 'admin', ?)")->execute([$user_id, $notif]); } elseif ($_POST['action'] == 'reject') { $pdo->prepare("UPDATE fiat_orders SET status = 'rejected' WHERE id = ?")->execute([$oid]); + $pdo->prepare("INSERT INTO messages (user_id, sender, message) VALUES (?, 'admin', ?)")->execute([$user_id, "❌ 您的充值申请 #$oid 已被拒绝。"]); } } @@ -46,6 +66,8 @@ $msgs = $messages->fetchAll(); $orders = $pdo->prepare("SELECT * FROM fiat_orders WHERE user_id = ? AND status IN ('matching', 'submitting', 'matched') ORDER BY id DESC"); $orders->execute([$user_id]); $pending_orders = $orders->fetchAll(); + +$current_rates = get_fiat_rates(); ?> @@ -53,100 +75,111 @@ $pending_orders = $orders->fetchAll();