Files
nuhodds_fi4/app/Console/Commands/Grapper/Logifuture/Soccer.php
T
2026-01-12 06:35:35 +01:00

138 lines
4.0 KiB
PHP

<?php
namespace App\Console\Commands\Grapper\Logifuture;
use App\Console\Commands\Nuh;
use App\Models\Odds3way;
use App\Models\OddsDc;
use App\Models\OddsGgng;
use App\Models\OddsTotal;
use App\Models\OddsTq;
use App\Utilities\Margin;
class Soccer
{
public static function get(&$event, $match)
{
$_3way = [];
$_total = [];
$_ggng = [];
$_dc = [];
$_tq = [];
foreach ($match['odds'] as $name => $value) {
switch ($name) {
case 'S_1X2_1':
$_3way['h3w'] = (float) $value;
break;
case 'S_1X2_X':
$_3way['d3w'] = (float) $value;
break;
case 'S_1X2_2':
$_3way['a3w'] = (float) $value;
break;
case 'S_OU@2.5_O':
$_total['over'] = (float) $value;
break;
case 'S_OU@2.5_U':
$_total['under'] = (float) $value;
break;
case 'S_GGNG_Y':
$_ggng['gg'] = (float) $value;
break;
case 'S_GGNG_N':
$_ggng['ng'] = (float) $value;
break;
// case 'S_DNB_1':
// break;
// case 'S_DNB_2':
// break;
case 'S_DC_12':
$_dc['dc12'] = (float) $value;
break;
case 'S_DC_1X':
$_dc['dc1x'] = (float) $value;
break;
case 'S_DC_X2':
$_dc['dcx2'] = (float) $value;
break;
case 'S_12QUALIFY_1':
$_tq['htq'] = (float) $value;
break;
case 'S_12QUALIFY_2':
$_tq['atq'] = (float) $value;
break;
}
}
$base = [];
$base['sport_id'] = $event['sport_id'];
$base['provider_id'] = Nuh::$options['provider_id'];
$base['bmoid'] = $event['event_id'];
$base['flag'] = 1;
// 1x2
if (\count($_3way) == 3) {
$_3way['margin'] = (float) Margin::calculate($_3way, 1);
$_3way['starttime'] = $event['starttime'];
Odds3way::updateOrCreate([
'event_id' => $event['id'],
'bookmaker_id' => $event['bookmaker_id'],
], $base + $_3way);
}
// OU
if (\count($_total) == 2) {
$_total['margin'] = (float) Margin::calculate($_total, 1);
$_total['total'] = 2.5;
$_total['starttime'] = $event['starttime'];
$_total['active_spread'] = 1;
OddsTotal::updateOrCreate([
'event_id' => $event['id'],
'bookmaker_id' => $event['bookmaker_id'],
], $base + $_total);
}
// GG NG
if (\count($_ggng) == 2) {
$_ggng['margin'] = (float) Margin::calculate($_ggng, 1);
$_ggng['starttime'] = $event['starttime'];
OddsGgng::updateOrCreate([
'event_id' => $event['id'],
'bookmaker_id' => $event['bookmaker_id'],
], $base + $_ggng);
}
// DC
if (\count($_dc) == 3) {
$_dc['margin'] = (float) Margin::calculate($_dc, 1);
$_dc['starttime'] = $event['starttime'];
OddsDc::updateOrCreate([
'event_id' => $event['id'],
'bookmaker_id' => $event['bookmaker_id'],
], $base + $_dc);
}
// TQ
if (\count($_tq) == 2) {
$_tq['margin'] = (float) Margin::calculate($_tq, 1);
$_tq['starttime'] = $event['starttime'];
OddsTq::updateOrCreate([
'event_id' => $event['id'],
'bookmaker_id' => $event['bookmaker_id'],
], $base + $_tq);
}
}
}