87 lines
2.6 KiB
PHP
Executable File
87 lines
2.6 KiB
PHP
Executable File
<?php
|
|
namespace App\Controllers\Admin;
|
|
|
|
use App\Core\AdminBaseController;
|
|
use Db\Database;
|
|
|
|
class BetController extends AdminBaseController {
|
|
public function __construct() {
|
|
$this->checkLogin();
|
|
$this->checkAdmin();
|
|
}
|
|
|
|
/**
|
|
* 投注记录列表页面
|
|
*/
|
|
public function index() {
|
|
$db = new Database();
|
|
|
|
// 分页参数
|
|
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
|
|
$limit = 20;
|
|
$offset = ($page - 1) * $limit;
|
|
|
|
// 筛选参数
|
|
$where = [];
|
|
if (isset($_GET['user_id']) && !empty($_GET['user_id'])) {
|
|
$where['bets.user_id'] = $_GET['user_id'];
|
|
}
|
|
if (isset($_GET['period_number']) && !empty($_GET['period_number'])) {
|
|
$where['bets.period_number'] = $_GET['period_number'];
|
|
}
|
|
if (isset($_GET['status']) && !empty($_GET['status'])) {
|
|
$where['bets.status'] = $_GET['status'];
|
|
}
|
|
|
|
// 排序
|
|
$where['ORDER'] = ['bets.id' => 'DESC'];
|
|
$where['LIMIT'] = [$offset, $limit];
|
|
|
|
try {
|
|
// 获取投注记录,关联用户表和游戏表
|
|
$bets = $db->select('bets', [
|
|
'[>]users' => ['user_id' => 'id'],
|
|
'[>]games' => ['game_id' => 'id']
|
|
], [
|
|
'bets.id',
|
|
'bets.user_id',
|
|
'users.username',
|
|
'users.balance', // 当前余额
|
|
'games.name(game_name)', // 游戏名称
|
|
'bets.period_number',
|
|
'bets.bet_type',
|
|
'bets.bet_value',
|
|
'bets.amount',
|
|
'bets.odds',
|
|
'bets.win_amount',
|
|
'bets.status',
|
|
'bets.created_at',
|
|
'bets.settled_at'
|
|
], $where);
|
|
|
|
// 获取总记录数用于分页(移除LIMIT)
|
|
unset($where['LIMIT']);
|
|
$total = $db->count('bets', [
|
|
'[>]users' => ['user_id' => 'id'],
|
|
'[>]games' => ['game_id' => 'id']
|
|
], '*', $where);
|
|
|
|
$totalPages = ceil($total / $limit);
|
|
|
|
} catch (\Throwable $e) {
|
|
// 记录错误以便调试
|
|
error_log("BetController Error: " . $e->getMessage());
|
|
$bets = [];
|
|
$total = 0;
|
|
$totalPages = 0;
|
|
}
|
|
|
|
$this->render('Admin/bets.php', [
|
|
'bets' => $bets,
|
|
'currentPage' => $page,
|
|
'totalPages' => $totalPages,
|
|
'title' => '投注记录'
|
|
]);
|
|
}
|
|
}
|