96 lines
3.2 KiB
PHP
96 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Grapper;
|
|
|
|
use App\Console\Commands\Grapper\Fixtures\FindFixture;
|
|
use App\Console\Commands\Grapper\Logifuture\Basketball;
|
|
use App\Console\Commands\Grapper\Logifuture\Icehockey;
|
|
use App\Console\Commands\Grapper\Logifuture\Soccer;
|
|
use App\Console\Commands\Grapper\Logifuture\Tennis;
|
|
use App\Console\Commands\Grapper\Logifuture\Tools\Authentication;
|
|
use App\Console\Commands\Grapper\Logifuture\Tools\LogifutureData;
|
|
use App\Console\Commands\Grapper\Logifuture\Tools\MapEvent;
|
|
use App\Console\Commands\Nuh;
|
|
use App\Models\EventBookmaker;
|
|
use App\Models\Sport;
|
|
use App\Utilities\Notice;
|
|
|
|
class Logifuture
|
|
{
|
|
public static $auth_header = [];
|
|
|
|
public static $base_url = '';
|
|
|
|
public static function switch()
|
|
{
|
|
$debug = Nuh::$options['d'] ?? 0;
|
|
|
|
$sportmap = Sport::map('logi', 1, [Nuh::$options['sport_id']]);
|
|
|
|
$event_id_collector = [];
|
|
|
|
if ($debug) {
|
|
Notice::note(Nuh::$options['provider'].' '.Nuh::$options['sport'], 'g');
|
|
}
|
|
|
|
Authentication::authenticate();
|
|
|
|
foreach ($sportmap as $logifuture_sport_id => $sport_id) {
|
|
|
|
$matches = LogifutureData::load($logifuture_sport_id);
|
|
|
|
if (! is_array($matches)) {
|
|
return;
|
|
}
|
|
|
|
if (! isset($matches['error'])) {
|
|
|
|
foreach ($matches as $match) {
|
|
|
|
if (strpos($match['sportCategory'], 'Simulated Reality') === false) {
|
|
|
|
$event = MapEvent::filter($sport_id, $match);
|
|
|
|
FindFixture::find($event);
|
|
|
|
if (isset($event['id'])) {
|
|
|
|
$event_id_collector[] = $event['id'];
|
|
|
|
EventBookmaker::updateOrCreate([
|
|
'event_id' => $event['id'],
|
|
'bookmaker_id' => Nuh::$options['bookmaker_id'],
|
|
], ['in_feed' => 1, 'bmoid' => $event['event_id'], 'startime' => $event['startime']]);
|
|
|
|
$_spreads = [];
|
|
switch ($sport_id) {
|
|
case 1:
|
|
Soccer::get($event, $match);
|
|
break;
|
|
case 2:
|
|
Icehockey::get($event, $_spreads, $match);
|
|
break;
|
|
case 3:
|
|
Basketball::get($event, $_spreads, $match);
|
|
break;
|
|
case 5:
|
|
Tennis::get($event, $_spreads, $match);
|
|
break;
|
|
|
|
default:
|
|
Notice::note('SPORT NOT IMPLEMENTED', 'r', 1);
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
if ($event_id_collector) {
|
|
EventBookmaker::whereNotIn('event_id', $event_id_collector)->where('bookmaker_id', Nuh::$options['bookmaker_id'])->update(['in_feed' => 0]);
|
|
}
|
|
}
|
|
}
|