magloo grapper fix

This commit is contained in:
salam committed 2026-02-22 14:41:29 +01:00
1 parent 57a2d75b57
commit f424f33c32
9 files changed
+215 -176

No files matched your search

@@ -9,6 +9,7 @@ use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh;
use App\Models\Event;
use App\Models\Mapper;
use App\Models\Sport;
use App\Utilities\Notice;
use Carbon\Carbon;
@@ -21,57 +22,64 @@ class MaglooKeniaAll
{
$debug = Nuh::$options['d'] ?? 0;
$provider_id = 3;
if ($debug) {
Notice::note(Nuh::$options['name'].' '.Nuh::$options['sport'], 'g');
Notice::note(Nuh::$options['name'], 'g');
}
$mappers = Mapper::where('provider_id', 2)->where('sport_id', 5)->where('starttime', '>', Carbon::now())->get()->toArray();
$sports = Sport::map('magl');
foreach ($mappers as $mapper) {
foreach ($sports as $sport_id) {
FindElement::run($mapper);
$mappers = Mapper::where('provider_id', $provider_id)->where('sport_id', $sport_id)->where('starttime', '>', Carbon::now())->get()->toArray();
FindGroup::run($mapper);
foreach ($mappers as $mapper) {
if ($debug) {
Notice::note($mapper, 'b');
}
FindElement::run($mapper);
if ($mapper['txodds_home_id'] && $mapper['txodds_away_id'] && $mapper['txodds_group_id']) {
FindGroup::run($mapper);
$from = Carbon::createFromDate($mapper['starttime'])->subDay();
$to = Carbon::createFromDate($mapper['starttime'])->addDay();
if ($debug) {
Notice::note($mapper, 'b');
}
$event = Event::whereDate('starttime', '>', $from)
->whereDate('starttime', '<', $to)
->where('home_id', $mapper['txodds_home_id'])
->where('away_id', $mapper['txodds_away_id'])
->where('competition_group_id', $mapper['txodds_group_id'])
->first();
if ($mapper['txodds_home_id'] && $mapper['txodds_away_id'] && $mapper['txodds_group_id']) {
if ($event) {
StoreElement::store($mapper);
$from = Carbon::createFromDate($mapper['starttime'])->subDay();
$to = Carbon::createFromDate($mapper['starttime'])->addDay();
StoreGroup::store($mapper);
$event = Event::whereDate('starttime', '>', $from)
->whereDate('starttime', '<', $to)
->where('home_id', $mapper['txodds_home_id'])
->where('away_id', $mapper['txodds_away_id'])
->where('competition_group_id', $mapper['txodds_group_id'])
->first();
$arr = [];
if ($mapper['bet365_id']) {
$arr['bet365_id'] = $mapper['bet365_id'];
}
if ($mapper['betradar_id']) {
$arr['betradar_id'] = $mapper['betradar_id'];
}
if ($mapper['betsapi_id']) {
$arr['betsapi_id'] = $mapper['betsapi_id'];
}
if ($arr) {
Event::where('id', $event->id)->update($arr);
if ($event) {
StoreElement::store($mapper);
Mapper::where('id', $mapper['id'])->delete();
}
StoreGroup::store($mapper);
if ($debug) {
Notice::note($event->toArray(), 'g');
$arr = [];
if ($mapper['bet365_id']) {
$arr['bet365_id'] = $mapper['bet365_id'];
}
if ($mapper['betradar_id']) {
$arr['betradar_id'] = $mapper['betradar_id'];
}
if ($mapper['betsapi_id']) {
$arr['betsapi_id'] = $mapper['betsapi_id'];
}
if ($arr) {
Event::where('id', $event->id)->update($arr);
Mapper::where('id', $mapper['id'])->delete();
}
if ($debug) {
Notice::note($event->toArray(), 'g');
}
}
}
}
@@ -9,6 +9,7 @@ use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh;
use App\Models\Event;
use App\Models\Mapper;
use App\Models\Sport;
use App\Utilities\Notice;
use Carbon\Carbon;
@@ -22,9 +23,12 @@ class MaglooNigeriaAll
$debug = Nuh::$options['d'] ?? 0;
if ($debug) {
Notice::note(Nuh::$options['name'].' '.Nuh::$options['sport'], 'g');
Notice::note(Nuh::$options['name'], 'g');
}
$sports = Sport::map('magl');
dd($sports);
$mappers = Mapper::where('provider_id', 2)->where('sport_id', 5)->where('starttime', '>', Carbon::now())->get()->toArray();
foreach ($mappers as $mapper) {
@@ -15,6 +15,22 @@ class FindFixture
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);
@@ -118,7 +134,7 @@ class FindFixture
return;
}
if (in_array(Nuh::$options['provider_id'], [5, 6, 9])) {
if (in_array(Nuh::$options['provider_id'], [3, 4, 5, 6, 9, 10])) {
Mapper::updateOrCreate(['event_id' => $event_id], $event);
}
@@ -21,9 +21,9 @@ class Fixtures
FindFixture::start();
$event_id_collector = [];
$sportmap = Sport::map('magl', false, [1, 3]);
$sportmap = Sport::map('magl', 1, [1, 3]);
// dd($sportmap);
if ($proxy) {
Notice::note('PROXY USED', 'r');
@@ -33,88 +33,99 @@ class Fixtures
Notice::note(Nuh::$options['provider'].' '.Nuh::$options['name'], 'g');
}
/**
* Tornaments
*/
$url = Nuh::$options['base_url'].'/en/1/prematch/sport';
foreach ($sportmap as $sport_id => $magloo_sport_id) {
$data = Curl::load($url);
$event_id_collector = [];
/**
* Tornaments
*/
$url = Nuh::$options['base_url'].'/en/'.$magloo_sport_id.'/prematch/sport';
if (! is_array($data) or \count($data) == 0) {
Notice::note('no data in feed', 'r', 1);
$data = Curl::load($url);
return;
}
if (is_array($data) or \count($data)) {
$ligas = [];
foreach ($data as $value) {
$magloo_sport_id = (int) $value['i'];
if (array_key_exists($magloo_sport_id, $sportmap)) {
$tmp = [];
$tmp['sport'] = $value['n'];
$tmp['sport_id'] = $sportmap[$magloo_sport_id];
$tmp['magloo_sport_id'] = $magloo_sport_id;
foreach ($value['C'] as $key => $val1) {
$tmp['country_id'] = $val1['i'];
$tmp['country'] = $val1['n'];
foreach ($val1['T'] as $key => $val2) {
$tmp['group_id'] = $val2['i'];
$tmp['group'] = $val2['n'];
$ligas[] = $tmp;
$ligas = [];
foreach ($data as $value) {
$tmp = [];
if ($value['i'] == $magloo_sport_id) {
$tmp['sport'] = $value['n'];
$tmp['sport_id'] = $sport_id;
foreach ($value['C'] as $key => $val1) {
$tmp['country_id'] = $val1['i'];
$tmp['country'] = $val1['n'];
foreach ($val1['T'] as $key => $val2) {
$tmp['group_id'] = $val2['i'];
$tmp['group'] = $val2['n'];
$ligas[] = $tmp;
}
}
}
}
}
}
foreach ($ligas as $liga) {
if ($liga['group'] && strpos($liga['group'], 'Simulated') === false) {
foreach ($ligas as $liga) {
$sport_id = $liga['sport_id'];
// 19 => array:6 [
// "sport" => "Basketball"
// "sport_id" => 3
// "country_id" => 146
// "country" => "Israel"
// "group_id" => 525
// "group" => "Super League"
// ]
$url = Nuh::$options['base_url'].'/en/1/prematch/tournament/'.$liga['group_id'].'/event';
if ($liga['group'] && strpos($liga['group'], 'Simulated') === false) {
$data = Curl::load($url);
$sport_id = $liga['sport_id'];
if (! count($data)) {
return;
}
$url = Nuh::$options['base_url'].'/en/'.$magloo_sport_id.'/prematch/tournament/'.$liga['group_id'].'/event';
foreach ($data as $magloo) {
$data = Curl::load($url);
// print_r($magloo);
if (! count($data)) {
return;
}
$event = [];
$event['event_id'] = (int) $magloo['i'];
$event['betradar_id'] = (int) preg_replace('/\D/', '', $magloo['p']);
$event['sport_id'] = $sport_id;
$event['provider_id'] = Nuh::$options['provider_id'];
$event['country_id'] = $liga['country_id'];
$event['country'] = $liga['country'];
$event['group_id'] = $liga['group_id'];
$event['group'] = $liga['group'];
$event['starttime'] = Carbon::parse($magloo['dt'])->toDateTimeString();
$teams = explode(' v ', str_replace('|', ' ', $magloo['n']));
$event['home_id'] = $magloo['htId'];
$event['home'] = addslashes($teams[0]);
$event['away_id'] = $magloo['atId'];
$event['away'] = addslashes($teams[1]);
foreach ($data as $magloo) {
FindFixture::find($event);
$event = [];
$event['event_id'] = (int) $magloo['i'];
$event['betradar_id'] = (int) preg_replace('/\D/', '', $magloo['p']);
$event['sport_id'] = $sport_id;
$event['provider_id'] = Nuh::$options['provider_id'];
$event['country_id'] = $liga['country_id'];
$event['country'] = $liga['country'];
$event['group_id'] = $liga['group_id'];
$event['group'] = $liga['group'];
$event['starttime'] = Carbon::parse($magloo['dt'])->toDateTimeString();
$teams = explode(' v ', str_replace('|', ' ', $magloo['n']));
$event['home_id'] = $magloo['htId'];
$event['home'] = addslashes($teams[0]);
$event['away_id'] = $magloo['atId'];
$event['away'] = addslashes($teams[1]);
if (isset($event['id'])) {
DB::transaction(function () use ($event, $sport_id) {
EventBookmaker::updateOrCreate([
'event_id' => $event['id'],
'sport_id' => $sport_id,
'bookmaker_id' => Nuh::$options['bookmaker_id'],
], ['in_feed' => 1, 'bmoid' => $event['event_id'], 'starttime' => $event['starttime']]);
}, 5);
FindFixture::find($event);
if (isset($event['id'])) {
$event_id_collector[] = $event['id'];
DB::transaction(function () use ($event, $sport_id) {
EventBookmaker::updateOrCreate([
'event_id' => $event['id'],
'sport_id' => $sport_id,
'bookmaker_id' => Nuh::$options['bookmaker_id'],
], ['in_feed' => 1, 'bmoid' => $event['event_id'], 'starttime' => $event['starttime']]);
}, 5);
}
}
}
}
if ($event_id_collector) {
EventBookmaker::whereNotIn('event_id', $event_id_collector)->where('bookmaker_id', Nuh::$options['bookmaker_id'])->update(['in_feed' => 0]);
}
}
}
if ($event_id_collector) {
EventBookmaker::whereNotIn('event_id', $event_id_collector)->where('bookmaker_id', Nuh::$options['bookmaker_id'])->update(['in_feed' => 0]);
}
}
}