mapper wip
This commit is contained in:
1 parent
7b2894682f
commit
93febce6fb
18 files changed
+45151
-63
No files matched your search
@@ -66,7 +66,7 @@ class FindFixture
|
||||
}
|
||||
}
|
||||
|
||||
if ($match) {
|
||||
if ($match ?? null) {
|
||||
|
||||
$update_array = [];
|
||||
|
||||
|
||||
@@ -2,25 +2,146 @@
|
||||
|
||||
namespace App\Console\Commands\Grapper;
|
||||
|
||||
use App\Console\Commands\Grapper\Magloo\Fixtures;
|
||||
use App\Console\Commands\Grapper\Magloo\Odds;
|
||||
use App\Console\Commands\Grapper\Fixtures\FindFixture;
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Models\Odds3way;
|
||||
use App\Models\OddsDc;
|
||||
use App\Models\OddsGgng;
|
||||
use App\Models\OddsTotal;
|
||||
use App\Utilities\Margin;
|
||||
use App\Utilities\Notice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class Goldbet
|
||||
{
|
||||
public static function switch()
|
||||
{
|
||||
switch (Nuh::$options['name']) {
|
||||
case 'Fixtures':
|
||||
Fixtures::grap();
|
||||
break;
|
||||
case 'Odds':
|
||||
Odds::grap();
|
||||
break;
|
||||
default:
|
||||
Notice::note('prosses name does not exist', 'r', 1);
|
||||
break;
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
$save = Nuh::$options['s'] ?? 0;
|
||||
$read = Nuh::$options['r'] ?? 0;
|
||||
|
||||
$filename = app_path().'/Console/Commands/TestFiles/goldbet.json';
|
||||
|
||||
if ($debug) {
|
||||
Notice::note(Nuh::$options['provider'], 'g');
|
||||
}
|
||||
|
||||
if ($read) {
|
||||
if ($debug) {
|
||||
Notice::note('data read localy', 'g');
|
||||
}
|
||||
|
||||
$file = file_get_contents($filename);
|
||||
|
||||
$data = json_decode($file, true);
|
||||
} else {
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, 'https://gb.nuhodds.com');
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
'Proxy-Auth: jjW2jVVezcMURUBuhzf6VDXXsMhN5JWKEeQ5pYusg7b29G',
|
||||
'Proxy-Target-URL: '.Nuh::$options['base_url'],
|
||||
// 'Proxy-Debug: 1'
|
||||
]);
|
||||
|
||||
$file = curl_exec($ch);
|
||||
}
|
||||
|
||||
if ($save) {
|
||||
file_put_contents($filename, $file);
|
||||
|
||||
Notice::note('file saved localy', 'g');
|
||||
}
|
||||
|
||||
$data = json_decode($file, true);
|
||||
|
||||
// https://api.b365api.com/v1/sbobet/event?token=36152-aeTRNnZxSPUwGe&event_id=10399052
|
||||
// https://api.b365api.com/v1/sbobet/inplay?sport_id=1&token=36152-aeTRNnZxSPUwGe
|
||||
|
||||
foreach ($data as $row) {
|
||||
if ($row['liga'] != 'Fantasy Matches') {
|
||||
|
||||
/**
|
||||
* sportid is same like txoods
|
||||
*/
|
||||
$event = [
|
||||
'event_id' => (int) $row['matchid'],
|
||||
'sport_id' => (int) $row['sport'],
|
||||
'provider_id' => (int) Nuh::$options['provider_id'],
|
||||
'starttime' => (string) Carbon::createFromTimestamp((string) $row['starttime'])->toDateTimeString(),
|
||||
'country' => $row['country'] ?? 0,
|
||||
'country_id' => (int) $row['countryid'] ?? 0,
|
||||
'home' => $row['e1'] ?? '',
|
||||
'home_id' => (int) $row['e2id'],
|
||||
'away' => $row['e2'] ?? '',
|
||||
'away_id' => (int) $row['e2id'],
|
||||
'group' => $row['liga'] ?? '',
|
||||
'group_id' => (int) $row['lid'] ?? 0,
|
||||
];
|
||||
|
||||
FindFixture::find($event);
|
||||
|
||||
if (isset($event['id'])) {
|
||||
|
||||
$base = [];
|
||||
$base['sport_id'] = (int) Nuh::$options['sport_id'];
|
||||
$base['provider_id'] = Nuh::$options['provider_id'];
|
||||
$base['bmoid'] = (int) $row['match_id'];
|
||||
$base['flag'] = 1;
|
||||
|
||||
if (isset($row['1x2'])) {
|
||||
$odds = [];
|
||||
$odds['h3w'] = $row['1x2']['one'];
|
||||
$odds['d3w'] = $row['1x2']['x'];
|
||||
$odds['a3w'] = $row['1x2']['two'];
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
$odds['starttime'] = (string) $row['start_time'];
|
||||
|
||||
Odds3way::updateOrCreate([
|
||||
'event_id' => $event['id'],
|
||||
'bookmaker_id' => Nuh::$options['bookmaker_id'],
|
||||
], $base + $odds);
|
||||
}
|
||||
if (isset($row['ou'])) {
|
||||
$odds = [];
|
||||
$odds['over'] = $row['ou']['over'];
|
||||
$odds['under'] = $row['ou']['under'];
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
$odds['total'] = 2.5;
|
||||
|
||||
OddsTotal::updateOrCreate([
|
||||
'event_id' => $event['id'],
|
||||
'bookmaker_id' => Nuh::$options['bookmaker_id'],
|
||||
], $base + $odds);
|
||||
}
|
||||
if (isset($row['dc'])) {
|
||||
$odds = [];
|
||||
$odds['dc1x'] = $row['dc']['dc1x'];
|
||||
$odds['dc12'] = $row['dc']['dc12'];
|
||||
$odds['dcx2'] = $row['dc']['dcx2'];
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
$odds['starttime'] = (string) $row['start_time'];
|
||||
|
||||
OddsDc::updateOrCreate([
|
||||
'event_id' => $event['id'],
|
||||
'bookmaker_id' => Nuh::$options['bookmaker_id'],
|
||||
], $base + $odds);
|
||||
}
|
||||
if (isset($row['gg_ng'])) {
|
||||
$odds = [];
|
||||
$odds['gg'] = $row['gg_ng']['gg'];
|
||||
$odds['ng'] = $row['gg_ng']['ng'];
|
||||
$odds['margin'] = (float) Margin::calculate($odds, 1);
|
||||
$odds['starttime'] = (string) $row['start_time'];
|
||||
|
||||
OddsGgng::updateOrCreate([
|
||||
'event_id' => $event['id'],
|
||||
'bookmaker_id' => Nuh::$options['bookmaker_id'],
|
||||
], $base + $odds);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ namespace App\Console\Commands\Services;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Console\Commands\Services\Tasks\CallTxoddsMarkets;
|
||||
use App\Console\Commands\Services\Tasks\DBMapper;
|
||||
|
||||
class Services
|
||||
{
|
||||
@@ -13,8 +14,8 @@ class Services
|
||||
case 'Txodds Markets':
|
||||
CallTxoddsMarkets::call();
|
||||
break;
|
||||
case 'Mapper':
|
||||
Mapper::run();
|
||||
case 'DB Mapper':
|
||||
DBMapper::run();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Console\Commands\Services\Tasks\Helper\FindCountry;
|
||||
use App\Console\Commands\Services\Tasks\Helper\FindElement;
|
||||
use App\Console\Commands\Services\Tasks\Helper\FindGroup;
|
||||
use App\Models\Event;
|
||||
use App\Models\Mapper;
|
||||
use App\Utilities\Notice;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class DBMapper
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('MAPPER SOCCER', 'g');
|
||||
}
|
||||
|
||||
$events = Mapper::get()->toArray();
|
||||
|
||||
$i = 0;
|
||||
foreach ($events as $event) {
|
||||
|
||||
Notice::note($i);
|
||||
|
||||
FindElement::run($event);
|
||||
|
||||
FindGroup::run($event);
|
||||
|
||||
FindCountry::run($event);
|
||||
|
||||
// print_r($event);
|
||||
|
||||
if ($event['txodds_home_id'] && $event['txodds_away_id'] && $event['txodds_group_id']) {
|
||||
$from = Carbon::createFromDate($event['starttime'])->subDay();
|
||||
|
||||
$to = Carbon::createFromDate($event['starttime'])->addDay();
|
||||
|
||||
// DB::enableQueryLog();
|
||||
|
||||
$query = Event::where('starttime', '>', $from->toDateTimeString())
|
||||
->where('starttime', '<', $to->toDateTimeString())
|
||||
->whereIn('home_id', $event['txodds_home_id'])
|
||||
->whereIn('home_id', $event['txodds_away_id'])
|
||||
->whereIn('competition_group_id', $event['txodds_group_id'])
|
||||
->get();
|
||||
|
||||
// Notice::db(DB::getQueryLog());
|
||||
|
||||
Notice::db($query);
|
||||
}
|
||||
|
||||
$i++;
|
||||
if ($i > 100) {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks\Helper;
|
||||
|
||||
class ExplodeElement
|
||||
class ExplodeString
|
||||
{
|
||||
public static function grap($str)
|
||||
{
|
||||
@@ -22,7 +22,7 @@ class ExplodeElement
|
||||
|
||||
$_return = [];
|
||||
foreach ($elements as $value) {
|
||||
if (\strlen($value) > 2) {
|
||||
if (\strlen($value) > 3) {
|
||||
$_return[] = $value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks\Helper;
|
||||
|
||||
use App\Models\CountriesItalian;
|
||||
use App\Models\Country;
|
||||
|
||||
class FindCountry
|
||||
{
|
||||
public static function run(&$event)
|
||||
{
|
||||
if ($event['provider_id'] == 10) {
|
||||
// GOLDBET
|
||||
$country = CountriesItalian::where('it', $event['country'])->value('en');
|
||||
|
||||
$event['txodds_country_id'] = Country::where('name', $country)->value('id');
|
||||
} else {
|
||||
|
||||
$country = self::fix_country($event['country']);
|
||||
|
||||
$event['txodds_country_id'] = Country::where('name', $country)->value('id');
|
||||
}
|
||||
}
|
||||
|
||||
public static function fix_country($country)
|
||||
{
|
||||
switch ($country) {
|
||||
case 'Internazionale':
|
||||
case 'International Club':
|
||||
case 'Internazionali Di Club':
|
||||
case 'FIBA Intercontinental Cup':
|
||||
return 'International';
|
||||
case 'Euro Cup':
|
||||
case 'Euro Cup Women':
|
||||
case 'Euroleague':
|
||||
case 'Euroleague Women':
|
||||
return 'Europe';
|
||||
case 'WNBA':
|
||||
return 'USA';
|
||||
default:
|
||||
return $country;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks\Helper;
|
||||
|
||||
use App\Models\Element;
|
||||
use App\Models\ElementProvider;
|
||||
|
||||
class FindElement
|
||||
{
|
||||
public static function run(&$event)
|
||||
{
|
||||
if (isset($event['home_id'])) {
|
||||
$event['txodds_home_id'][] = ElementProvider::where('provider_id', $event['provider_id'])
|
||||
->where('provider_element_id', $event['home_id'])->value('element_id');
|
||||
}
|
||||
if (! $event['txodds_home_id']) {
|
||||
$arr = ExplodeString::grap($event['home']);
|
||||
|
||||
$event['txodds_home_id'] = Element::where('sport_id', $event['sport_id'])
|
||||
->where(function ($query) use ($arr) {
|
||||
foreach ($arr as $str) {
|
||||
$query->orwhere('name', 'like', '%'.$str.'%');
|
||||
}
|
||||
})->pluck('id')->toArray();
|
||||
}
|
||||
|
||||
if (isset($event['away_id'])) {
|
||||
$event['txodds_away_id'][] = ElementProvider::where('provider_id', $event['provider_id'])
|
||||
->where('provider_element_id', $event['away_id'])->value('element_id');
|
||||
}
|
||||
if (! $event['txodds_away_id']) {
|
||||
$arr = ExplodeString::grap($event['away']);
|
||||
|
||||
$event['txodds_away_id'] = Element::where('sport_id', $event['sport_id'])
|
||||
->where(function ($query) use ($arr) {
|
||||
foreach ($arr as $str) {
|
||||
$query->orwhere('name', 'like', '%'.$str.'%');
|
||||
}
|
||||
})->pluck('id')->toArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks\Helper;
|
||||
|
||||
use App\Models\CompetitionGroup;
|
||||
use App\Models\CompetitionGroupProvider;
|
||||
|
||||
class FindGroup
|
||||
{
|
||||
public static function run(&$event)
|
||||
{
|
||||
|
||||
if (isset($event['group_id'])) {
|
||||
$event['txodds_group_id'][] = CompetitionGroupProvider::where('provider_id', $event['provider_id'])
|
||||
->where('provider_group_id', $event['group_id'])->value('competition_group_id');
|
||||
}
|
||||
if (! $event['txodds_group_id']) {
|
||||
$arr = ExplodeString::grap($event['group']);
|
||||
|
||||
$event['txodds_group_id'] = CompetitionGroup::where('sport_id', $event['sport_id'])
|
||||
->where(function ($query) use ($arr) {
|
||||
foreach ($arr as $str) {
|
||||
$query->orwhere('name', 'like', '%'.$str.'%');
|
||||
}
|
||||
})->pluck('id')->toArray();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Services\Tasks;
|
||||
|
||||
use App\Console\Commands\Nuh;
|
||||
use App\Utilities\Notice;
|
||||
|
||||
class Mapper
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
|
||||
switch (Nuh::$options['sport_id']) {
|
||||
case 1:
|
||||
$bookmakers = [10, 14, 16, 35, 36, 46, 128];
|
||||
break;
|
||||
case 2:
|
||||
$bookmakers = [10, 16, 35, 36, 46, 128];
|
||||
break;
|
||||
case 3:
|
||||
$bookmakers = [128, 10, 16, 35, 36, 46];
|
||||
break;
|
||||
case 5:
|
||||
$bookmakers = [128, 10, 16, 35, 36, 46];
|
||||
break;
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
Notice::note('MAPPER SOCCER', 'g');
|
||||
}
|
||||
|
||||
$results = [];
|
||||
|
||||
foreach ($bookmakers as $$bookmaker_id) {
|
||||
// code...
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user