This commit is contained in:
salam committed 2025-12-01 21:50:23 +01:00
1 parent 419148cd18
commit 7abcc5c56c
75 files changed
+32250 -127794

No files matched your search

+191 -182
View File
@@ -6,6 +6,7 @@ use App\Console\Commands\Curl;
use App\Console\Commands\Grapper\Helper;
use App\Console\Commands\NuhBash;
use App\Models\Event;
use App\Models\EventBookmaker;
use App\Models\Odds3way;
use App\Models\OddsQualify;
use App\Models\OddsTotal;
@@ -17,7 +18,11 @@ class Odds
public static function grap()
{
Notice::note('txodd odd sport: '.NuhBash::$options['sport_id'], 'b');
$debug = NuhBash::$options['d'] ?? 0;
if ($debug) {
Notice::note('txodd odd sport: '.NuhBash::$options['sport_id'], 'b');
}
/*************************************************
* SINGLE SOCCER
@@ -120,207 +125,211 @@ class Odds
*************************************************/
foreach ($_calls as $url) {
$json_obj = Curl::load($url, $debug);
$json_obj = Curl::load($url);
$e = [];
foreach ($json_obj['match'] as $match) {
foreach ($json_obj['match'] as $key => $v) {
$e = [];
Notice::note($key, 'b');
foreach ($match as $key => $v) {
switch ($key) {
case '@attributes':
$e['id'] = (int) $v['id'];
break;
// if ($debug) {
// Notice::note($key, 'b');
// }
case 'time':
$e['time'] = $v;
break;
switch ($key) {
case 'group':
$e['liga'] = $v['@attributes']['cname'];
$e['liid'] = $v['@attributes']['id'];
$e['cgid'] = $v['@attributes']['cgid'];
$e['spid'] = $v['@attributes']['spid'];
$e['mgid'] = $v['@attributes']['mgid'];
$e['cnid'] = $v['@attributes']['cnid'];
break;
case '@attributes':
$e['id'] = (int) $v['id'];
break;
case 'hteam':
$e['hoid'] = $v['@attributes']['id'];
$e['home'] = $v['@text'];
break;
case 'time':
$starttime = Carbon::createFromDate($v)->toDateTimeString();
break;
case 'ateam':
$e['awid'] = $v['@attributes']['id'];
$e['away'] = $v['@text'];
break;
case 'group':
case 'bookmaker':
$e['sport_id'] = (int) $v['@attributes']['spid'];
$e['country_id'] = (int) $v['@attributes']['cnid'];
$e['group_id'] = (int) $v['@attributes']['id'];
$e['competition_group_id'] = (int) $v['@attributes']['cgid'];
break;
foreach ($v as $books) {
case 'hteam':
$e['home_id'] = $v['@attributes']['id'];
break;
foreach ($books as $bkey => $book) {
case 'ateam':
$e['away_id'] = $v['@attributes']['id'];
switch ($bkey) {
case '@attributes':
$bname = $book['name'];
$bkmid = (int) $book['bid'];
$e['odds'][$bkmid]['name'] = $bname;
break;
case 'offer':
$event = Event::firstOrCreate($e, ['starttime' => $starttime]);
break;
foreach ($book as $offer) {
foreach ($offer as $type => $od) {
case 'bookmaker':
switch ($type) {
case '@attributes':
$bettypeid = (int) $od['ot'];
dd('add to event bookmaker missing');
// 'book_startime' => $od['@attributes']['starting_time'],
$bmoid = $od['bmoid'];
break;
case 'odds':
switch ($bettypeid) {
case '0':
Odds3way::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
],
[
'start' => $od['@attributes']['starting_time'],
'h3w' => (float) $od['o1'],
'd3w' => (float) $od['o2'],
'a3w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
foreach ($v as $books) {
case '1':
Odds2way::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
],
[
'start' => $od['@attributes']['starting_time'],
'h2w' => (float) $od['o1'],
'a2w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
foreach ($books as $bookkey => $book) {
case '4':
OddsTotal::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
'spread' => (float) $od['o3'],
],
[
'start' => $od['@attributes']['starting_time'],
'over' => (float) $od['o1'],
'under' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
$bkmid = false;
case '5242880':
OddsDc::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
],
[
'start' => $od['@attributes']['starting_time'],
'dc1x' => (float) $od['o1'],
'dc12' => (float) $od['o2'],
'dc2x' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '11534337':
OddsGgng::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
],
[
'start' => $od['@attributes']['starting_time'],
'gg' => (float) $od['o1'],
'ng' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '11534337':
OddsQualify::updateOrCreate(
[
'event_id' => $e['id'],
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'bmoid' => $bmoid,
],
[
'start' => $od['@attributes']['starting_time'],
'htq' => (float) $od['o1'],
'atq' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
}
break;
}
switch ($bookkey) {
case '@attributes':
if (isset($book['bid'])) {
$bkmid = (int) $book['bid'];
}
}
break;
case 'offer':
if ($bkmid) {
foreach ($book as $type => $od) {
switch ($type) {
case '@attributes':
$bettypeid = (int) $od['ot'];
$bmoid = (int) $od['bmoid'];
break;
case 'odds':
switch ($bettypeid) {
case '0':
Odds3way::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'h3w' => (float) $od['o1'],
'd3w' => (float) $od['o2'],
'a3w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
EventBookmaker::updateOrCreate([
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'bmoid' => $bmoid,
], [
'bkm_starttime' => Carbon::createFromDate($od['@attributes']['starting_time'])->toDateTimeString(),
'last_check_at' => Carbon::now()->toDateTimeString(),
]);
break;
case '1':
Odds2way::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'h2w' => (float) $od['o1'],
'a2w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '4':
OddsTotal::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'spread' => (float) $od['o3'],
],
[
'over' => (float) $od['o1'],
'under' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '5242880':
OddsDc::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'dc1x' => (float) $od['o1'],
'dc12' => (float) $od['o2'],
'dc2x' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '11534337':
OddsGgng::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'gg' => (float) $od['o1'],
'ng' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
case '11534337':
OddsQualify::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'htq' => (float) $od['o1'],
'atq' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
}
break;
}
}
break;
}
}
}
}
}
break;
break;
}
}
}
}