diff --git a/app/Console/Commands/Grapper/Betsapi/Fixtures.php b/app/Console/Commands/Grapper/Betsapi/Fixtures.php index 83c1db6c..b146a5ef 100644 --- a/app/Console/Commands/Grapper/Betsapi/Fixtures.php +++ b/app/Console/Commands/Grapper/Betsapi/Fixtures.php @@ -3,10 +3,8 @@ namespace App\Console\Commands\Grapper\Betsapi; use App\Console\Commands\Curl; -use App\Console\Commands\Grapper\FindFixture; +use App\Console\Commands\Grapper\Fixtures\FindFixture; use App\Console\Commands\Nuh; -use App\Mapper\LoadElements; -use App\Mapper\LoadGroups; use App\Models\Country; use App\Models\Mapper; use App\Models\Sport; @@ -15,16 +13,14 @@ use Illuminate\Support\Carbon; class Fixtures { - public static $elements = []; - - public static $groups = []; - public static function grap() { $debug = Nuh::$options['d'] ?? 0; $today = Nuh::$options['t'] ?? 0; + FindFixture::start(); + /** * Delete Started */ @@ -34,10 +30,6 @@ class Fixtures Notice::note("Deleted: $info"); } - self::$elements = LoadElements::load(Nuh::$options['provider_id']); - - self::$groups = LoadGroups::load(Nuh::$options['provider_id']); - $country_map = Country::pluck('id', 'iso2'); $sportmap = Sport::map('bapi', 0, [1]); @@ -100,7 +92,7 @@ class Fixtures 'group_cc' => strtoupper($row['league']['cc']) ?? '', ]; - FindFixture::search($event, self::$groups[$sport_id], self::$elements[$sport_id]); + FindFixture::find($event); } } } diff --git a/app/Console/Commands/Grapper/Fixtures/FindFixture.php b/app/Console/Commands/Grapper/Fixtures/FindFixture.php index 64e299fc..9dae3871 100644 --- a/app/Console/Commands/Grapper/Fixtures/FindFixture.php +++ b/app/Console/Commands/Grapper/Fixtures/FindFixture.php @@ -1,9 +1,8 @@ value('id'); + $match = Event::where('betradar_id', $betradar_id)->first(); } else { switch ($event['provider_id']) { case 2: // BETSAPI - $match_id = Event::where('betsapi_id', '=', $event_id)->value('id'); + $match = Event::where('betsapi_id', '=', $event_id)->first(); break; case 3: // MAGLOO KENIA - $match_id = Event::where('magken_id', $event_id)->value('id'); + $match = Event::where('magken_id', $event_id)->first(); break; case 4: // MAGLOO NIGERIA - $match_id = Event::where('magnig_id', $event_id)->value('id'); + $match = Event::where('magnig_id', $event_id)->first(); break; case 5: // LOGIFUTUR NIGERA - $match_id = Event::where('lognig_id', $event_id)->value('id'); + $match = Event::where('lognig_id', $event_id)->first(); break; case 6: // LOGIFUTUR COLOMBIA - $match_id = Event::where('logcol_id', $event_id)->value('id'); + $match = Event::where('logcol_id', $event_id)->first(); break; } } - if ($match_id) { + if ($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) { + Event::where('id', $match->id)->update($update_array); + } + + StoreData::store($event, $match); + Mapper::where('event_id', $event_id)->delete(); - $event['id'] = $match_id; + $event['id'] = $match->id; return; } /************************************************* - * USE DB + * FIND *************************************************/ - $home_id = $elements[$event['home_id']] ?? 0; - - $away_id = $elements[$event['away_id']] ?? 0; - - $competition_group_id = $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; - $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; - $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; - $group['name'] = $event['group']; - CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group); - } - - $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; - } - - // event_id - switch ($event['provider_id']) { - case 3: - // MAGLOO KENIA - if (! $match->magken_id) { - $update_array['magken_id'] = $event_id; - } - break; - case 4: - // MAGLOO NIGERIA - if (! $match->magnig_id) { - $update_array['magnig_id'] = $event_id; - } - break; - case 5: - // LOGIFUTUR NIGERA - if (! $match->lognig_id) { - $update_array['lognig_id'] = $event_id; - } - break; - case 6: - // LOGIFUTUR COLOMBIA - if (! $match->logcol_id) { - $update_array['logcol_id'] = $event_id; - } - break; - } - - if ($update_array) { - Event::where('id', $match_id)->update($update_array); - } - $startime = $event['starttime']; $from = Carbon::createFromDate($startime)->subDay(); $to = Carbon::createFromDate($startime)->addDay(); - if ($find_by_name) { - $home_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']]) - ->where('provider_id', $event['provider_id']) - ->where('name', $home) - ->value('element_id'); - $away_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']]) - ->where('provider_id', $event['provider_id']) - ->where('name', $away) - ->value('element_id'); - $competition_group_id = CompetitionGroupProvider::where(['sport_id' => (int) $event['sport_id']]) - ->where('provider_id', $event['provider_id']) - ->where('name', $groupname) - ->value('competition_group_id'); - } + $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) { @@ -204,33 +139,34 @@ class FindFixture $update_array['bet365_id'] = $bet365_id; } + switch ($event['provider_id']) { + case 2: + // BETSAPI + $update_array['betsapi_id'] = $event_id; + break; + case 3: + // MAGLOO KENIA + $update_array['magken_id'] = $event_id; + break; + case 4: + // MAGLOO NIGERIA + $update_array['magnig_id'] = $event_id; + break; + case 5: + // LOGIFUTUR NIGERA + $update_array['lognig_id'] = $event_id; + break; + case 6: + // LOGIFUTUR COLOMBIA + $update_array['logcol_id'] = $event_id; + break; + default: + } + if ($update_array) { Event::where('id', $match_id)->update($update_array); } - switch ($event['provider_id']) { - case 2: - // BETSAPI - Event::where('id', $match_id)->update(['betsapi_id' => $event_id]); - break; - case 3: - // MAGLOO KENIA - Event::where('id', $match_id)->update(['magken_id' => $event_id]); - break; - case 4: - // MAGLOO NIGERIA - Event::where('id', $match_id)->update(['magnig_id' => $event_id]); - break; - case 5: - // LOGIFUTUR NIGERA - Event::where('id', $match_id)->update(['lognig_id' => $event_id]); - break; - case 6: - // LOGIFUTUR COLOMBIA - Event::where('id', $match_id)->update(['logcol_id' => $event_id]); - break; - default: - } } else { Mapper::updateOrCreate(['event_id' => $event_id], $event); } @@ -238,6 +174,5 @@ class FindFixture Mapper::updateOrCreate(['event_id' => $event_id], $event); } - $event['id'] = $match_id; } } diff --git a/app/Mapper/LoadElements.php b/app/Console/Commands/Grapper/Fixtures/LoadElements.php similarity index 91% rename from app/Mapper/LoadElements.php rename to app/Console/Commands/Grapper/Fixtures/LoadElements.php index f785542a..3d47fdd5 100644 --- a/app/Mapper/LoadElements.php +++ b/app/Console/Commands/Grapper/Fixtures/LoadElements.php @@ -1,6 +1,6 @@ home_id ?? 0; + $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; + $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; + $group['name'] = $event['group']; + CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group); + } + } +} diff --git a/app/Mapper/StoreElement.php b/app/Console/Commands/Grapper/Fixtures/StoreElement.php similarity index 90% rename from app/Mapper/StoreElement.php rename to app/Console/Commands/Grapper/Fixtures/StoreElement.php index b0ee6991..2269bc7c 100644 --- a/app/Mapper/StoreElement.php +++ b/app/Console/Commands/Grapper/Fixtures/StoreElement.php @@ -1,6 +1,6 @@