Files
nuhodds_fi4/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php
T
2026-02-07 07:08:58 +01:00

57 lines
1.5 KiB
PHP

<?php
namespace App\Console\Commands\Grapper\TxOdds\Odds;
use App\Console\Commands\Grapper\TxOdds\Odds\Tools\ActiveSpread;
use App\Console\Commands\Nuh;
use App\Models\OddsTotalHt;
use App\Utilities\DatabaseFunctions;
use App\Utilities\Margin;
class _TotalsHt
{
public static function grap($odds, $offer)
{
$block_update = Nuh::$options['b'] ?? 0;
foreach ($offer as $value) {
$odds['over'] = (float) $value->o1;
$odds['under'] = (float) $value->o2;
$odds['total'] = (float) $value->o3;
}
if ($odds['sport_id'] == 1) {
if ((float) $odds['total'] != 2.5) {
return;
}
} else {
if (fmod((float) $odds['total'], 1) != 0.5) {
return;
}
}
$odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']);
$odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1);
$res = OddsTotalHt::where('event_id', $odds['event_id'])
->where('bookmaker_id', $odds['bookmaker_id'])
->where('total', $odds['total'])
->first();
if (! $res) {
OddsTotalHt::create($odds);
} elseif (! $block_update) {
$res->over = $odds['over'];
$res->under = $odds['under'];
$res->flags = 1;
$res->margin = $odds['margin'];
DatabaseFunctions::save_update($res);
}
ActiveSpread::collect($odds, 'odds_totals_ht');
}
}