Parcourir la source

fix:记录数量

aiden il y a 3 mois
Parent
commit
ba3ce1a80e
1 fichiers modifiés avec 20 ajouts et 15 suppressions
  1. 20 15
      app/model/GameStatisModel.php

+ 20 - 15
app/model/GameStatisModel.php

@@ -40,25 +40,30 @@ class GameStatisModel extends Model
             $gameId = is_array($filters['game_id']) ? $filters['game_id'] : explode(',', $filters['game_id']);
             $where[] = ['game_id', 'in', $gameId];
         }
+
+        // 使用子查询获取每个用户的统计数据
+        $subQuery = self::field([
+                "FROM_UNIXTIME(create_time, '%Y-%m-%d') as date", // 日期
+                'game_id',  //游戏id
+                'AVG(rtp) AS rtp', // 平均RTP
+                'COUNT(DISTINCT uname) as bet_users',  // 投注用户数
+                'COUNT(id) as bet_count',  // 注单数
+                'SUM(bet) as bet_amount',  // 注单金额(下注分数)
+                'SUM(total_win_amount) as game_profit',  // 游戏输赢(金额变化)
+        ])
+        ->where($where)
+        ->group('date, game_id')
+        ->buildSql();
+        
+        // 获取总数
+        $total = self::table($subQuery . ' t')->count();
         
-        $query = self::where($where);
-        // 统计总数
-        $total = $query->count();
-        // 获取列表数据
-        $list = $query->field([
-                    "FROM_UNIXTIME(create_time, '%Y-%m-%d') as date", // 日期
-                    'game_id',  //游戏id
-                    'AVG(rtp) AS rtp', // 平均RTP
-                    'COUNT(DISTINCT uname) as bet_users',  // 投注用户数
-                    'COUNT(id) as bet_count',  // 注单数
-                    'SUM(bet) as bet_amount',  // 注单金额(下注分数)
-                    'SUM(total_win_amount) as game_profit',  // 游戏输赢(金额变化)
-            ])
+        // 获取排行榜数据
+        $list = self::table($subQuery . ' t')
             ->order('date', 'desc')
-            ->group('date, game_id')
             ->page($page, $limit)
             ->select()
-            ->toArray();
+            ->toArray();        
 
         // 获取登录用户、注册用户    
         $merchantsUserStatic = MerchantsUserModel::getPlayerStatistics($merchantId, $filters);