grapper logifuture wip
This commit is contained in:
1 parent
0bee21dc2d
commit
91ec9d11cc
10 files changed
+480
-324
No files matched your search
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Console\Commands\Grapper;
|
||||
|
||||
use App\Console\Commands\Grapper\Logifuture\ActiveEvent;
|
||||
use App\Console\Commands\Grapper\Logifuture\Auth;
|
||||
use App\Console\Commands\Grapper\Logifuture\BaseUrl;
|
||||
use App\Console\Commands\Nuh;
|
||||
@@ -52,19 +53,80 @@ class Logifuture
|
||||
]);
|
||||
|
||||
$file = curl_exec($ch);
|
||||
$matches = json_decode($file, 1);
|
||||
|
||||
dd($file);
|
||||
if (! isset($matches['error'])) {
|
||||
|
||||
$data = json_decode($file, true);
|
||||
foreach ($matches as $match) {
|
||||
|
||||
dd($data);
|
||||
if (strpos($match['sportCategory'], 'Simulated Reality') === false) {
|
||||
|
||||
$event = ActiveEvent::filter($sportid, $match);
|
||||
|
||||
dd($event);
|
||||
|
||||
$_spreads = [];
|
||||
switch ($sportid) {
|
||||
case 1:
|
||||
Soccer::get($event, $match);
|
||||
break;
|
||||
case 2:
|
||||
Icehockey::get($event, $_spreads, $match);
|
||||
break;
|
||||
case 3:
|
||||
Basket::get($event, $_spreads, $match);
|
||||
break;
|
||||
case 5:
|
||||
Tennis::get($event, $_spreads, $match);
|
||||
break;
|
||||
|
||||
default:
|
||||
Notice::note('SPORT NOT IMPLEMENTED', 'r', 1);
|
||||
break;
|
||||
}
|
||||
|
||||
Parser::$_matches_array = [];
|
||||
Parser::$_matches_array[] = $event;
|
||||
|
||||
$matchid = Parser::processData(1);
|
||||
|
||||
if ($matchid) {
|
||||
|
||||
$event['matchid'] = $matchid;
|
||||
|
||||
if (isset($_spreads['point'])) {
|
||||
$tmp = $event + $_spreads['point'];
|
||||
DB_Parser::addPointOdds('bai_points', $matchid, $tmp);
|
||||
}
|
||||
|
||||
if (isset($_spreads['point_qt'])) {
|
||||
$tmp = $event + $_spreads['point_qt'];
|
||||
DB_Parser::addPointOdds('bai_points_qt', $matchid, $tmp);
|
||||
}
|
||||
|
||||
if (isset($_spreads['total'])) {
|
||||
$tmp = $event + $_spreads['total'];
|
||||
DB_Parser::addTotalOdds('bai_totals', $matchid, $tmp);
|
||||
}
|
||||
|
||||
if (isset($_spreads['total_qt'])) {
|
||||
$tmp = $event + $_spreads['total_qt'];
|
||||
DB_Parser::addTotalOdds('bai_totals_qt', $matchid, $tmp);
|
||||
}
|
||||
|
||||
if (isset($_spreads['mlset1'])) {
|
||||
$tmp = $event + $_spreads['mlset1'];
|
||||
DB_Parser::addTotalOdds('bai_2way_set1', $matchid, $tmp);
|
||||
}
|
||||
|
||||
if (Database::$debug) {
|
||||
Notice::note($event, 'y');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Parser::flagStatus($sportid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$header = [];
|
||||
$header[] = 'Authorization: Bearer '.$data['token'];
|
||||
$header[] = 'accept: application/json';
|
||||
$header[] = 'content-type: application/json';
|
||||
|
||||
return $header;
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
|
||||
class ActiveEvent
|
||||
{
|
||||
public static function filter($sportid, $match)
|
||||
{
|
||||
$event = [];
|
||||
$event['status'] = 1;
|
||||
$event['bmoid'] = (int) $match['id'];
|
||||
$event['bkmid'] = Nuh::$options['bookmaker_id'];
|
||||
$event['sportid'] = $sportid;
|
||||
$event['brmatchid'] = (int) preg_replace('"\D"', '', $match['externalId']);
|
||||
|
||||
$date = new DateTime($match['startDate'], new DateTimeZone('UTC'));
|
||||
$date->setTimezone(new DateTimeZone('Europe/Vienna'));
|
||||
$event['starttime'] = $date->getTimestamp();
|
||||
|
||||
$event['groupname'] = addslashes($match['tournamentName']);
|
||||
$event['groupid'] = (int) $match['tournamentId'];
|
||||
$event['country'] = addslashes($match['sportCategory']);
|
||||
$str = str_replace('||', '|', $match['description']);
|
||||
$str = trim(str_replace('|', ' ', $str));
|
||||
$event['event'] = addslashes($str);
|
||||
if (Nuh::$options['bookmaker_id'] == 36) {
|
||||
$teams = explode(' v ', $str);
|
||||
} else {
|
||||
$teams = explode(' - ', $str);
|
||||
}
|
||||
$event['home'] = addslashes($teams[0]);
|
||||
$event['away'] = addslashes($teams[1]);
|
||||
|
||||
return $event;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
class Basketball
|
||||
{
|
||||
public static function get(&$event, &$_spreads, $match)
|
||||
{
|
||||
$n_totals = [];
|
||||
$n_totals_qt = [];
|
||||
$n_points = [];
|
||||
$n_points_qt = [];
|
||||
|
||||
$c_totals = [];
|
||||
$c_totals_qt = [];
|
||||
$c_points = [];
|
||||
$c_points_qt = [];
|
||||
|
||||
foreach ($match['odds'] as $name => $value) {
|
||||
/*
|
||||
case 'B_1X2_1':
|
||||
$event['h3w'] = $value;
|
||||
break;
|
||||
case 'B_1X2_X':
|
||||
$event['d3w'] = $value;
|
||||
break;
|
||||
case 'B_1X2_2':
|
||||
$event['a3w'] = $value;
|
||||
break;
|
||||
|
||||
case 'B_12_1':
|
||||
$_bai_2way['h2w'] = $value;
|
||||
break;
|
||||
case 'B_12_2':
|
||||
$_bai_2way['a2w'] = $value;
|
||||
break;
|
||||
*/
|
||||
|
||||
if (strpos($name, '@') !== false) {
|
||||
$pos = strpos($name, '@');
|
||||
$market = substr($name, 0, $pos);
|
||||
|
||||
switch ($market) {
|
||||
// NIGERIA
|
||||
case 'B_OUN':
|
||||
$n_totals[$name] = $value;
|
||||
break;
|
||||
case 'B_1QOU':
|
||||
$n_totals_qt[$name] = $value;
|
||||
break;
|
||||
case 'B_H':
|
||||
$n_points[$name] = $value;
|
||||
break;
|
||||
case 'B_1QH':
|
||||
$n_points_qt[$name] = $value;
|
||||
break;
|
||||
|
||||
// COLOMBIA
|
||||
case 'B_OUHND':
|
||||
$c_totals[$name] = $value;
|
||||
break;
|
||||
case 'B_OUHND1P':
|
||||
$c_totals_qt[$name] = $value;
|
||||
break;
|
||||
case 'B_12HND':
|
||||
$c_points[$name] = $value;
|
||||
break;
|
||||
case 'B_12HND1P':
|
||||
$c_points_qt[$name] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// COLUMBIA
|
||||
if ($c_totals) {
|
||||
PrinzipalHandicap::filter($_spreads['total'], 'B_OUHND@', $c_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($c_totals_qt) {
|
||||
PrinzipalHandicap::filter($_spreads['total_qt'], 'B_OUHND1P@', $c_totals_qt, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($c_points) {
|
||||
PrinzipalHandicap::filter($_spreads['point'], 'B_12HND@', $c_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
if ($c_points_qt) {
|
||||
PrinzipalHandicap::filter($_spreads['point_qt'], 'B_12HND1P@', $c_points_qt, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
|
||||
// NIGERIA
|
||||
if ($n_totals) {
|
||||
PrinzipalHandicap::filter($_spreads['total'], 'B_OUN@', $n_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($n_totals_qt) {
|
||||
PrinzipalHandicap::filter($_spreads['total_qt'], 'B_1QOU@', $n_totals_qt, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($n_points) {
|
||||
PrinzipalHandicap::filter($_spreads['point'], 'B_H@', $n_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
if ($n_points_qt) {
|
||||
PrinzipalHandicap::filter($_spreads['point_qt'], 'B_1QH@', $n_points_qt, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
use App\Console\Commands\Curl;
|
||||
use App\Console\Commands\Grapper\Magloo\Odds\BaseUrl;
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Mapper\FindFixture;
|
||||
use App\Mapper\LoadElements;
|
||||
use App\Mapper\LoadGroups;
|
||||
use App\Models\Sport;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class Fixtures
|
||||
{
|
||||
public static $elements = [];
|
||||
|
||||
public static $groups = [];
|
||||
|
||||
public static function grap()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
$proxy = Nuh::$options['p'] ?? 0;
|
||||
|
||||
$sportmap = Sport::map('logi', 1, [1, 3]);
|
||||
|
||||
self::$elements = LoadElements::load(Nuh::$options['provider_id']);
|
||||
|
||||
self::$groups = LoadGroups::load(Nuh::$options['provider_id']);
|
||||
|
||||
if ($proxy) {
|
||||
Notice::note('PROXY USED', 'r');
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('FIXTURES '.Nuh::$options['process'], 'b');
|
||||
}
|
||||
|
||||
$base_url = BaseUrl::get();
|
||||
|
||||
/**
|
||||
* Tornaments
|
||||
*/
|
||||
$url = $base_url.'/sport';
|
||||
$data = Curl::load($url);
|
||||
if (! is_array($data) or \count($data) == 0) {
|
||||
Notice::note('no data in feed', 'r', 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$ligas = [];
|
||||
foreach ($data as $value) {
|
||||
$magloo_sport_id = (int) $value['i'];
|
||||
if (array_key_exists($magloo_sport_id, $sportmap)) {
|
||||
$tmp = [];
|
||||
$tmp['sport'] = $value['n'];
|
||||
$tmp['sport_id'] = $sportmap[$magloo_sport_id];
|
||||
$tmp['magloo_sport_id'] = $magloo_sport_id;
|
||||
foreach ($value['C'] as $key => $val1) {
|
||||
$tmp['country_id'] = $val1['i'];
|
||||
$tmp['country'] = $val1['n'];
|
||||
foreach ($val1['T'] as $key => $val2) {
|
||||
$tmp['group_id'] = $val2['i'];
|
||||
$tmp['group'] = $val2['n'];
|
||||
$ligas[] = $tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($ligas as $liga) {
|
||||
if ($liga['group'] && strpos($liga['group'], 'Simulated') === false) {
|
||||
|
||||
$sport_id = $liga['sport_id'];
|
||||
|
||||
$url = $base_url.'/tournament/'.$liga['group_id'].'/event';
|
||||
|
||||
$data = Curl::load($url);
|
||||
|
||||
foreach ($data as $magloo) {
|
||||
|
||||
// print_r($magloo);
|
||||
|
||||
$event = [];
|
||||
$event['event_id'] = (int) $magloo['i'];
|
||||
$event['betradar_id'] = (int) preg_replace('/\D/', '', $magloo['p']);
|
||||
$event['sport_id'] = $sport_id;
|
||||
$event['provider_id'] = Nuh::$options['provider_id'];
|
||||
$event['starttime'] = strtotime($magloo['dt']);
|
||||
$event['country_id'] = $liga['country_id'];
|
||||
$event['country'] = $liga['country'];
|
||||
$event['group_id'] = $liga['group_id'];
|
||||
$event['group'] = $liga['group'];
|
||||
$event['starttime'] = Carbon::parse($magloo['dt'])->toDateTimeString();
|
||||
$teams = explode(' v ', str_replace('|', ' ', $magloo['n']));
|
||||
$event['home_id'] = $magloo['htId'];
|
||||
$event['home'] = addslashes($teams[0]);
|
||||
$event['away_id'] = $magloo['atId'];
|
||||
$event['away'] = addslashes($teams[1]);
|
||||
|
||||
FindFixture::search($event, self::$groups[$sport_id], self::$elements[$sport_id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
class Icehockey
|
||||
{
|
||||
public static function get(&$event, &$_spreads, $match)
|
||||
{
|
||||
$n_totals = [];
|
||||
$n_points = [];
|
||||
$c_totals = [];
|
||||
$c_points = [];
|
||||
|
||||
foreach ($match['odds'] as $name => $value) {
|
||||
switch ($name) {
|
||||
case 'IH_1X2_1':
|
||||
$event['h3w'] = (float) $value;
|
||||
break;
|
||||
case 'IH_1X2_X':
|
||||
$event['d3w'] = (float) $value;
|
||||
break;
|
||||
case 'IH_1X2_2':
|
||||
$event['a3w'] = (float) $value;
|
||||
break;
|
||||
|
||||
case 'IH_12_1':
|
||||
case 'IH_12OTAP_1':
|
||||
$event['h2w'] = (float) $value;
|
||||
break;
|
||||
case 'IH_12_2':
|
||||
case 'IH_12OTAP_2':
|
||||
$event['a2w'] = (float) $value;
|
||||
break;
|
||||
}
|
||||
|
||||
if (strpos($name, '@') !== false) {
|
||||
$pos = strpos($name, '@');
|
||||
$market = substr($name, 0, $pos);
|
||||
|
||||
switch ($market) {
|
||||
// NIGERIA
|
||||
case 'IH_TF':
|
||||
$n_totals[$name] = $value;
|
||||
break;
|
||||
case 'IH_HR1':
|
||||
$n_points[$name] = $value;
|
||||
break;
|
||||
|
||||
// COLOMBIA
|
||||
case 'IH_OUHND':
|
||||
$c_totals[$name] = $value;
|
||||
break;
|
||||
case 'IH_12HND':
|
||||
$c_points[$name] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// COLUMBIA
|
||||
if ($c_totals) {
|
||||
Filter::prinz($_spreads['total'], 'IH_OUHND@', $c_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($c_points) {
|
||||
Filter::prinz($_spreads['point'], 'IH_12HND@', $c_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
|
||||
// NIGERIA
|
||||
if ($n_totals) {
|
||||
Filter::prinz($_spreads['total'], 'IH_TF@', $n_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($n_points) {
|
||||
Filter::prinz($_spreads['point'], 'IH_HR1@', $n_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,205 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
use App\Console\Commands\Curl;
|
||||
use App\Console\Commands\Grapper\Magloo\Odds\FilterHandicap;
|
||||
use App\Console\Commands\Grapper\Magloo\Odds\FilterTotals;
|
||||
use App\Console\Commands\Grapper\Magloo\Odds\FilterTotalsQ1;
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\Event;
|
||||
use App\Models\EventBookmaker;
|
||||
use App\Models\Odds3way;
|
||||
use App\Models\OddsDc;
|
||||
use App\Models\OddsHandicap;
|
||||
use App\Models\OddsHandicapQ1;
|
||||
use App\Models\OddsTotal;
|
||||
use App\Models\OddsTotalQ1;
|
||||
use App\Models\OddsTq;
|
||||
use App\Models\Sport;
|
||||
use App\Utilities\Margin;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class Odds
|
||||
{
|
||||
public static function grap()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
$proxy = Nuh::$options['p'] ?? 0;
|
||||
|
||||
$event_id_collector = [];
|
||||
|
||||
$sportmap = Sport::map('magl', 1, [1, 3]);
|
||||
|
||||
if ($proxy) {
|
||||
Notice::note('PROXY USED', 'r');
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('ODDS '.Nuh::$options['process'], 'b');
|
||||
}
|
||||
|
||||
switch (Nuh::$options['provider_id']) {
|
||||
case 3:
|
||||
// KENIA
|
||||
$base_url = 'https://api.externalsvc.com/api/sb/affiliates/20/1/prematch/sport/';
|
||||
$bookmaker_id = 16;
|
||||
break;
|
||||
case 4:
|
||||
// NIGERIA
|
||||
$base_url = 'https://api.externalsvc.com/api/sb/affiliates/30/1/prematch/sport/';
|
||||
$bookmaker_id = 10;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
foreach ($sportmap as $magloo_sport_id => $sport_id) {
|
||||
$url = $base_url.$magloo_sport_id.'/odds';
|
||||
|
||||
$data = Curl::load($url);
|
||||
if (! is_array($data) or \count($data) == 0) {
|
||||
Notice::note('no data in feed', 'r', 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($data as $match) {
|
||||
|
||||
$betradar_id = (int) preg_replace('/\D/', '', $match['p']);
|
||||
|
||||
$starttime = Carbon::parse($match['dt'])->toDateTimeString();
|
||||
|
||||
$event_id = Event::where('betradar_id', $betradar_id)->value('id');
|
||||
|
||||
if ($event_id) {
|
||||
$base = [];
|
||||
$base['sport_id'] = $sport_id;
|
||||
$base['provider_id'] = Nuh::$options['provider_id'];
|
||||
$base['bmoid'] = preg_replace('/\D/', '', $match['i']);
|
||||
$base['flag'] = 1;
|
||||
|
||||
$event_id_collector[] = $event_id;
|
||||
|
||||
EventBookmaker::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], ['in_feed' => 1, 'bmoid' => $base['bmoid']]);
|
||||
|
||||
foreach ($match['M'] as $magloo_bettype_id => $value) {
|
||||
switch ($magloo_bettype_id) {
|
||||
case 1:
|
||||
// 1x2
|
||||
$odds = [];
|
||||
$odds['h3w'] = $value['static'][1] ?? 1;
|
||||
$odds['d3w'] = $value['static'][2] ?? 1;
|
||||
$odds['a3w'] = $value['static'][3] ?? 1;
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
$odds['starttime'] = $starttime;
|
||||
|
||||
Odds3way::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
// to qalify
|
||||
$odds = [];
|
||||
$odds['htq'] = $value['static'][4] ?? 1;
|
||||
$odds['atq'] = $value['static'][5] ?? 1;
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
|
||||
OddsTq::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
|
||||
break;
|
||||
|
||||
case 10:
|
||||
// double chance
|
||||
$odds = [];
|
||||
$odds['dc1x'] = $value['static'][9] ?? 1;
|
||||
$odds['dc12'] = $value['static'][10] ?? 1;
|
||||
$odds['dcx2'] = $value['static'][11] ?? 1;
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
|
||||
OddsDc::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
|
||||
break;
|
||||
|
||||
case 10:
|
||||
// ggng
|
||||
$odds = [];
|
||||
$odds['gg'] = $value['static'][74] ?? 1;
|
||||
$odds['ng'] = $value['static'][76] ?? 1;
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
|
||||
OddsDc::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
|
||||
break;
|
||||
|
||||
case 16:
|
||||
// points
|
||||
$odds = FilterHandicap::get($value);
|
||||
$odds['starttime'] = $starttime;
|
||||
|
||||
OddsHandicap::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
break;
|
||||
|
||||
case 2000:
|
||||
// points qt
|
||||
$odds = FilterHandicap::get($value);
|
||||
OddsHandicap::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
break;
|
||||
|
||||
case 2025:
|
||||
// points qt
|
||||
$odds = FilterHandicapQ1::get($value);
|
||||
OddsHandicapQ1::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
break;
|
||||
case 17:
|
||||
case 2002:
|
||||
// totals
|
||||
$odds = FilterTotals::get($value, $sport_id);
|
||||
OddsTotal::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
break;
|
||||
case 2012:
|
||||
// totals qt
|
||||
$odds = FilterTotalsQ1::get($value, $sport_id);
|
||||
OddsTotalQ1::updateOrCreate([
|
||||
'event_id' => $event_id,
|
||||
'bookmaker_id' => $bookmaker_id,
|
||||
], $base + $odds);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EventBookmaker::whereNotIn('event_id', $event_id_collector)
|
||||
->where('bookmaker_id', $bookmaker_id)
|
||||
->update(['in_feed' => 0]);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
class PrinzipalHandicap
|
||||
{
|
||||
public static function filter(&$_spreads, $filter, $data, $oddnames)
|
||||
{
|
||||
$_tmp = [];
|
||||
foreach ($data as $key => $value) {
|
||||
$key = str_replace($filter, '', $key);
|
||||
|
||||
if (strpos($key, '_O') !== false) {
|
||||
$hcap = str_replace('_O', '', $key);
|
||||
$_tmp[$hcap]['ele1'] = $value;
|
||||
} elseif (strpos($key, '_1H') !== false) {
|
||||
$hcap = str_replace('_1H', '', $key);
|
||||
$_tmp[$hcap]['ele1'] = $value;
|
||||
} elseif (strpos($key, '_1') !== false) {
|
||||
$hcap = str_replace('_1', '', $key);
|
||||
$_tmp[$hcap]['ele1'] = $value;
|
||||
} elseif (strpos($key, '_U') !== false) {
|
||||
$hcap = str_replace('_U', '', $key);
|
||||
$_tmp[$hcap]['ele2'] = $value;
|
||||
} elseif (strpos($key, '_2H') !== false) {
|
||||
$hcap = str_replace('_2H', '', $key);
|
||||
$_tmp[$hcap]['ele2'] = $value;
|
||||
} elseif (strpos($key, '_2') !== false) {
|
||||
$hcap = str_replace('_2', '', $key);
|
||||
$_tmp[$hcap]['ele2'] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$tmp = 10000;
|
||||
$hcap = false;
|
||||
foreach ($_tmp as $key => $value) {
|
||||
$x = 0;
|
||||
foreach ($value as $k => $v) {
|
||||
if ($x == 0) {
|
||||
$x = $v;
|
||||
} else {
|
||||
$x -= $v;
|
||||
}
|
||||
}
|
||||
$x = abs($x);
|
||||
if ($x < $tmp) {
|
||||
$hcap = $key;
|
||||
$tmp = $x;
|
||||
}
|
||||
}
|
||||
|
||||
if ($hcap) {
|
||||
$_spreads[$oddnames[0]] = $_tmp[$hcap]['ele1'];
|
||||
$_spreads[$oddnames[1]] = $_tmp[$hcap]['ele2'];
|
||||
$_spreads[$oddnames[2]] = $hcap;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
class Soccer
|
||||
{
|
||||
public static function get(&$event, $match)
|
||||
{
|
||||
foreach ($match['odds'] as $name => $value) {
|
||||
switch ($name) {
|
||||
case 'S_1X2_1':
|
||||
$event['h3w'] = (float) $value;
|
||||
break;
|
||||
case 'S_1X2_X':
|
||||
$event['d3w'] = (float) $value;
|
||||
break;
|
||||
case 'S_1X2_2':
|
||||
$event['a3w'] = (float) $value;
|
||||
break;
|
||||
|
||||
case 'S_OU@2.5_O':
|
||||
$event['total'] = 2.5;
|
||||
$event['over'] = (float) $value;
|
||||
break;
|
||||
case 'S_OU@2.5_U':
|
||||
$event['total'] = 2.5;
|
||||
$event['under'] = (float) $value;
|
||||
break;
|
||||
|
||||
case 'S_GGNG_Y':
|
||||
$event['gg'] = (float) $value;
|
||||
break;
|
||||
case 'S_GGNG_N':
|
||||
$event['ng'] = (float) $value;
|
||||
break;
|
||||
// case 'S_DNB_1':
|
||||
// break;
|
||||
// case 'S_DNB_2':
|
||||
// break;
|
||||
// case 'S_DC_12':
|
||||
// $event['dc12'] = (float) $value;
|
||||
// break;
|
||||
// case 'S_DC_1X':
|
||||
// $event['dc1x'] = (float) $value;
|
||||
// break;
|
||||
// case 'S_DC_X2':
|
||||
// $event['dcx2'] = (float) $value;
|
||||
// break;
|
||||
|
||||
case 'S_12QUALIFY_1':
|
||||
$event['one'] = (float) $value;
|
||||
break;
|
||||
case 'S_12QUALIFY_2':
|
||||
$event['two'] = (float) $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Grapper\Logifuture;
|
||||
|
||||
class Tennis
|
||||
{
|
||||
public static function get(&$event, &$_spreads, $match)
|
||||
{
|
||||
$n_totals = [];
|
||||
$n_points = [];
|
||||
$c_totals = [];
|
||||
$c_points = [];
|
||||
|
||||
foreach ($match['odds'] as $name => $value) {
|
||||
switch ($name) {
|
||||
case 'T_12_1':
|
||||
$event['h2w'] = (float) $value;
|
||||
break;
|
||||
case 'T_12_2':
|
||||
$event['a2w'] = (float) $value;
|
||||
break;
|
||||
|
||||
case 'T_121P_1':
|
||||
$_spreads['mlset1']['h2w'] = (float) $value;
|
||||
break;
|
||||
case 'T_121P_2':
|
||||
$_spreads['mlset1']['a2w'] = (float) $value;
|
||||
break;
|
||||
}
|
||||
|
||||
if (strpos($name, '@') !== false) {
|
||||
$pos = strpos($name, '@');
|
||||
$market = substr($name, 0, $pos);
|
||||
|
||||
switch ($market) {
|
||||
// NIGERIA
|
||||
case 'T_OUG':
|
||||
$n_totals[$name] = $value;
|
||||
break;
|
||||
case 'T_GH':
|
||||
$n_points[$name] = $value;
|
||||
break;
|
||||
|
||||
// COLOMBIA
|
||||
case 'T_OUG':
|
||||
$c_totals[$name] = $value;
|
||||
break;
|
||||
case 'T_HNDGAMES':
|
||||
$c_points[$name] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// COLUMBIA
|
||||
if ($c_totals) {
|
||||
Filter::prinz($_spreads['total'], 'T_OUG@', $c_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($c_points) {
|
||||
Filter::prinz($_spreads['point'], 'T_HNDGAMES@', $c_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
|
||||
// NIGERIA
|
||||
if ($n_totals) {
|
||||
Filter::prinz($_spreads['total'], 'T_OUG@', $n_totals, ['over', 'under', 'total']);
|
||||
}
|
||||
if ($n_points) {
|
||||
Filter::prinz($_spreads['point'], 'T_GH@', $n_points, ['hth1', 'hth2', 'hcap']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,7 +123,7 @@ class EventsTable
|
||||
self::load_multiline_bookmaker();
|
||||
|
||||
return $table
|
||||
// ->poll('10s')
|
||||
->poll('10s')
|
||||
->striped()
|
||||
->deferLoading()
|
||||
->columns([
|
||||
|
||||
Reference in new issue
Block a user