45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Grapper\TxOdds\Odds;
|
|
|
|
use App\Console\Commands\Grapper\TxOdds\Odds\Tools\ActiveSpread;
|
|
use App\Models\OddsPointHt;
|
|
use App\Utilities\Margin;
|
|
|
|
class _PointsHt
|
|
{
|
|
public static function grap($odds, $offer)
|
|
{
|
|
foreach ($offer as $value) {
|
|
$odds['home'] = (float) $value->o1;
|
|
$odds['away'] = (float) $value->o2;
|
|
$odds['handicap'] = (float) $value->o3;
|
|
}
|
|
|
|
if (fmod((float) $odds['handicap'], 1) != 0.5) {
|
|
return;
|
|
}
|
|
|
|
$odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']);
|
|
|
|
$odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1);
|
|
|
|
$res = OddsPointHt::where('event_id', $odds['event_id'])
|
|
->where('bookmaker_id', $odds['bookmaker_id'])
|
|
->where('handicap', $odds['handicap'])
|
|
->first();
|
|
|
|
if (! $res) {
|
|
OddsPointHt::create($odds);
|
|
} else {
|
|
$res->home = $odds['home'];
|
|
$res->away = $odds['away'];
|
|
$res->flags = 1;
|
|
$res->margin = $odds['margin'];
|
|
$res->save();
|
|
}
|
|
|
|
ActiveSpread::collect($odds, 'odds_points_ht');
|
|
}
|
|
}
|