50 lines
1.6 KiB
PHP
50 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Grapper\Logifuture\Tools;
|
|
|
|
use App\Models\OddsTotalQ1;
|
|
use App\Utilities\Margin;
|
|
|
|
class LogifutureStoreTotalsQ1
|
|
{
|
|
public static function store(&$_spreads, $base)
|
|
{
|
|
ActiveHandicap::set($_spreads);
|
|
|
|
foreach ($_spreads as $total => $value) {
|
|
// code...
|
|
$odds = [];
|
|
$odds['over'] = $value['ele1'];
|
|
$odds['under'] = $value['ele2'];
|
|
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
|
$odds['active_spread'] = $value['active_spread'];
|
|
$odds['flags'] = 1;
|
|
$odds['total'] = $total;
|
|
$odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']);
|
|
|
|
$odds = array_merge($odds, $base);
|
|
|
|
$res = OddsTotalQ1::where('event_id', $base['event_id'])
|
|
->where('bookmaker_id', $base['bookmaker_id'])
|
|
->where('total', $odds['total'])
|
|
->first();
|
|
|
|
if (! $res) {
|
|
OddsTotalQ1::create($odds);
|
|
} else {
|
|
$res->over = number_format($odds['over'], 2);
|
|
$res->under = number_format($odds['under'], 2);
|
|
$res->total = number_format($odds['total'], 2);
|
|
$res->active_spread = $odds['active_spread'];
|
|
$res->difference = $odds['difference'];
|
|
$res->flags = 1;
|
|
$res->margin = $odds['margin'];
|
|
DB::transaction(function () use ($res) {
|
|
$res->save();
|
|
}, 5);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|