seven před 6 dny
rodič
revize
76d4a8d484

+ 14 - 0
app/Http/Controllers/api/TelegramWebHook.php

@@ -101,6 +101,7 @@ class TelegramWebHook extends Controller
                 }
                 // 近期注单弹窗
                 if ($data === 'betsAlert') {
+                    Cache::put('message_id_bet_record_' . $chatId, 0, 600);
                     $alertText = BetService::recentlyRecord($chatId);
                     BetService::alertNotice($callbackId, $alertText);
                 }
@@ -236,6 +237,19 @@ class TelegramWebHook extends Controller
                     $telegram->editMessageText($res);
                 }
 
+                //选择投注记录
+                $pattern = "/^betRecordType@@\d+$/";
+                if (preg_match($pattern, $data)) {
+                    $type = preg_replace('/^betRecordType@@/', '', $data);
+                    Cache::put('message_id_bet_record_' . $chatId, intval($type), 600);
+                    // $telegram->deleteMessage([
+                    //     'chat_id' => $chatId,
+                    //     'message_id' => $messageId,
+                    // ]);
+                    $returnMsg = BetService::record($chatId);
+                    $telegram->editMessageText($returnMsg);
+                }
+
                 //选择提现地址
                 $pattern = "/^withdrawAddress@@choose\d+$/";
                 if (preg_match($pattern, $data)) {

+ 11 - 2
app/Services/BetService.php

@@ -463,12 +463,15 @@ class BetService extends BaseService
      */
     public static function record($memberId, $messageId = null, $page = 1, $limit = 5)
     {
+        $type = Cache::get('message_id_bet_record_' . $memberId, 0);
+
         $msg['chat_id'] = $memberId;
-        $list = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->orderBy('id', 'desc')->forPage($page, $limit)->get();
-        $count = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->count();
+        $list = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->where(self::getWhere(['is_winner' => $type]))->orderBy('id', 'desc')->forPage($page, $limit)->get();
+        $count = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->where(self::getWhere(['is_winner' => $type]))->count();
 
         $keyboard = [];
 
+
         $total_amount = BalanceLogService::model()::where('member_id', $memberId)->where('change_type', '中奖')->sum('amount');
         $total_amount = number_format($total_amount, 2);
         $text = "历史注单 \n";
@@ -490,6 +493,12 @@ class BetService extends BaseService
 
         $msg['text'] = $text;
 
+        $keyboard[] = [
+            ['text' => "全部", 'callback_data' => "betRecordType@@0"],
+            ['text' => "盈利", 'callback_data' => "betRecordType@@1"],
+            ['text' => "亏损", 'callback_data' => "betRecordType@@2"]
+        ];
+
         if ($page > 1) {
             $keyboard[] = [
                 ['text' => "👆上一页", 'callback_data' => "betRecordNextPage@@" . ($page - 1)]