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) ->whereDate('starttime', '>', $from) ->whereDate('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); } } } }