|
@@ -40,25 +40,30 @@ class GameStatisModel extends Model
|
|
|
$gameId = is_array($filters['game_id']) ? $filters['game_id'] : explode(',', $filters['game_id']);
|
|
$gameId = is_array($filters['game_id']) ? $filters['game_id'] : explode(',', $filters['game_id']);
|
|
|
$where[] = ['game_id', 'in', $gameId];
|
|
$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')
|
|
->order('date', 'desc')
|
|
|
- ->group('date, game_id')
|
|
|
|
|
->page($page, $limit)
|
|
->page($page, $limit)
|
|
|
->select()
|
|
->select()
|
|
|
- ->toArray();
|
|
|
|
|
|
|
+ ->toArray();
|
|
|
|
|
|
|
|
// 获取登录用户、注册用户
|
|
// 获取登录用户、注册用户
|
|
|
$merchantsUserStatic = MerchantsUserModel::getPlayerStatistics($merchantId, $filters);
|
|
$merchantsUserStatic = MerchantsUserModel::getPlayerStatistics($merchantId, $filters);
|