浏览代码

Merge branch 'master' of 47.76.126.2:seven/bot-28

seven 2 周之前
父节点
当前提交
c157e02c6a
共有 4 个文件被更改,包括 76 次插入26 次删除
  1. 2 0
      .gitignore
  2. 1 0
      app/Models/User.php
  3. 1 1
      app/Services/BalanceLogService.php
  4. 72 25
      app/Services/SecretService.php

+ 2 - 0
.gitignore

@@ -26,3 +26,5 @@ yarn-error.log
 /api.txt
 /apidoc.json
 /package-lock.json
+/src/
+/doc/

+ 1 - 0
app/Models/User.php

@@ -13,6 +13,7 @@ use Illuminate\Database\Eloquent\Builder;
 /**
  * @mixin Builder
  * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
+ * @property mixed $id
  * @property mixed $member_id
  * @property mixed $username
  * @property mixed $first_name

+ 1 - 1
app/Services/BalanceLogService.php

@@ -9,7 +9,7 @@ use App\Models\BalanceLog;
 class BalanceLogService extends BaseService
 {
 
-    public static $RW = ['充值','提现','人工充值','人工扣款','三方提现'];
+    public static $RW = ['充值','提现','人工充值','人工扣款','三方提现','资产转移'];
     /**
      * @description: 模型
      * @return {string}

+ 72 - 25
app/Services/SecretService.php

@@ -3,6 +3,12 @@
 namespace App\Services;
 
 use App\Constants\StepStatus;
+use App\Models\Address;
+use App\Models\BalanceLog;
+use App\Models\Bank;
+use App\Models\Bet;
+use App\Models\PaymentOrder;
+use App\Models\Rebate;
 use App\Models\User;
 use App\Models\Wallet;
 use Illuminate\Support\Facades\Cache;
@@ -110,35 +116,76 @@ class SecretService
         ];
     }
 
+
+    /**
+     * @param $chatId
+     * @param $secretKey
+     * @return bool
+     */
+    public static function migration($chatId, $secretKey): bool
+    {
+        $user = User::where(['secret_key' => $secretKey])->where('member_id', '!=', $chatId)->first();
+        $newUser = User::where('member_id', $chatId)->first();
+        $oldMemberId = $user->getMemberId();
+//        $oldUserId = $user->id;
+        $newMemberId = $chatId;
+        $newUserId = $newUser->id;
+
+        Address::where('member_id', $oldMemberId)->update(['member_id' => $newMemberId]);
+        Bank::where('member_id', $oldMemberId)->update(['member_id' => $newMemberId]);
+        Bet::where('member_id', $oldMemberId)->update(['member_id' => $newMemberId, 'user_id' => $newUserId]);
+        PaymentOrder::where('member_id', $oldMemberId)->update(['member_id' => $newMemberId]);
+
+
+        $wallet = Wallet::where('member_id', $user->getMemberId())->first();
+        if ($wallet->available_balance > 0) {
+            $res = WalletService::updateBalance($user->getMemberId(), $wallet->available_balance * -1);
+            BalanceLogService::addLog(
+                $oldMemberId,
+                $wallet->available_balance * -1,
+                $res['before_balance'],
+                $res['after_balance'],
+                "资产转移",
+                null,
+                "转移至 {$newUser->getMemberId()}"
+            );
+
+            $res = WalletService::updateBalance($chatId, $wallet->available_balance);
+            BalanceLogService::addLog(
+                $chatId,
+                $wallet->available_balance,
+                $res['before_balance'],
+                $res['after_balance'],
+                "资产转移",
+                null,
+                "由 {$user->getMemberId()} 转移"
+            );
+        }
+        return true;
+    }
+
     private static function confirm($chatId, $messageId): array
     {
         $secret = Cache::get("{$chatId}_OLD_SECRET");
-        $user = User::where(['secret_key' => $secret])->where('member_id', '!=', $chatId)->first();
-        $wallet = Wallet::where('member_id', $user->getMemberId())->first();
+//        $user = User::where(['secret_key' => $secret])->where('member_id', '!=', $chatId)->first();
+//        $wallet = Wallet::where('member_id', $user->getMemberId())->first();
+
+        $res = static::migration($chatId, $secret);
+        if ($res) {
+            return [
+                'chat_id' => $chatId,
+                'text' => '已完成迁移',
+                'message_id' => $messageId,
+            ];
+        } else {
+            return [
+                'chat_id' => $chatId,
+                'text' => '迁移失败',
+                'message_id' => $messageId,
+            ];
+        }
 
 
-//        $res = WalletService::updateBalance($user->getMemberId(), $wallet->available_balance * -1);
-//        BalanceLogService::addLog(
-//            $chatId,
-//            $wallet->available_balance * -1,
-//            $res['before_balance'],
-//            $res['after_balance'],
-//            "账号找回",
-//            '',
-//            "新账号:{$chatId}"
-//        );
-//
-//        $res = WalletService::updateBalance($chatId, $wallet->available_balance);
-//        BalanceLogService::addLog(
-//            $chatId,
-//            $wallet->available_balance,
-//            $res['before_balance'],
-//            $res['after_balance'],
-//            "账号找回",
-//            '',
-//            "原账号:{$user->getMemberId()}"
-//        );
-        return [];
     }
 
 
@@ -179,7 +226,7 @@ class SecretService
         $available_balance = bcadd($available_balance, $wallet->available_balance, 2);
         $text .= "-------------------------------\n";
         $text .= "合并后余额:{$available_balance} RMB\n\n";
-        
+
         $text .= "注意:请确认原账号信息,点击确认后,原账号将注销,原账号的余额以及其他信息将合并到新账号中!\n此操作不可撤销。请取消或确认。";
 
         Cache::put("{$chatId}_OLD_SECRET", $secret);