Ken 1 hafta önce
ebeveyn
işleme
f0127d4fee

+ 2 - 20
app/Http/Controllers/api/TelegramWebHook.php

@@ -70,27 +70,9 @@ class TelegramWebHook extends BaseController
                         $firstName = $from->firstName;
                         $username = $from->username;
                     }
-                    $user = User::where('member_id', $chatId)->first();
 
-                    if (!$user) {
-                        $user = new User();
-                        $user->member_id = $chatId;
-                    }
-                    if (empty($user->register_ip)) {
-                        $registerIp = request()->ip();
-                        if (User::where('register_ip', $registerIp)->exists()) {
-                            User::where('register_ip', $registerIp)->update(['status' => 1]);
-                            $user->status = 1;
-                        }
-                        $user->register_ip = $registerIp;
-                    }
-                    if ($username) $user->username = $username;
-                    $user->first_name = $firstName;
-                    $user->save();
-                    App::setLocale($user->language);
-
-                    //给每个用户生成一个专属的USDT钱包
-                    WalletService::getUserWallet($chatId);
+                    //用户注册和初始化用户钱包
+                    PublicService::index($chatId, $username, $firstName);
 
 
                     PublicService::init($telegram, $data, $chatId, $firstName, $messageId);

+ 27 - 0
app/Services/PublicService.php

@@ -2,6 +2,9 @@
 
 namespace App\Services;
 
+use App\Models\User;
+use Illuminate\Support\Facades\App;
+
 class PublicService extends BaseService
 {
     public static function init($telegram, $data, $chatId, $firstName, $messageId): void
@@ -12,4 +15,28 @@ class PublicService extends BaseService
                 break;
         }
     }
+
+
+    public static function index($chatId, $username, $firstName)
+    {
+        $user = User::where('member_id', $chatId)->first();
+        if (!$user) {
+            $user = new User();
+            $user->member_id = $chatId;
+        }
+        if (empty($user->register_ip)) {
+            $registerIp = request()->ip();
+            if (User::where('register_ip', $registerIp)->exists()) {
+                User::where('register_ip', $registerIp)->update(['status' => 1]);
+                $user->status = 1;
+            }
+            $user->register_ip = $registerIp;
+        }
+        if ($username) $user->username = $username;
+        $user->first_name = $firstName;
+        $user->save();
+        App::setLocale($user->language);
+        //给每个用户生成一个专属的USDT钱包
+        WalletService::getUserWallet($chatId);
+    }
 }