lip 5 дней назад
Родитель
Сommit
a34f501816
2 измененных файлов с 16 добавлено и 14 удалено
  1. 10 9
      app/Http/Controllers/api/Wallet.php
  2. 6 5
      app/Services/WalletService.php

+ 10 - 9
app/Http/Controllers/api/Wallet.php

@@ -86,21 +86,22 @@ class Wallet extends BaseController
             $params = request()->validate([
                 'type' => ['required', 'string'],
             ]);
+
+            if (strtolower($params['type']) === "trc20") {
+                $address = Config::where('field', 'receiving_address')->first()->val;
+            } elseif (strtolower($params['type']) === "erc20") {
+                $address = Config::where('field', 'receiving_address_erc20')->first()->val;
+            } else {
+                return $this->error(lang('充值类型错误'));
+            }
+
             $receivingType = ConfigService::getVal("receiving_type");
             //自动充值
             if ($receivingType == 1) {
-                $res = WalletService::getRechargeImageAddress($member_id);
-                $address = $res['address'];
+                $res = WalletService::getRechargeImageAddress($member_id, $address);
                 $qrCode = $res['full_path'];
             } else {
                 //手动充值
-                if (strtolower($params['type']) === "trc20") {
-                    $address = Config::where('field', 'receiving_address')->first()->val;
-                } elseif (strtolower($params['type']) === "erc20") {
-                    $address = Config::where('field', 'receiving_address_erc20')->first()->val;
-                } else {
-                    return $this->error(lang('充值类型错误'));
-                }
                 $res = WalletService::getPlatformImageAddress($address);
                 $res['net'] = $params['type'];
                 $qrCode = $res['full_path'];

+ 6 - 5
app/Services/WalletService.php

@@ -263,21 +263,22 @@ class WalletService extends BaseService
      * @param {*} $memberId
      * @return {*}
      */
-    public static function getRechargeImageAddress($memberId)
+    public static function getRechargeImageAddress($memberId, $address = '')
     {
         self::getUserWallet($memberId);
-
         $info = self::findOne(['member_id' => $memberId]);
-        $path = self::rechargeQrCodeExists($info->address);
+        
+        $address = $address ?? $info->address;
+        $path = self::rechargeQrCodeExists($address);
         if (empty($path)) {
-            $path = self::createRechargeQrCode($info->address);
+            $path = self::createRechargeQrCode($address);
         }
 
         // $host = config('app.url'); // 通常在 .env 中配置 APP_URL
         return [
             'coin' => $info->coin,
             'net' => $info->net,
-            'address' => $info->address,
+            'address' => $address,
             'path' => $path,
             'full_path' => asset($path)
         ];