wip fix
This commit is contained in:
1 parent
9bcd4432c6
commit
6f92f9e1d5
1209 files changed
+220940
No files matched your search
@@ -0,0 +1,196 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\Event;
|
||||
use App\Models\EventBookmaker;
|
||||
use App\Models\Mapper;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class FindFixture
|
||||
{
|
||||
public static $elements = [];
|
||||
|
||||
public static $groups = [];
|
||||
|
||||
/***
|
||||
"event_id" => 3864842
|
||||
"betradar_id" => 62924779
|
||||
"sport_id" => 3
|
||||
"provider_id" => 3
|
||||
"country_id" => 128
|
||||
"country" => "USA"
|
||||
"group_id" => 1301
|
||||
"group" => "NBA"
|
||||
"starttime" => "2026-02-22 20:30:00"
|
||||
"home_id" => 6855
|
||||
"home" => "Golden State Warriors"
|
||||
"away_id" => 6843
|
||||
"away" => "Denver Nuggets"
|
||||
*/
|
||||
|
||||
public static function start()
|
||||
{
|
||||
self::$elements = LoadElements::load(Nuh::$options['provider_id'], true);
|
||||
|
||||
self::$groups = LoadGroups::load(Nuh::$options['provider_id'], true);
|
||||
}
|
||||
|
||||
public static function find(&$event)
|
||||
{
|
||||
$event_id = $event['event_id'];
|
||||
|
||||
$betradar_id = $event['betradar_id'] ?? 0;
|
||||
|
||||
$betsapi_id = $event['betsapi_id'] ?? 0;
|
||||
|
||||
$bet365_id = $event['bet365_id'] ?? 0;
|
||||
|
||||
$_1xbet_id = $event['_1xbet_id'] ?? 0;
|
||||
|
||||
$bwin_id = $event['bwin_id'] ?? 0;
|
||||
|
||||
/*************************************************
|
||||
* USE ID
|
||||
*************************************************/
|
||||
|
||||
// DEFAULT BETRADAR
|
||||
if ($betradar_id) {
|
||||
$match = Event::where('betradar_id', $betradar_id)->first();
|
||||
}
|
||||
if (! isset($match) or ! $match) {
|
||||
switch ($event['provider_id']) {
|
||||
case 2:
|
||||
// BETSAPI
|
||||
$match = Event::where('betsapi_id', '=', $event_id)->first();
|
||||
break;
|
||||
case 3:
|
||||
// MAGLOO KENIA
|
||||
$res = EventBookmaker::where('bookmaker_id', 10)->where('event_id', $event_id)->first();
|
||||
if ($res) {
|
||||
$match = Event::where('id', $res->event_id)->first();
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
// MAGLOO NIGERIA
|
||||
$res = EventBookmaker::where('bookmaker_id', 16)->where('event_id', $event_id)->first();
|
||||
if ($res) {
|
||||
$match = Event::where('id', $res->event_id)->first();
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
// LOGIFUTUR NIGERA
|
||||
$res = EventBookmaker::where('bookmaker_id', 35)->where('event_id', $event_id)->first();
|
||||
if ($res) {
|
||||
$match = Event::where('id', $res->event_id)->first();
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
// LOGIFUTUR COLOMBIA
|
||||
$res = EventBookmaker::where('bookmaker_id', 36)->where('event_id', $event_id)->first();
|
||||
if ($res) {
|
||||
$match = Event::where('id', $res->event_id)->first();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($match)) {
|
||||
|
||||
$update_array = [];
|
||||
|
||||
if ($betradar_id && ! $match->betradar_id) {
|
||||
$update_array['betradar_id'] = $betradar_id;
|
||||
}
|
||||
if ($betsapi_id && ! $match->betsapi_id) {
|
||||
$update_array['betsapi_id'] = $betsapi_id;
|
||||
}
|
||||
if ($bet365_id && ! $match->bet365_id) {
|
||||
$update_array['bet365_id'] = $bet365_id;
|
||||
}
|
||||
if ($_1xbet_id && ! $match->_1xbet_id) {
|
||||
$update_array['bet365_id'] = $_1xbet_id;
|
||||
}
|
||||
if ($bwin_id && ! $match->bwin_id) {
|
||||
$update_array['bwin_id'] = $bwin_id;
|
||||
}
|
||||
|
||||
if ($update_array) {
|
||||
DB::transaction(function () use ($match, $update_array) {
|
||||
Event::where('id', $match->id)->update($update_array);
|
||||
}, 5);
|
||||
}
|
||||
|
||||
if (! in_array(Nuh::$options['provider_id'], [5, 6, 9])) {
|
||||
StoreData::store($event, $match);
|
||||
}
|
||||
|
||||
Mapper::where('event_id', $event_id)->delete();
|
||||
|
||||
$event['id'] = $match->id;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (in_array(Nuh::$options['provider_id'], [3, 4, 5, 6, 9, 10])) {
|
||||
Mapper::updateOrCreate(['event_id' => $event_id], $event);
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
* FIND
|
||||
*************************************************/
|
||||
if (isset($event['home_id']) && isset($event['away_id']) && isset($event['group_id'])) {
|
||||
|
||||
$starttime = $event['starttime'];
|
||||
|
||||
$from = Carbon::createFromDate($starttime)->subDay();
|
||||
|
||||
$to = Carbon::createFromDate($starttime)->addDay();
|
||||
|
||||
$home_id = FindFixture::$elements[$event['home_id']] ?? 0;
|
||||
|
||||
$away_id = FindFixture::$elements[$event['away_id']] ?? 0;
|
||||
|
||||
$competition_group_id = FindFixture::$groups[$event['group_id']] ?? 0;
|
||||
|
||||
if ($home_id && $away_id && $competition_group_id) {
|
||||
|
||||
$match_id = Event::query()
|
||||
->where('home_id', $home_id)
|
||||
->where('away_id', $away_id)
|
||||
->where('competition_group_id', $competition_group_id)
|
||||
->where('starttime', '>', $from)
|
||||
->where('starttime', '<', $to)
|
||||
->value('id');
|
||||
|
||||
if ($match_id) {
|
||||
|
||||
$event['id'] = $match_id;
|
||||
|
||||
$update_array = [];
|
||||
|
||||
if ($betradar_id) {
|
||||
$update_array['betradar_id'] = $betradar_id;
|
||||
}
|
||||
if ($betsapi_id) {
|
||||
$update_array['betsapi_id'] = $betsapi_id;
|
||||
}
|
||||
if ($bet365_id) {
|
||||
$update_array['bet365_id'] = $bet365_id;
|
||||
}
|
||||
|
||||
if ($update_array) {
|
||||
Event::where('id', $match_id)->update($update_array);
|
||||
}
|
||||
|
||||
} else {
|
||||
Mapper::updateOrCreate(['event_id' => $event_id], $event);
|
||||
}
|
||||
} else {
|
||||
Mapper::updateOrCreate(['event_id' => $event_id], $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Models\ElementProvider;
|
||||
|
||||
class LoadElements
|
||||
{
|
||||
public static function load($provider_id, $load_by_name = false)
|
||||
{
|
||||
$res = ElementProvider::where('provider_id', $provider_id)->get();
|
||||
|
||||
$r = [];
|
||||
foreach ($res as $val) {
|
||||
if ($load_by_name) {
|
||||
$r[$val->sport_id][$val->name] = $val->element_id;
|
||||
} else {
|
||||
$r[$val->sport_id][$val->provider_element_id] = $val->element_id;
|
||||
}
|
||||
}
|
||||
|
||||
return $r;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Models\CompetitionGroupProvider;
|
||||
|
||||
class LoadGroups
|
||||
{
|
||||
public static function load($provider_id, $load_by_name = false)
|
||||
{
|
||||
$res = CompetitionGroupProvider::where('provider_id', $provider_id)->get();
|
||||
|
||||
$r = [];
|
||||
foreach ($res as $val) {
|
||||
if ($load_by_name) {
|
||||
$r[$val->sport_id][$val->name] = $val->competition_group_id;
|
||||
} else {
|
||||
$r[$val->sport_id][$val->provider_group_id] = $val->competition_group_id;
|
||||
}
|
||||
}
|
||||
|
||||
return $r;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Models\CompetitionGroupProvider;
|
||||
use App\Models\ElementProvider;
|
||||
|
||||
class StoreData
|
||||
{
|
||||
public static function store(&$event, &$match)
|
||||
{
|
||||
$home_id = FindFixture::$elements[$event['home_id']] ?? 0;
|
||||
|
||||
$away_id = FindFixture::$elements[$event['away_id']] ?? 0;
|
||||
|
||||
$competition_group_id = FindFixture::$groups[$event['group_id']] ?? 0;
|
||||
|
||||
if (! $home_id) {
|
||||
$ele = [];
|
||||
$ele['sport_id'] = $event['sport_id'];
|
||||
$ele['provider_id'] = $event['provider_id'];
|
||||
$ele['element_id'] = $match->home_id ?? 0;
|
||||
$home['add_by_method_id'] = 1;
|
||||
$ele['name'] = $event['home'];
|
||||
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['home_id']], $ele);
|
||||
}
|
||||
|
||||
if (! $away_id) {
|
||||
$ele = [];
|
||||
$ele['sport_id'] = $event['sport_id'];
|
||||
$ele['provider_id'] = $event['provider_id'];
|
||||
$ele['element_id'] = $match->away_id ?? 0;
|
||||
$home['add_by_method_id'] = 1;
|
||||
$ele['name'] = $event['away'];
|
||||
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['away_id']], $ele);
|
||||
}
|
||||
|
||||
if (! $competition_group_id) {
|
||||
$group = [];
|
||||
$group['sport_id'] = $event['sport_id'];
|
||||
$group['provider_id'] = $event['provider_id'];
|
||||
$group['competition_group_id'] = $match->competition_group_id;
|
||||
$home['add_by_method_id'] = 1;
|
||||
$group['name'] = $event['group'];
|
||||
CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Models\ElementProvider;
|
||||
|
||||
class StoreElement
|
||||
{
|
||||
public static function store(&$elements, $ele)
|
||||
{
|
||||
$provider_element_id = $ele['provider_element_id'] ?? 0;
|
||||
|
||||
unset($ele['provider_element_id']);
|
||||
|
||||
$ele['add_by_method_id'] = 1;
|
||||
|
||||
$sport_id = $ele['sport_id'] ?? 0;
|
||||
|
||||
if ($sport_id && ! isset($elements[$sport_id][$provider_element_id])) {
|
||||
|
||||
ElementProvider::updateOrCreate(['provider_element_id' => (int) $provider_element_id], $ele);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Fixtures;
|
||||
|
||||
use App\Models\CompetitionGroupProvider;
|
||||
|
||||
class StoreGroup
|
||||
{
|
||||
public static function store(&$groups, $group)
|
||||
{
|
||||
$provider_group_id = $group['provider_group_id'] ?? 0;
|
||||
|
||||
unset($group['provider_group_id']);
|
||||
|
||||
$sport_id = $group['sport_id'] ?? 0;
|
||||
|
||||
$ele['add_by_method_id'] = 1;
|
||||
|
||||
if ($sport_id && ! isset($groups[$sport_id][$provider_group_id])) {
|
||||
|
||||
CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $provider_group_id], $group);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user