diff --git a/app/Console/Commands/DbMapper/Bet365Tennis.php b/app/Console/Commands/DbMapper/Bet365Tennis.php new file mode 100644 index 00000000..64d5e20c --- /dev/null +++ b/app/Console/Commands/DbMapper/Bet365Tennis.php @@ -0,0 +1,74 @@ +where('sport_id', 5)->where('starttime', '>', Carbon::now())->get()->toArray(); + + foreach ($mappers as $mapper) { + + FindElement::run($mapper); + + FindGroup::run($mapper); + + print_r($mapper); + + if ($mapper['txodds_home_id'] && $mapper['txodds_away_id'] && $mapper['txodds_group_id']) { + + $from = Carbon::createFromDate($mapper['starttime'])->subDay(); + $to = Carbon::createFromDate($mapper['starttime'])->addDay(); + + $event = Event::whereDate('starttime', '>', $from) + ->whereDate('starttime', '<', $to) + ->where('home_id', $mapper['txodds_home_id']) + ->where('away_id', $mapper['txodds_away_id']) + ->where('competition_group_id', $mapper['txodds_group_id']) + ->first()->toArray(); + + if ($event) { + StoreElement::store($mapper); + + StoreGroup::store($mapper); + + $arr = []; + if ($mapper['bet365_id']) { + $arr['bet365_id'] = $mapper['bet365_id']; + } + if ($mapper['betradar_id']) { + $arr['betradar_id'] = $mapper['betradar_id']; + } + if ($mapper['betsapi_id']) { + $arr['betsapi_id'] = $mapper['betsapi_id']; + } + if ($arr) { + Event::where('id', $event['id'])->update($arr); + } + dd($event); + } + } + } + + } +} diff --git a/app/Console/Commands/DbMapper/DBMapper.php b/app/Console/Commands/DbMapper/DBMapper.php new file mode 100644 index 00000000..8ee2ec47 --- /dev/null +++ b/app/Console/Commands/DbMapper/DBMapper.php @@ -0,0 +1,32 @@ +where('provider_element_id', $mapper['home_id'])->value('element_id'); + } + if (! $mapper['txodds_home_id']) { + $arr = ExplodeString::grap($mapper['home']); + + $mapper['txodds_home_id'] = Element::where('sport_id', $mapper['sport_id']) + ->where(function ($query) use ($arr) { + foreach ($arr as $str) { + $query->where('name', 'like', '%'.$str.'%'); + } + })->value('id'); + } + + if (isset($mapper['away_id'])) { + $mapper['txodds_away_id'] = ElementProvider::where('provider_id', $mapper['provider_id']) + ->where('provider_element_id', $mapper['away_id'])->value('element_id'); + } + if (! $mapper['txodds_away_id']) { + $arr = ExplodeString::grap($mapper['away']); + + $mapper['txodds_away_id'] = Element::where('sport_id', $mapper['sport_id']) + ->where(function ($query) use ($arr) { + foreach ($arr as $str) { + $query->where('name', 'like', '%'.$str.'%'); + } + })->value('id'); + } + } +} diff --git a/app/Console/Commands/DbMapper/Helper/FindGroup.php b/app/Console/Commands/DbMapper/Helper/FindGroup.php new file mode 100644 index 00000000..062a8c6a --- /dev/null +++ b/app/Console/Commands/DbMapper/Helper/FindGroup.php @@ -0,0 +1,28 @@ +where('provider_group_id', $mapper['group_id'])->value('competition_group_id'); + } + if (! $mapper['txodds_group_id']) { + $arr = ExplodeString::grap($mapper['group']); + + $mapper['txodds_group_id'] = CompetitionGroup::where('sport_id', $mapper['sport_id']) + ->where(function ($query) use ($arr) { + foreach ($arr as $str) { + $query->where('name', 'like', '%'.$str.'%'); + } + })->value('id'); + } + } +} diff --git a/app/Console/Commands/DbMapper/Store/StoreElement.php b/app/Console/Commands/DbMapper/Store/StoreElement.php new file mode 100644 index 00000000..86f2533f --- /dev/null +++ b/app/Console/Commands/DbMapper/Store/StoreElement.php @@ -0,0 +1,28 @@ + (int) $mapper['home_id']], $home); + + $away = []; + $away['sport_id'] = $mapper['sport_id']; + $away['element_id'] = $mapper['txodds_away_id']; + $away['provider_id'] = $mapper['provider_id']; + $away['name'] = $mapper['away']; + + ElementProvider::updateOrCreate(['provider_element_id' => (int) $mapper['away_id']], $away); + + } +} diff --git a/app/Console/Commands/DbMapper/Store/StoreGroup.php b/app/Console/Commands/DbMapper/Store/StoreGroup.php new file mode 100644 index 00000000..bec2d23d --- /dev/null +++ b/app/Console/Commands/DbMapper/Store/StoreGroup.php @@ -0,0 +1,19 @@ + (int) $mapper['group_id']], $group); + } +} diff --git a/app/Console/Commands/Grapper/Betsapi/Bet365.php b/app/Console/Commands/Grapper/Betsapi/Bet365.php index 69d44de5..a6a828da 100644 --- a/app/Console/Commands/Grapper/Betsapi/Bet365.php +++ b/app/Console/Commands/Grapper/Betsapi/Bet365.php @@ -6,13 +6,13 @@ use App\Console\Commands\Curl; use App\Console\Commands\Nuh; use App\Models\Event; use App\Models\EventBookmaker; +use App\Models\Odds2way; use App\Models\Odds3way; use App\Models\Odds3wayHt; use App\Models\OddsDc; use App\Models\OddsDnb; use App\Models\OddsGgng; use App\Models\OddsTotal; -use App\Models\Sport; use App\Utilities\Margin; use App\Utilities\Notice; use Illuminate\Support\Carbon; @@ -22,6 +22,7 @@ class Bet365 { public static function grap() { + $debug = Nuh::$options['d'] ?? 0; $today = Nuh::$options['t'] ?? 0; @@ -30,130 +31,228 @@ class Bet365 $single = Nuh::$options['id'] ?? 0; - $sportmap = Sport::map('bapi', 1, [1, 2, 3, 5]); + switch (Nuh::$options['sport']) { + case 'Soccer': + $sport_id = 1; + break; + case 'Ice Hockey': + $sport_id = 2; + break; + case 'Basketball': + $sport_id = 3; + break; + case 'Tennis': + $sport_id = 5; + break; + default: + Notice::note('SPORT NOT IMPLEMENTED', 'r', 1); + break; + } $events_collector = []; + $has_markets_collector = []; + /** * Bet365 */ $bookmaker_id = 126; - foreach ($sportmap as $sport_id) { + if ($single) { + $events = Event::where('id', Nuh::$options['id'])->where('bet365_id', '>', 0)->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); + } elseif ($today) { + $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDay()->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); + } elseif ($week) { + $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); + } else { + // all + $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); + } + if ($events ?? null && $debug) { + Notice::note('No events', 'r'); + } + foreach ($events as $key => $event) { - if ($single) { - $events = Event::where('id', Nuh::$options['id'])->where('bet365_id', '>', 0)->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); - } elseif ($today) { - $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDay()->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); - } elseif ($week) { - $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); - } else { - // all - $events = Event::where('sport_id', $sport_id)->where('bet365_id', '>', 0)->where('starttime', '>', Carbon::now()->toDateTimeString())->select('id', 'sport_id', 'bet365_id', 'starttime')->get(); + if (! $event->has_markets) { + $has_markets_collector[] = $event_id; } - if ($events ?? null && $debug) { - Notice::note('No events', 'r'); - } - foreach ($events as $key => $event) { - if ($debug) { - Notice::note([ - 'id' => $event->id, - 'bet365_id' => $event->bet365_id, - 'starttime' => $event->starttime, - 'count' => count($events).'/'.$key + 1, - ], 'b'); - } + if ($debug) { + Notice::note([ + 'id' => $event->id, + 'bet365_id' => $event->bet365_id, + 'starttime' => $event->starttime, + 'count' => count($events).'/'.$key + 1, + ], 'b'); + } + /** + * BET365 ODDS (per event) + */ + $url = 'https://api.b365api.com/v4/bet365/prematch?token='.config('env.betsapi_token').'&FI='.$event->bet365_id; + + $data = Curl::load($url); + + if (isset($data['results'][0]['main'])) { + + DB::transaction(function () use ($event, $bookmaker_id) { + EventBookmaker::updateOrCreate([ + 'event_id' => $event->id, + 'sport_id' => $event->sport_id, + 'bookmaker_id' => $bookmaker_id, + ], ['starttime' => $event->starttime, 'in_feed' => 1, 'bmoid' => $event->bet365_id]); + }, 5); + + $offer = $data['results'][0]['main']['sp']; + + $base = []; + $base['event_id'] = $event->id; + $base['bookmaker_id'] = $bookmaker_id; + $base['sport_id'] = $event->sport_id; + $base['provider_id'] = Nuh::$options['provider_id']; + $base['bmoid'] = $event->bet365_id; + $base['flags'] = 1; + /** - * BET365 ODDS (per event) + * ML */ - $url = 'https://api.b365api.com/v4/bet365/prematch?token='.config('env.betsapi_token').'&FI='.$event->bet365_id; + if (isset($offer['to_win_match'])) { - $data = Curl::load($url); + $data = $offer['to_win_match']['odds'] ?? []; - if (isset($data['results'][0]['main'])) { + if ($data) { - DB::transaction(function () use ($event, $bookmaker_id) { - EventBookmaker::updateOrCreate([ - 'event_id' => $event->id, - 'sport_id' => $event->sport_id, - 'bookmaker_id' => $bookmaker_id, - ], ['starttime' => $event->starttime, 'in_feed' => 1, 'bmoid' => $event->bet365_id]); - }, 5); + $odds = []; + $odds['h2w'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['a2w'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); - $offer = $data['results'][0]['main']['sp']; + $odds = array_merge($odds, $base); - $base = []; - $base['event_id'] = $event->id; - $base['bookmaker_id'] = $bookmaker_id; - $base['sport_id'] = $event->sport_id; - $base['provider_id'] = Nuh::$options['provider_id']; - $base['bmoid'] = $event->bet365_id; - $base['flags'] = 1; + $events_collector['odds_2ways'][] = $event->id; - /** - * 1X2 - */ - if (isset($offer['full_time_result'])) { + $res = Odds2way::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - $data = $offer['full_time_result']['odds'] ?? []; - - if ($data) { - - $odds = []; - $odds['h3w'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['d3w'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['a3w'] = number_format($data[2]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); - - $odds = array_merge($odds, $base); - - $events_collector['odds_3ways'][] = $event->id; - - $res = Odds3way::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - - if (! $res) { - Odds3way::create($odds); - } else { - $res->h3w = $odds['h3w']; - $res->a3w = $odds['d3w']; - $res->d3w = $odds['a3w']; - $res->flags = 1; - $res->margin = $odds['margin']; - DB::transaction(function () use ($res) { - $res->save(); - }, 5); - } + if (! $res) { + Odds2way::create($odds); + } else { + $res->h3w = $odds['h2w']; + $res->a3w = $odds['a2w']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); } } + } - /** - * DC - */ - if (isset($offer['double_chance'])) { + /** + * 1X2 + */ + if (isset($offer['full_time_result'])) { - $data = $offer['double_chance']['odds'] ?? []; + $data = $offer['full_time_result']['odds'] ?? []; - if ($data) { + if ($data) { - $odds = []; - $odds['dc1x'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['dc12'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['dcx2'] = number_format($data[2]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); + $odds = []; + $odds['h3w'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['d3w'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['a3w'] = number_format($data[2]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); - $odds = array_merge($odds, $base); + $odds = array_merge($odds, $base); - $events_collector['odds_dc'][] = $event->id; + $events_collector['odds_3ways'][] = $event->id; - $res = OddsDc::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); + $res = Odds3way::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); + + if (! $res) { + Odds3way::create($odds); + } else { + $res->h3w = $odds['h3w']; + $res->a3w = $odds['d3w']; + $res->d3w = $odds['a3w']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); + } + } + } + + /** + * DC + */ + if (isset($offer['double_chance'])) { + + $data = $offer['double_chance']['odds'] ?? []; + + if ($data) { + + $odds = []; + $odds['dc1x'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['dc12'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['dcx2'] = number_format($data[2]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); + + $odds = array_merge($odds, $base); + + $events_collector['odds_dc'][] = $event->id; + + $res = OddsDc::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); + + if (! $res) { + OddsDc::create($odds); + } else { + $res->dc1x = $odds['dc1x']; + $res->dc12 = $odds['dc12']; + $res->dcx2 = $odds['dcx2']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); + + } + } + } + + /** + * OU + */ + if (isset($offer['goals_over_under'])) { + + $data = $offer['goals_over_under']['odds'] ?? []; + + if ($data) { + + $odds = []; + $odds['over'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['under'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); + if ($base['sport_id'] == 1) { + $odds['active_spread'] = 1; + } + + $odds = array_merge($odds, $base); + + $events_collector['odds_totals'][] = $event->id; + + if ($offer['goals_over_under']['odds'][1]['name'] == '2.5') { + $odds['total'] = 2.5; + $res = OddsTotal::where('event_id', $event->id) + ->where('bookmaker_id', $bookmaker_id) + ->where('total', $odds['total']) + ->first(); if (! $res) { - OddsDc::create($odds); + OddsTotal::create($odds); } else { - $res->dc1x = $odds['dc1x']; - $res->dc12 = $odds['dc12']; - $res->dcx2 = $odds['dcx2']; + $res->over = $odds['over']; + $res->under = $odds['under']; + $res->difference = abs(1 / $odds['over'] - 1 / $odds['under']); $res->flags = 1; $res->margin = $odds['margin']; DB::transaction(function () use ($res) { @@ -163,163 +262,127 @@ class Bet365 } } } + } - /** - * OU - */ - if (isset($offer['goals_over_under'])) { + /** + * GG NG + */ + if (isset($offer['both_teams_to_score'])) { - $data = $offer['goals_over_under']['odds'] ?? []; + $data = $offer['both_teams_to_score']['odds'] ?? []; - if ($data) { + if ($data) { - $odds = []; - $odds['over'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['under'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); - if ($base['sport_id'] == 1) { - $odds['active_spread'] = 1; - } + $odds = []; + $odds['gg'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['ng'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); - $odds = array_merge($odds, $base); + $odds = array_merge($odds, $base); - $events_collector['odds_totals'][] = $event->id; + $events_collector['odds_ggng'][] = $event->id; - if ($offer['goals_over_under']['odds'][1]['name'] == '2.5') { - $odds['total'] = 2.5; - $res = OddsTotal::where('event_id', $event->id) - ->where('bookmaker_id', $bookmaker_id) - ->where('total', $odds['total']) - ->first(); + $res = OddsGgng::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - if (! $res) { - OddsTotal::create($odds); - } else { - $res->over = $odds['over']; - $res->under = $odds['under']; - $res->difference = abs(1 / $odds['over'] - 1 / $odds['under']); - $res->flags = 1; - $res->margin = $odds['margin']; - DB::transaction(function () use ($res) { - $res->save(); - }, 5); - - } - } + if (! $res) { + OddsGgng::create($odds); + } else { + $res->gg = $odds['gg']; + $res->ng = $odds['ng']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); } } + } - /** - * GG NG - */ - if (isset($offer['both_teams_to_score'])) { + /** + * DNB + */ + if (isset($offer['draw_no_bet'])) { - $data = $offer['both_teams_to_score']['odds'] ?? []; + $data = $offer['draw_no_bet']['odds'] ?? []; - if ($data) { + if ($data) { - $odds = []; - $odds['gg'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['ng'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); + $odds = []; + $odds['dnb1'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['dnb2'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); - $odds = array_merge($odds, $base); + $res = OddsDnb::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - $events_collector['odds_ggng'][] = $event->id; + $odds = array_merge($odds, $base); - $res = OddsGgng::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); + $events_collector['odds_dnb'][] = $event->id; + + if (! $res) { + OddsDnb::create($odds); + } else { + $res->dnb1 = $odds['dnb1']; + $res->dnb2 = $odds['dnb2']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); - if (! $res) { - OddsGgng::create($odds); - } else { - $res->gg = $odds['gg']; - $res->ng = $odds['ng']; - $res->flags = 1; - $res->margin = $odds['margin']; - DB::transaction(function () use ($res) { - $res->save(); - }, 5); - } } } + } - /** - * DNB - */ - if (isset($offer['draw_no_bet'])) { + /** + * 1X2 HT + */ + if (isset($offer['half_time_result'])) { - $data = $offer['draw_no_bet']['odds'] ?? []; + $data = $offer['half_time_result']['odds'] ?? []; - if ($data) { + if ($data) { - $odds = []; - $odds['dnb1'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['dnb2'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); + $odds = []; + $odds['h3w'] = number_format($data[0]['odds'], 2) ?? 1; + $odds['d3w'] = number_format($data[1]['odds'], 2) ?? 1; + $odds['a3w'] = number_format($data[2]['odds'], 2) ?? 1; + $odds['margin'] = (float) Margin::calculate($odds, 1); - $res = OddsDnb::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); + $odds = array_merge($odds, $base); - $odds = array_merge($odds, $base); + $events_collector['odds_3ways_ht'][] = $event->id; - $events_collector['odds_dnb'][] = $event->id; + $res = Odds3wayHt::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - if (! $res) { - OddsDnb::create($odds); - } else { - $res->dnb1 = $odds['dnb1']; - $res->dnb2 = $odds['dnb2']; - $res->flags = 1; - $res->margin = $odds['margin']; - DB::transaction(function () use ($res) { - $res->save(); - }, 5); + if (! $res) { + Odds3wayHt::create($odds); + } else { + $res->h3w = $odds['h3w']; + $res->d3w = $odds['d3w']; + $res->a3w = $odds['a3w']; + $res->flags = 1; + $res->margin = $odds['margin']; + DB::transaction(function () use ($res) { + $res->save(); + }, 5); - } - } - } - - /** - * 1X2 HT - */ - if (isset($offer['half_time_result'])) { - - $data = $offer['half_time_result']['odds'] ?? []; - - if ($data) { - - $odds = []; - $odds['h3w'] = number_format($data[0]['odds'], 2) ?? 1; - $odds['d3w'] = number_format($data[1]['odds'], 2) ?? 1; - $odds['a3w'] = number_format($data[2]['odds'], 2) ?? 1; - $odds['margin'] = (float) Margin::calculate($odds, 1); - - $odds = array_merge($odds, $base); - - $events_collector['odds_3ways_ht'][] = $event->id; - - $res = Odds3wayHt::where('event_id', $event->id)->where('bookmaker_id', $bookmaker_id)->first(); - - if (! $res) { - Odds3wayHt::create($odds); - } else { - $res->h3w = $odds['h3w']; - $res->d3w = $odds['d3w']; - $res->a3w = $odds['a3w']; - $res->flags = 1; - $res->margin = $odds['margin']; - DB::transaction(function () use ($res) { - $res->save(); - }, 5); - - } } } } } } + $id_collector = []; foreach ($events_collector as $table => $event_ids) { + $id_collector[] = $event_ids; DB::table($table)->where('bookmaker_id', $bookmaker_id)->whereNotIn('event_id', $event_ids)->update(['flags' => 0]); } + if ($id_collector) { + foreach ($id_collector as $event_id) { + if (in_array($event_id, $has_markets_collector)) { + Event::where('id', $event_id)->update(['has_markets' => 1]); + } + } + } } } diff --git a/app/Console/Commands/Grapper/Betsapi/Bwin.php b/app/Console/Commands/Grapper/Betsapi/Bwin.php index 9a92d686..36666c30 100644 --- a/app/Console/Commands/Grapper/Betsapi/Bwin.php +++ b/app/Console/Commands/Grapper/Betsapi/Bwin.php @@ -46,7 +46,7 @@ class Bwin if (isset($data['results'])) { foreach ($data['results'] as $event) { - if ($debug && isset($event['HomeTeam'])) { + if ($debug && isset($event['HomeTeam']) && isset($event['SportName'])) { Notice::note($event['RegionName'].'-'.$event['SportName']."\n".$event['HomeTeam'].' - '.$event['AwayTeam']); } diff --git a/app/Console/Commands/Nuh.php b/app/Console/Commands/Nuh.php index db92c263..201ad2ef 100644 --- a/app/Console/Commands/Nuh.php +++ b/app/Console/Commands/Nuh.php @@ -8,6 +8,7 @@ use App\Console\Commands\Grapper\Goldbet; use App\Console\Commands\Grapper\Logifuture; use App\Console\Commands\Grapper\Magloo; use App\Console\Commands\Grapper\TxOdds; +use App\Console\Commands\Services\DbMapper\DbMapper; use App\Console\Commands\Services\Services; use App\Models\Supervisor; use App\Utilities\Notice; @@ -116,6 +117,10 @@ class Nuh extends Command // GOLDBET Goldbet::switch(); break; + case 11: + // DB MAPPER + DbMapper::switch(); + break; default: Notice::note('Provider not defined', 'r', 1); break; diff --git a/app/Console/Commands/Services/Tasks/DBMapper.php b/app/Console/Commands/Services/Tasks/DBMapper.php deleted file mode 100644 index 04ff3138..00000000 --- a/app/Console/Commands/Services/Tasks/DBMapper.php +++ /dev/null @@ -1,66 +0,0 @@ -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; - } - } - - } -} diff --git a/app/Console/Commands/Services/Tasks/Helper/FindElement.php b/app/Console/Commands/Services/Tasks/Helper/FindElement.php deleted file mode 100644 index e6c434a9..00000000 --- a/app/Console/Commands/Services/Tasks/Helper/FindElement.php +++ /dev/null @@ -1,42 +0,0 @@ -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(); - } - } -} diff --git a/app/Console/Commands/Services/Tasks/Helper/FindGroup.php b/app/Console/Commands/Services/Tasks/Helper/FindGroup.php deleted file mode 100644 index a1f56fde..00000000 --- a/app/Console/Commands/Services/Tasks/Helper/FindGroup.php +++ /dev/null @@ -1,29 +0,0 @@ -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(); - } - - } -} diff --git a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php index 1e953125..0d4b90c1 100644 --- a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php +++ b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php @@ -40,11 +40,12 @@ class SupervisorsTable 1 => 'danger', 8 => 'danger', 2 => 'success', + 11 => 'info', default => 'warning', }), Stack::make([ SelectColumn::make('name') - ->selectablePlaceholder(false) + ->selectablePlaceholder(true) ->hidden(function (ListSupervisors $livewire) { return $livewire->tableFilters['provider_id']['value'] == 8; }) @@ -85,6 +86,10 @@ class SupervisorsTable return [ 'GRAPPER DIRCET' => 'GRAPPER DIRCET', ]; + case 11: + return [ + 'Bet365' => 'Bet365', + ]; default: return []; } @@ -144,8 +149,6 @@ class SupervisorsTable ]) ->filters([ SelectFilter::make('provider_id') - ->default(1) - ->selectablePlaceholder(false) ->relationship('provider', 'name') ->label('Provider'), SelectFilter::make('sport_id')