wip grapper

This commit is contained in:
salam committed 2025-12-06 10:18:04 +01:00
1 parent 90bba45c0a
commit ce46e5d107
34 files changed
+565 -2729

No files matched your search

+248 -214
View File
@@ -2,7 +2,6 @@
namespace App\Console\Commands\Grapper\TxOdds;
use App\Console\Commands\Grapper\Helper;
use App\Console\Commands\Grapper\TxOdds\Odds\_3Way;
use App\Console\Commands\Grapper\TxOdds\Odds\_Dc;
use App\Console\Commands\NuhBash;
@@ -23,8 +22,6 @@ use Carbon\Carbon;
class Odds
{
public static $event = [];
public static function grap()
{
@@ -140,7 +137,7 @@ class Odds
foreach ($data as $row) {
$event = [];
$event['id'] = (int) $row['id'];
$event['txodds_id'] = (int) $row['id'];
$event['starttime'] = Carbon::createFromDate((string) $row->time)->toDateTimeString();
$group_name = (string) $row->group;
$event['group_id'] = (int) $row->group['id'];
@@ -182,241 +179,278 @@ class Odds
'sport_id' => $event['sport_id'],
]);
Event::updateOrCreate($event, ['starttime' => $event['starttime']]);
NuhBash::$_event = Event::firstOrCreate($event, ['starttime' => $event['starttime']]);
foreach ($row->bookmaker as $book) {
$bkmid = $book['bid'];
$odds = [];
$odds['bookmaker_id'] = (int) $book['bid'];
NuhBash::$_event_bookmaker = [];
foreach ($book->offer as $offer) {
$bettypeid = (int) $offer['od'];
$bettypeid = 0;
foreach ($offer->attributes() as $attributeName => $attributeValue) {
switch ($attributeName) {
case 'id':
$odds['offer_id'] = (int) $attributeValue;
break;
case 'ot':
$bettypeid = (int) $attributeValue;
break;
case 'bmoid':
$odds['bmoid'] = (int) $attributeValue;
break;
case 'last_updated':
$odds['source_updated_at'] = Carbon::createFromDate((string) $attributeValue)->toDateTimeString();
break;
}
}
Notice::note($bettypeid, 'b');
switch ($bettypeid) {
case 0:
_3Way::grap($bkmid, $offer);
_3Way::grap($odds, $offer);
break;
case 5242880:
_Dc::grap($bkmid, $offer);
_Dc::grap($odds, $offer);
break;
default:
Notice::note($offer, 'r', 1);
Notice::note('ERROR Bettype ID not set: '.$bettypeid, 'r');
break;
}
}
}
}
foreach ($json_obj['match'] as $match) {
foreach (NuhBash::$_event_bookmaker as $value) {
self::$event = [];
foreach ($match as $key => $v) {
// if ($debug) {
// Notice::note($key, 'b');
// }
switch ($key) {
case '@attributes':
self::$event['id'] = (int) $v['id'];
break;
case 'time':
self::$event['starttime'] = Carbon::createFromDate($v)->toDateTimeString();
break;
case 'group':
self::$event['sport_id'] = (int) $v['@attributes']['spid'];
self::$event['country_id'] = (int) $v['@attributes']['cnid'];
self::$event['group_id'] = (int) $v['@attributes']['id'];
self::$event['competition_group_id'] = (int) $v['@attributes']['cgid'];
break;
case 'hteam':
self::$event['home_id'] = $v['@attributes']['id'];
break;
case 'ateam':
self::$event['away_id'] = $v['@attributes']['id'];
break;
case 'bookmaker':
Event::updateOrCreate(self::$event, ['starttime' => self::$event['starttime']]);
Notice::note(count($v), 'r');
if (count($v) <= 2) {
$bkmid = (int) $v['@attributes']['bid'];
Notice::note($v, 'p');
} else {
foreach ($v as $books) {
Notice::note($books, 'b');
$bkmid = (int) $books['@attributes']['bid'];
// foreach ($books['offer'] as $bk => $book) {
// 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;
}
if ($debug) {
Notice::note('Event Bookmaker', 'b');
}
EventBookmaker::updateOrCreate([
'event_id' => NuhBash::$_event->id,
'bookmaker_id' => $odds['bookmaker_id'],
], [
'bmoid' => $value['bmoid'],
'provider_id' => 2,
'bkm_starttime' => Carbon::createFromDate($value['starttime'])->toDateTimeString(),
'last_check_at' => Carbon::now()->toDateTimeString(),
]);
}
}
Notice::note('END', 'r', 1);
}
// foreach ($json_obj['match'] as $match) {
// self::$event = [];
// foreach ($match as $key => $v) {
// // if ($debug) {
// // Notice::note($key, 'b');
// // }
// switch ($key) {
// case '@attributes':
// self::$event['id'] = (int) $v['id'];
// break;
// case 'time':
// self::$event['starttime'] = Carbon::createFromDate($v)->toDateTimeString();
// break;
// case 'group':
// self::$event['sport_id'] = (int) $v['@attributes']['spid'];
// self::$event['country_id'] = (int) $v['@attributes']['cnid'];
// self::$event['group_id'] = (int) $v['@attributes']['id'];
// self::$event['competition_group_id'] = (int) $v['@attributes']['cgid'];
// break;
// case 'hteam':
// self::$event['home_id'] = $v['@attributes']['id'];
// break;
// case 'ateam':
// self::$event['away_id'] = $v['@attributes']['id'];
// break;
// case 'bookmaker':
// Event::updateOrCreate(self::$event, ['starttime' => self::$event['starttime']]);
// Notice::note(count($v), 'r');
// if (count($v) <= 2) {
// $bkmid = (int) $v['@attributes']['bid'];
// Notice::note($v, 'p');
// } else {
// foreach ($v as $books) {
// Notice::note($books, 'b');
// $bkmid = (int) $books['@attributes']['bid'];
// // foreach ($books['offer'] as $bk => $book) {
// // 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;
// }
// }
// }
// Notice::note('END', 'r', 1);
// }
}
}
}