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(); $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(); $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(); $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(); $match = Event::where('id', $res->event_id)->first(); break; } } 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); } 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'], [5, 6, 9])) { Mapper::updateOrCreate(['event_id' => $event_id], $event); return; } /************************************************* * FIND *************************************************/ $startime = $event['starttime']; $from = Carbon::createFromDate($startime)->subDay(); $to = Carbon::createFromDate($startime)->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->toDateTimeString()) ->where('starttime', '<', $to->toDateTimeString()) ->value('id'); if ($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); } } }