138 lines
4.0 KiB
PHP
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);
|
|
}
|
|
}
|
|
}
|