seven 18 stundas atpakaļ
vecāks
revīzija
5ae63e43f0

+ 10 - 2
app/Http/Controllers/admin/Wallet.php

@@ -17,6 +17,7 @@ use App\Models\Withdraw;
 use App\Services\BetService;
 use App\Services\IssueService;
 use App\Services\GameplayRuleService;
+use App\Models\Config;
 
 class Wallet extends Controller
 {
@@ -139,14 +140,19 @@ class Wallet extends Controller
                 $text .= "原因:{$remark}\n";
                 TopUpService::notifyTransferSuccess($recharge->member_id, $text);
             } else {
+                // 汇率
+                $rate = Config::where('field', 'exchange_rate_rmb')->first()->val??1;
                 $recharge->status = 1;
+                $recharge->exchange_rate = $rate;
                 $recharge->save();
                 $wallet = WalletModel::where('member_id', $recharge->member_id)
                     ->first();
-                $available_balance = bcadd($wallet->available_balance, $amount, 10);
+                $rate_amount = bcmul($amount, $rate, 10); // 汇率转换后分数
+                $available_balance = bcadd($wallet->available_balance, $rate_amount, 10);
+
                 BalanceLogService::addLog(
                     $recharge->member_id,
-                    $amount,
+                    $rate_amount,
                     $wallet->available_balance,
                     $available_balance,
                     "充值",
@@ -159,6 +165,8 @@ class Wallet extends Controller
                 $text = "充值结果通知\n";
                 $text .= "充值数量:{$amount} USDT\n";
                 $text .= "充值地址:{$recharge->to_address}\n";
+                $text .= "汇率:1 USDT = {$rate} RMB\n";
+                $text .= "折合金额:{$rate_amount} RMB\n";
                 $text .= "状态:成功\n";
                 TopUpService::notifyTransferSuccess($recharge->member_id, $text);
             }

+ 35 - 0
database/migrations/2025_10_28_175546_add_exchange_rate_to_recharges_table.php

@@ -0,0 +1,35 @@
+<?php
+
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('recharges', function (Blueprint $table) {
+            // 添加汇率字段,decimal类型适合存储货币汇率
+            $table->decimal('exchange_rate', 10, 6)->nullable()->comment('汇率');
+            //
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('recharges', function (Blueprint $table) {
+            //
+        });
+    }
+};