$sport_id) { $url = Nuh::$options['base_url'].'/1/prematch/sport/'.$magloo_sport_id.'/odds'; $data = Curl::load($url); if (! is_array($data) or \count($data) == 0) { Notice::note('no data in feed', 'r', 1); return; } foreach ($data as $match) { $betradar_id = (int) preg_replace('/\D/', '', $match['p']); $starttime = Carbon::parse($match['dt'])->toDateTimeString(); $event_id = Event::where('betradar_id', $betradar_id)->value('id'); if ($event_id) { $base = []; $base['sport_id'] = $sport_id; $base['provider_id'] = Nuh::$options['provider_id']; $base['bmoid'] = preg_replace('/\D/', '', $match['i']); $base['flag'] = 1; $event_id_collector[] = $event_id; EventBookmaker::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], ['in_feed' => 1, 'bmoid' => $base['bmoid']]); // if ($event_id == 13913478) { // dd($match['M']); // } foreach ($match['M'] as $magloo_bettype_id => $value) { switch ($magloo_bettype_id) { case 1: // 1x2 $odds = []; $odds['h3w'] = $value['static'][1] ?? 1; $odds['d3w'] = $value['static'][2] ?? 1; $odds['a3w'] = $value['static'][3] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); $odds['starttime'] = $starttime; Odds3way::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 2: // to qalify $odds = []; $odds['htq'] = $value['static'][4] ?? 1; $odds['atq'] = $value['static'][5] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsTq::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 10: // double chance $odds = []; $odds['dc1x'] = $value['static'][9] ?? 1; $odds['dc12'] = $value['static'][10] ?? 1; $odds['dcx2'] = $value['static'][11] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsDc::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 27: // ggng $odds = []; $odds['gg'] = $value['static'][74] ?? 1; $odds['ng'] = $value['static'][76] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsDc::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 16: case 2000: // points $odds = FilterHandicap::get($value); $odds['starttime'] = $starttime; OddsPoint::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 2025: // points qt $odds = FilterHandicapQ1::get($value); OddsPointQ1::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 17: case 2002: // totals $odds = FilterTotals::get($value, $sport_id); if ($base['sport_id'] == 1) { $odds['active_spread'] = 1; } OddsTotal::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; case 2012: // totals qt $odds = FilterTotalsQ1::get($value, $sport_id); OddsTotalQ1::updateOrCreate([ 'event_id' => $event_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], $base + $odds); break; } } } } } EventBookmaker::whereNotIn('event_id', $event_id_collector) ->where('bookmaker_id', Nuh::$options['bookmaker_id']) ->update(['in_feed' => 0]); } }