Для самых ленивых
Карта игроков
баланс по странам
Админка предназначена для мониторинга игроков, их балансов и истории транзакций в системе постбеков.
✔ Отображает общий баланс всех игроков
✔ Показывает интерактивную карту, где видны игроки по странам
✔ Список всех игроков с данными:
✔ Показывает все постбеки конкретного игрока
✔ Включает сумму, событие, ID события и дату
Партнёрская программа отправляет POSTBACK-запросы с данными игрока, например:
Обрабатываются только важные события:
Логика расчёта баланса:
Отправлять постбеки нужно на юрл:
https://domain.lol/postback.php?user_id={user_id}&amount={amount}&event={event}&transaction_id={transaction_id}&country={country}
Настройка бд в файлах
(Все сделано с помощю клауди и chatgpt)
Карта игроков
баланс по странам
Концепция работы админки
Админка предназначена для мониторинга игроков, их балансов и истории транзакций в системе постбеков.
1. Основной функционал
Главная страница (admin.php)
✔ Отображает общий баланс всех игроков
✔ Показывает интерактивную карту, где видны игроки по странам
✔ Список всех игроков с данными:
- ID игрока
- ГЕО (страна)
- Баланс
- Дата первого визита
- Дата последнего визита
- Кнопка "История" (перейти к просмотру всех постбеков)
История транзакций (history.php)
✔ Показывает все постбеки конкретного игрока
✔ Включает сумму, событие, ID события и дату
2. Как обрабатываются постбеки (postback.php)
Партнёрская программа отправляет POSTBACK-запросы с данными игрока, например:
Обрабатываются только важные события:- DEPOSIT → Пополнение баланса
- CASINO → Выигрыши и проигрыши (баланс меняется)
- REDEPOSIT → Только фиксируется в истории, не влияет на баланс
- PAYMENT → Записывается в историю, но баланс НЕ меняет
Логика расчёта баланса:- DEPOSIT → + к балансу
- CASINO (положительное) → + к балансу
- CASINO (отрицательное) → - с баланса
- REDEPOSIT / PAYMENT → Только в истории
3. Как устроена база данных (MySQL)
🗂 Таблица players (игроки)
user_id country balance first_visit last_visit 309398283 RU 213.94 2025-03-18 2025-03-18
🗂 Таблица transactions (постбеки)
user_id amount event event_id full_postback created_at 309398283 -12.11 CASINO null {...} 2025-03-18 17:04:52 309398283 33.43 CASINO null {...} 2025-03-18 17:04:47
4. Как работает карта (Leaflet.js + OpenStreetMap)
✔ Отображает страны, где есть игроки
✔ Подсвечивает страны, где активные пользователи
✔ При наведении показывает:
- Количество игроков
- Общий баланс
✔ Страны на карте окрашиваются в зависимости от активности
Отправлять постбеки нужно на юрл:
https://domain.lol/postback.php?user_id={user_id}&amount={amount}&event={event}&transaction_id={transaction_id}&country={country}
Настройка бд в файлах
(Все сделано с помощю клауди и chatgpt)
SQL:
CREATE DATABASE IF NOT EXISTS gambling_db;
USE gambling_db;
CREATE TABLE IF NOT EXISTS players (
user_id BIGINT PRIMARY KEY,
country VARCHAR(10) NOT NULL,
balance DECIMAL(10,2) DEFAULT 0.00,
first_visit DATETIME DEFAULT CURRENT_TIMESTAMP,
last_visit DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS transactions (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
amount DECIMAL(10,2) NOT NULL,
event VARCHAR(20) NOT NULL,
event_id VARCHAR(50) DEFAULT NULL,
full_postback TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES players(user_id) ON DELETE CASCADE
);
CREATE INDEX idx_user_id ON transactions(user_id);
CREATE INDEX idx_event ON transactions(event);
CREATE INDEX idx_created_at ON transactions(created_at);