Для тех кто любит смотреть спорт

BetController — документация

Контроллер отвечает за ленты событий, создание купонов, расчёт ставок и автоматическую синхронизацию результатов.

index()

  • Собирает события по лигам, готовит заголовки и карту внешних ID.
  • Формирует данные для представления `home` и историю купонов.
  • Источник: `app/Http/Controllers/BetController.php:18`.

store()

  • Создаёт купон с выбранными ставками и считает итоговый коэффициент.
  • Возвращает JSON с `coupon_id`, `total_odds`, `balance` или редирект на `home`.
  • Источник: `app/Http/Controllers/BetController.php:130`.

settle()

  • Ручная установка результата события (`home/draw/away`).
  • Рассчитывает связанные ставки по кэфам события и, при необходимости, весь купон.
  • Источник: `app/Http/Controllers/BetController.php:294`.

autoSettleDue()

  • Автоматически подбирает прошедшие события и тянет результаты из API.
  • Выставляет `result` события и рассчитывает ставки по рынкам.
  • Источник: `app/Http/Controllers/BetController.php:340`.

checkResultSchedule()

  • Возвращает список `external_id` событий, запланированных на сегодня (+6 часов).
  • Используется авто‑процессингом и кроном.
  • Источник: `app/Http/Controllers/BetController.php:535`.

cronStatus()

  • Статус задач: счётчик автосеттла, последняя активность и параметры окружения.
  • Источник: `app/Http/Controllers/BetController.php:553`.

settleUnsettledBets()

  • Перерасчитывает ставки без `settled_at`, опционально по `event_id`/`bet_id`.
  • Тянет недостающие результаты из API и обновляет исходы.
  • Источник: `app/Http/Controllers/BetController.php:573`.

Полный код BetController.php

Файл читается напрямую из исходников, чтобы содержимое всегда было актуальным.