diff --git a/app/Actions/BettypUserGenerator.php b/app/Actions/BettypUserGenerator.php index 4feacb7d..f60f1e7d 100644 --- a/app/Actions/BettypUserGenerator.php +++ b/app/Actions/BettypUserGenerator.php @@ -3,8 +3,8 @@ namespace App\Actions; use App\Models\MultilineSetting; -use DB; use Filament\Notifications\Notification; +use Illuminate\Support\Facades\DB; class BettypUserGenerator { diff --git a/app/Actions/MultilineGenerator.php b/app/Actions/MultilineGenerator.php index da702e2f..e125fa42 100644 --- a/app/Actions/MultilineGenerator.php +++ b/app/Actions/MultilineGenerator.php @@ -4,8 +4,8 @@ namespace App\Actions; use App\Models\MultilineClient; use App\Models\MultilineSetting; -use DB; use Filament\Notifications\Notification; +use Illuminate\Support\Facades\DB; class MultilineGenerator { diff --git a/app/Console/Commands/Grapper/Betsapi/Willhill.php b/app/Console/Commands/Grapper/Betsapi/Willhill.php index 204046c4..d82cddbc 100644 --- a/app/Console/Commands/Grapper/Betsapi/Willhill.php +++ b/app/Console/Commands/Grapper/Betsapi/Willhill.php @@ -31,7 +31,7 @@ class Willhill */ $bookmaker_id = 42; - $res = Event::with('odds_3way') + $res = Event::with('odds_3ways') ->where('betsapi_id', 0) ->where('sport_id', $sport_id) ->where('starttime', '>', Carbon::now()) diff --git a/app/Console/Commands/Grapper/TxOdds/Odds.php b/app/Console/Commands/Grapper/TxOdds/Odds.php index 82a1f105..1d4a7a26 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds.php @@ -5,14 +5,18 @@ namespace App\Console\Commands\Grapper\TxOdds; use App\Console\Commands\Grapper\TxOdds\Odds\_2Way; use App\Console\Commands\Grapper\TxOdds\Odds\_2WayS1; use App\Console\Commands\Grapper\TxOdds\Odds\_3Way; +use App\Console\Commands\Grapper\TxOdds\Odds\_3WayHt; use App\Console\Commands\Grapper\TxOdds\Odds\_Dc; use App\Console\Commands\Grapper\TxOdds\Odds\_Dnb; use App\Console\Commands\Grapper\TxOdds\Odds\_Ggng; use App\Console\Commands\Grapper\TxOdds\Odds\_Points; use App\Console\Commands\Grapper\TxOdds\Odds\_PointsHt; +use App\Console\Commands\Grapper\TxOdds\Odds\_PointsQ1; use App\Console\Commands\Grapper\TxOdds\Odds\_Totals; use App\Console\Commands\Grapper\TxOdds\Odds\_TotalsHt; +use App\Console\Commands\Grapper\TxOdds\Odds\_TotalsQ1; use App\Console\Commands\Grapper\TxOdds\Odds\_Tq; +use App\Console\Commands\Grapper\TxOdds\Odds\WorkCollector; use App\Console\Commands\Nuh; use App\Console\Commands\Xml; use App\Models\CompetitionGroup; @@ -191,7 +195,8 @@ class Odds /** * TODAY */ - $res = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(1)->toDateTimeString())->pluck('id'); + $res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(1)->toDateTimeString())->pluck('id'); + foreach ($res as $id) { $_calls[] = $url.'&spid='.Nuh::$options['sport_id']."&ot=$markets&peid=".$id; } @@ -202,7 +207,7 @@ class Odds /** * ONE WEEK */ - $res = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('id'); + $res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('id'); foreach ($res as $id) { $_calls[] = $url."&ot=$markets&peid=".$id; } @@ -275,6 +280,8 @@ class Odds ]; Element::updateOrCreate(['id' => (int) $row->ateam['id']], $element); + Nuh::$collector = []; + foreach ($row->bookmaker as $book) { Nuh::$id = (int) $row['id']; @@ -283,7 +290,6 @@ class Odds $odds = []; $odds['sport_id'] = (int) $event['sport_id']; - $odds['flag'] = 1; $odds['provider_id'] = Nuh::$options['provider_id']; $odds['nuh_check'] = 0; @@ -302,6 +308,9 @@ class Odds case 'bmoid': $odds['bmoid'] = (string) $attributeValue; break; + case 'flag': + $odds['flag'] = (string) $attributeValue; + break; } } @@ -334,10 +343,10 @@ class Odds break; case 131075: - _PointsQt::grap($odds, $offer); + _PointsQ1::grap($odds, $offer); break; case 131076: - _TotalsQt::grap($odds, $offer); + _TotalsQ1::grap($odds, $offer); break; case 5242880: @@ -359,6 +368,7 @@ class Odds } } } + WorkCollector::run(); } } diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/FillCollector.php b/app/Console/Commands/Grapper/TxOdds/Odds/FillCollector.php new file mode 100644 index 00000000..c59906d6 --- /dev/null +++ b/app/Console/Commands/Grapper/TxOdds/Odds/FillCollector.php @@ -0,0 +1,27 @@ + $value) { + DB::table($table)->where('event_id', Nuh::$id)->where('provider_id', Nuh::$options['provider_id'])->update(['active_spread' => 0]); + } + foreach (Nuh::$collector as $table => $bookmaker) { + foreach ($bookmaker as $bookmaker_id => $values) { + if (in_array($table, ['odds_points', 'odds_points_ht', 'odds_points_q1'])) { + DB::table($table) + ->where('event_id', Nuh::$id) + ->where('bookmaker_id', $bookmaker_id) + ->where('handicap', $values['active_spread']) + ->update(['active_spread' => 1]); + } else { + DB::table($table) + ->where('event_id', Nuh::$id) + ->where('bookmaker_id', $bookmaker_id) + ->where('total', $values['active_spread']) + ->update(['active_spread' => 1]); + } + } + } + } +} diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php b/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php index 0012583b..e061f950 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\Odds2way; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _2Way { @@ -17,7 +17,7 @@ class _2Way } $odds['margin'] = (float) Margin::calculate([$odds['h2w'], $odds['a2w']], 1); - Odds2way::updateOrCreate([ + DB::table('odds_2ways')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php index 01da43e0..8a4692e4 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\Odds2wayS1; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _2WayS1 { @@ -17,7 +17,7 @@ class _2WayS1 } $odds['margin'] = (float) Margin::calculate([$odds['h2w'], $odds['a2w']], 1); - Odds2wayS1::updateOrCreate([ + DB::table('odds_2ways_s1')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php b/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php index 1c9997f5..c60b83c6 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\Odds3way; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _3Way { @@ -18,7 +18,7 @@ class _3Way } $odds['margin'] = (float) Margin::calculate([$odds['h3w'], $odds['d3w'], $odds['a3w']], 1); - Odds3way::updateOrCreate([ + DB::table('odds_3ways')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php index 227b984e..64b649d1 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php @@ -4,6 +4,7 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _3WayHt { @@ -13,11 +14,10 @@ class _3WayHt $odds['h3w'] = (float) $value->o1; $odds['d3w'] = (float) $value->o2; $odds['a3w'] = (float) $value->o3; - $odds['starttime'] = (string) $value['starttime']; } $odds['margin'] = (float) Margin::calculate([$odds['h3w'], $odds['d3w'], $odds['a3w']], 1); - Odds3wayHt::updateOrCreate([ + DB::table('odds_3ways_ht')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php index 6649d82e..e3fd6fb9 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsDc; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Dc { @@ -17,7 +17,7 @@ class _Dc } $odds['margin'] = (float) Margin::calculate([$odds['dc1x'], $odds['dc12'], $odds['dcx2']], 1); - OddsDc::updateOrCreate([ + DB::table('odds_dc')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php index 98105d1a..7f946696 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsDnb; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Dnb { @@ -16,7 +16,7 @@ class _Dnb } $odds['margin'] = (float) Margin::calculate([$odds['dnb1'], $odds['dnb2']], 1); - OddsDnb::updateOrCreate([ + DB::table('odds_dnb')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php index a2dc8b77..89763439 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsGgng; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Ggng { @@ -16,7 +16,7 @@ class _Ggng } $odds['margin'] = (float) Margin::calculate([$odds['gg'], $odds['ng']], 1); - OddsGgng::updateOrCreate([ + DB::table('odds_ggng')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php index 9140bef3..e629df45 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsPoint; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Points { @@ -16,10 +16,16 @@ class _Points $odds['handicap'] = (float) $value->o3; } + if (fmod((float) $odds['handicap'], 1) != 0.5) { + return; + } + $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - OddsPoint::updateOrCreate([ + FillCollector::set($odds, 'odds_points'); + + DB::table('odds_points')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'handicap' => $odds['handicap'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php index d8d04fd7..a09b9a30 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsPointHt; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _PointsHt { @@ -16,10 +16,16 @@ class _PointsHt $odds['handicap'] = (float) $value->o3; } + if (fmod((float) $odds['handicap'], 1) != 0.5) { + return; + } + $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - OddsPointHt::updateOrCreate([ + FillCollector::set($odds, 'odds_points_ht'); + + DB::table('odds_points_ht')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'handicap' => $odds['handicap'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php index 9744d132..fc7b445c 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsPointQ1; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _PointsQ1 { @@ -16,10 +16,16 @@ class _PointsQ1 $odds['handicap'] = (float) $value->o3; } + if (fmod((float) $odds['handicap'], 1) != 0.5) { + return; + } + $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - OddsPointQ1::updateOrCreate([ + FillCollector::set($odds, 'odds_points_q1'); + + DB::table('odds_points_q1')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'handicap' => $odds['handicap'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php index 71bdbcbd..59f83b85 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsTotal; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Totals { @@ -20,12 +20,18 @@ class _Totals if ((float) $odds['total'] != 2.5) { return; } + } else { + if (fmod((float) $odds['total'], 1) != 0.5) { + return; + } } $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - OddsTotal::updateOrCreate([ + FillCollector::set($odds, 'odds_totals'); + + DB::table('odds_totals')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'total' => $odds['total'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php index e9a62cec..9c31f212 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php @@ -4,6 +4,7 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _TotalsHt { @@ -15,10 +16,16 @@ class _TotalsHt $odds['total'] = (float) $value->o3; } + if (fmod((float) $odds['total'], 1) != 0.5) { + return; + } + $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - OddsTotalHt::updateOrCreate([ + FillCollector::set($odds, 'odds_totals_ht'); + + DB::table('odds_totals_ht')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'total' => $odds['total'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php index ee4871de..c51557aa 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsTotalQ1; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _TotalsQ1 { @@ -16,10 +16,16 @@ class _TotalsQ1 $odds['total'] = (float) $value->o3; } + if (fmod((float) $odds['total'], 1) != 0.5) { + return; + } + $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - OddsTotalQ1::updateOrCreate([ + FillCollector::set($odds, 'odds_totals_q1'); + + DB::table('odds_totals_q1')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, 'total' => $odds['total'], diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php index 84402b24..8e61057a 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; -use App\Models\OddsTq; use App\Utilities\Margin; +use Illuminate\Support\Facades\DB; class _Tq { @@ -16,7 +16,7 @@ class _Tq } $odds['margin'] = (float) Margin::calculate([$odds['htq'], $odds['atq']], 1); - OddsTq::updateOrCreate([ + DB::table('odds_tq')->updateOrInsert([ 'event_id' => Nuh::$id, 'bookmaker_id' => Nuh::$bookmaker_id, ], $odds); diff --git a/app/Console/Commands/Nuh.php b/app/Console/Commands/Nuh.php index d203fa3e..090f4eb3 100644 --- a/app/Console/Commands/Nuh.php +++ b/app/Console/Commands/Nuh.php @@ -20,6 +20,8 @@ class Nuh extends Command public static $bookmaker_id; + public static $collector = []; + public static $BETSAPI_TOKEN = '36152-aeTRNnZxSPUwGe'; protected $signature = 'nuh {process=help} {--id=0} {--f=} {--a} {--p} {--d} {--b} {--w} {--g} {--r} {--s} {--t}'; diff --git a/app/Filament/Resources/Events/EventResource.php b/app/Filament/Resources/Events/EventResource.php index 38577aaa..70ee2005 100644 --- a/app/Filament/Resources/Events/EventResource.php +++ b/app/Filament/Resources/Events/EventResource.php @@ -58,23 +58,48 @@ class EventResource extends Resource ->with('country') ->with('home') ->with('away'); - if (in_array(1, EventsTable::$bettype_settings)) { - $query->with('odds_3way.bookmaker'); + + if (in_array('odds_2ways', EventsTable::$bettype_settings)) { + $query->with('odds_2ways.bookmaker'); } - if (in_array(2, EventsTable::$bettype_settings)) { + if (in_array('odds_2ways_s1', EventsTable::$bettype_settings)) { + $query->with('odds_2ways_s1.bookmaker'); + } + if (in_array('odds_3ways', EventsTable::$bettype_settings)) { + $query->with('odds_3ways.bookmaker'); + } + if (in_array('odds_3ways_ht', EventsTable::$bettype_settings)) { + $query->with('odds_3ways_ht.bookmaker'); + } + if (in_array('odds_dc', EventsTable::$bettype_settings)) { $query->with('odds_dc.bookmaker'); } - if (in_array(3, EventsTable::$bettype_settings)) { + if (in_array('odds_dnb', EventsTable::$bettype_settings)) { $query->with('odds_dnb.bookmaker'); } - if (in_array(4, EventsTable::$bettype_settings)) { + if (in_array('odds_ggng', EventsTable::$bettype_settings)) { $query->with('odds_ggng.bookmaker'); } - if (in_array(5, EventsTable::$bettype_settings)) { - $query->with('odds_tq.bookmaker'); + if (in_array('odds_points', EventsTable::$bettype_settings)) { + $query->with('odds_points.bookmaker'); } - if (in_array(6, EventsTable::$bettype_settings)) { - $query->with('odds_total.bookmaker'); + if (in_array('odds_points_ht', EventsTable::$bettype_settings)) { + $query->with('odds_points_ht.bookmaker'); + } + if (in_array('odds_points_q1', EventsTable::$bettype_settings)) { + $query->with('odds_points_q1.bookmaker'); + } + if (in_array('odds_totals', EventsTable::$bettype_settings)) { + $query->with('odds_totals.bookmaker'); + } + if (in_array('odds_totals_ht', EventsTable::$bettype_settings)) { + $query->with('odds_totals_ht.bookmaker'); + } + if (in_array('odds_totals_q1', EventsTable::$bettype_settings)) { + $query->with('odds_totals_q1.bookmaker'); + } + if (in_array('odds_tq', EventsTable::$bettype_settings)) { + $query->with('odds_tq.bookmaker'); } return $query; diff --git a/app/Filament/Resources/Events/Tables/EventsTable.php b/app/Filament/Resources/Events/Tables/EventsTable.php index 83474e88..bac7177e 100644 --- a/app/Filament/Resources/Events/Tables/EventsTable.php +++ b/app/Filament/Resources/Events/Tables/EventsTable.php @@ -6,7 +6,12 @@ use App\Filament\Tables\Columns\Column3way; use App\Filament\Tables\Columns\ColumnDc; use App\Filament\Tables\Columns\ColumnDnb; use App\Filament\Tables\Columns\ColumnGgng; +use App\Filament\Tables\Columns\ColumnMl; +use App\Filament\Tables\Columns\ColumnMlS1; +use App\Filament\Tables\Columns\ColumnPoint; +use App\Filament\Tables\Columns\ColumnPointQ1; use App\Filament\Tables\Columns\ColumnTotal; +use App\Filament\Tables\Columns\ColumnTotalQ1; use App\Filament\Tables\Columns\ColumnTq; use App\Filament\Tables\Columns\MatchIds; use App\Models\BettypeUser; @@ -38,82 +43,23 @@ class EventsTable public static $multiline_bookmaker = []; - public static $odds_3ways = []; - - public static $odds_totals = []; - - public static $odds_totals_q1 = []; - - public static $odds_dc = []; - - public static $odds_dnb = []; - - public static $odds_ggng = []; - - public static $odds_points = []; - - public static $odds_points_q1 = []; - - public static $odds_2ways = []; - - public static $odds_2ways_s1 = []; - - public static $odds_tq = []; + public static $multiline_gettype = []; public static function load_multiline_bookmaker() { - $res = MultilineClient::where('client_id', auth()->user()->client_id)->where('sport_id', auth()->user()->sport_id)->select('bookmaker_id', 'multiline_setting_id')->orderBy('multiline_setting_id')->orderBy('sort')->get(); + $res = MultilineClient::with('multiline_setting')->where('client_id', auth()->user()->client_id)->where('sport_id', auth()->user()->sport_id)->select('bookmaker_id', 'multiline_setting_id')->orderBy('multiline_setting_id')->orderBy('sort')->get(); foreach ($res as $value) { - switch ($value->multiline_setting_id) { - case 1: - case 13: - self::$odds_3ways[] = $value->bookmaker_id; - break; - case 2: - self::$odds_dc[] = $value->bookmaker_id; - break; - case 3: - self::$odds_dnb[] = $value->bookmaker_id; - break; - case 4: - self::$odds_ggng[] = $value->bookmaker_id; - break; - case 5: - self::$odds_tq[] = $value->bookmaker_id; - break; - case 8: - case 14: - self::$odds_points[] = $value->bookmaker_id; - break; - case 9: - self::$odds_points_q1[] = $value->bookmaker_id; - break; - case 7: - case 12: - case 16: - self::$odds_2ways[] = $value->bookmaker_id; - break; - case 17: - self::$odds_2ways_s1[] = $value->bookmaker_id; - break; - case 6: - case 10: - case 15: - case 18: - self::$odds_totals[] = $value->bookmaker_id; - break; - case 11: - self::$odds_totals_q1[] = $value->bookmaker_id; - break; - } - + self::$multiline_gettype[$value->multiline_setting->table][] = $value->bookmaker_id; } } public static function load_bettype_settings() { - self::$bettype_settings = BettypeUser::where('is_active', 1)->pluck('multiline_setting_id')->toArray(); + $res = BettypeUser::with('multiline_setting')->where('is_active', 1)->get(); + foreach ($res as $value) { + self::$bettype_settings[] = $value->multiline_setting->table; + } } public static function configure(Table $table): Table @@ -160,42 +106,82 @@ class EventsTable TextColumn::make('away.name') ->wrap() ->searchable(), - - Column3way::make('odds3way')->bookmakers(self::$odds_3ways) - ->visible(fn () => in_array(1, self::$bettype_settings)) + ColumnMl::make('odds_2ways')->bookmakers(self::$multiline_gettype['odds_2ways'] ?? []) + ->visible(fn () => in_array('odds_2ways', self::$bettype_settings)) ->verticalAlignment(VerticalAlignment::Start) ->width(225) - ->label('1 X 2'), + ->alignCenter() + ->label('ML'), - ColumnDc::make('oddsdc')->bookmakers(self::$odds_dc) - ->visible(fn () => in_array(2, self::$bettype_settings)) + ColumnMlS1::make('odds_2ways_s1')->bookmakers(self::$multiline_gettype['odds_2ways'] ?? []) + ->visible(fn () => in_array('odds_2ways_s1', self::$bettype_settings)) ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() + ->width(225) + ->label('ML S1'), + + Column3way::make('odds_3ways')->bookmakers(self::$multiline_gettype['odds_3ways'] ?? []) + ->visible(fn () => in_array('odds_3ways', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->width(225) + ->label('1X2'), + + ColumnTotal::make('odds_totals')->bookmakers(self::$multiline_gettype['odds_totals'] ?? []) + ->visible(fn () => in_array('odds_totals', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() + ->width(225) + ->label('Totals'), + + ColumnTotalQ1::make('odds_totals_q1')->bookmakers(self::$multiline_gettype['odds_totals_q1'] ?? []) + ->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() + ->width(225) + ->label('Totals Q1'), + + ColumnPoint::make('odds_points')->bookmakers(self::$multiline_gettype['odds_points'] ?? []) + ->visible(fn () => in_array('odds_points', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() + ->width(225) + ->label('Points'), + + ColumnPointQ1::make('odds_points_q1')->bookmakers(self::$multiline_gettype['odds_points_q1'] ?? []) + ->visible(fn () => in_array('odds_points_q1', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() + ->width(225) + ->label('Points Q1'), + + ColumnDc::make('odds_dc')->bookmakers(self::$multiline_gettype['odds_dc'] ?? []) + ->visible(fn () => in_array('odds_dc', self::$bettype_settings)) + ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() ->width(225) ->label('Double Chance'), - ColumnDnb::make('oddsdnb')->bookmakers(self::$odds_dnb) - ->visible(fn () => in_array(3, self::$bettype_settings)) + ColumnDnb::make('odds_dnb')->bookmakers(self::$multiline_gettype['odds_dnb'] ?? []) + ->visible(fn () => in_array('odds_dnb', self::$bettype_settings)) ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() ->width(190) ->label('Draw No Bet'), - ColumnGgng::make('oddsggng')->bookmakers(self::$odds_ggng) - ->visible(fn () => in_array(4, self::$bettype_settings)) + ColumnGgng::make('odds_ggng')->bookmakers(self::$multiline_gettype['odds_ggng'] ?? []) + ->visible(fn () => in_array('odds_ggng', self::$bettype_settings)) ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() ->width(190) ->label('Goal No Goal'), - ColumnTq::make('oddstq')->bookmakers(self::$odds_tq) - ->visible(fn () => in_array(5, self::$bettype_settings)) + ColumnTq::make('odds_tq')->bookmakers(self::$bettype_settings['odds_tq'] ?? []) + ->visible(fn () => in_array('odds_tq', self::$bettype_settings)) ->verticalAlignment(VerticalAlignment::Start) + ->alignCenter() ->width(190) ->label('To Qualify'), - ColumnTotal::make('oddstotal')->bookmakers(self::$odds_totals) - ->visible(fn () => in_array(6, self::$bettype_settings)) - ->verticalAlignment(VerticalAlignment::Start) - ->width(225) - ->label('Totals'), ])->searchable(['id', 'betsapi_id', 'betradar_id', 'bet365_id', 'bwin_id', 'magnig_id', 'magken_id', 'lognig_id', 'logcol_id']) ->defaultSort('starttime', 'ASC') ->extremePaginationLinks() diff --git a/app/Filament/Tables/Columns/Column3way.php b/app/Filament/Tables/Columns/Column3way.php index 10c43a2c..cf0edcc2 100644 --- a/app/Filament/Tables/Columns/Column3way.php +++ b/app/Filament/Tables/Columns/Column3way.php @@ -34,21 +34,21 @@ class Column3way extends Column public function loadData($record) { - $this->has_data = count($record->odds_3way) ? true : false; + $this->has_data = count($record->odds_3ways) ? true : false; - $this->act = $record->odds_3way->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + $this->act = $record->odds_3ways->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); - $this->max['h3w'] = $record->odds_3way->max('h3w'); + $this->max['h3w'] = $record->odds_3ways->max('h3w'); - $this->max['d3w'] = $record->odds_3way->max('d3w'); + $this->max['d3w'] = $record->odds_3ways->max('d3w'); - $this->max['a3w'] = $record->odds_3way->max('a3w'); + $this->max['a3w'] = $record->odds_3ways->max('a3w'); - $this->min['h3w'] = $record->odds_3way->min('h3w'); + $this->min['h3w'] = $record->odds_3ways->min('h3w'); - $this->min['d3w'] = $record->odds_3way->min('d3w'); + $this->min['d3w'] = $record->odds_3ways->min('d3w'); - $this->min['a3w'] = $record->odds_3way->min('a3w'); + $this->min['a3w'] = $record->odds_3ways->min('a3w'); } public function getAct() diff --git a/app/Filament/Tables/Columns/ColumnMl.php b/app/Filament/Tables/Columns/ColumnMl.php new file mode 100644 index 00000000..2e8dde36 --- /dev/null +++ b/app/Filament/Tables/Columns/ColumnMl.php @@ -0,0 +1,70 @@ +user()->bookmaker_id); + + $this->bookmakers = $bookmakers; + + return $this; + } + + public function getBookmaker(): ?array + { + return $this->bookmakers; + } + + public function loadData($record) + { + $this->has_data = count($record->odds_2ways) ? true : false; + + $this->act = $record->odds_2ways->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + + $this->max['h2w'] = $record->odds_2ways->max('h2w'); + + $this->max['a2w'] = $record->odds_2ways->max('a2w'); + + $this->min['h2w'] = $record->odds_2ways->min('h2w'); + + $this->min['a2w'] = $record->odds_2ways->min('a2w'); + + } + + public function getAct() + { + return $this->act; + } + + public function getMax() + { + return $this->max; + } + + public function getMin() + { + return $this->min; + } + + public function hasData() + { + return $this->has_data; + } +} diff --git a/app/Filament/Tables/Columns/ColumnMlS1.php b/app/Filament/Tables/Columns/ColumnMlS1.php new file mode 100644 index 00000000..8140c119 --- /dev/null +++ b/app/Filament/Tables/Columns/ColumnMlS1.php @@ -0,0 +1,70 @@ +user()->bookmaker_id); + + $this->bookmakers = $bookmakers; + + return $this; + } + + public function getBookmaker(): ?array + { + return $this->bookmakers; + } + + public function loadData($record) + { + $this->has_data = count($record->odds_2ways_s1) ? true : false; + + $this->act = $record->odds_2ways->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + + $this->max['h2w'] = $record->odds_2ways->max('h2w'); + + $this->max['a2w'] = $record->odds_2ways->max('a2w'); + + $this->min['h2w'] = $record->odds_2ways->min('h2w'); + + $this->min['a2w'] = $record->odds_2ways->min('a2w'); + + } + + public function getAct() + { + return $this->act; + } + + public function getMax() + { + return $this->max; + } + + public function getMin() + { + return $this->min; + } + + public function hasData() + { + return $this->has_data; + } +} diff --git a/app/Filament/Tables/Columns/ColumnPoint.php b/app/Filament/Tables/Columns/ColumnPoint.php new file mode 100644 index 00000000..588a878e --- /dev/null +++ b/app/Filament/Tables/Columns/ColumnPoint.php @@ -0,0 +1,70 @@ +user()->bookmaker_id); + + $this->bookmakers = $bookmakers; + + return $this; + } + + public function getBookmaker(): ?array + { + return $this->bookmakers; + } + + public function loadData($record) + { + $this->has_data = count($record->odds_points) ? true : false; + + $this->act = $record->odds_points->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + + $this->max['home'] = $record->odds_points->max('home'); + + $this->max['away'] = $record->odds_points->max('away'); + + $this->min['home'] = $record->odds_points->min('home'); + + $this->min['away'] = $record->odds_points->min('away'); + + } + + public function getAct() + { + return $this->act; + } + + public function getMax() + { + return $this->max; + } + + public function getMin() + { + return $this->min; + } + + public function hasData() + { + return $this->has_data; + } +} diff --git a/app/Filament/Tables/Columns/ColumnPointQ1.php b/app/Filament/Tables/Columns/ColumnPointQ1.php new file mode 100644 index 00000000..34003fe6 --- /dev/null +++ b/app/Filament/Tables/Columns/ColumnPointQ1.php @@ -0,0 +1,70 @@ +user()->bookmaker_id); + + $this->bookmakers = $bookmakers; + + return $this; + } + + public function getBookmaker(): ?array + { + return $this->bookmakers; + } + + public function loadData($record) + { + $this->has_data = count($record->odds_points_q1) ? true : false; + + $this->act = $record->odds_points_q1->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + + $this->max['home'] = $record->odds_points_q1->max('home'); + + $this->max['away'] = $record->odds_points_q1->max('away'); + + $this->min['home'] = $record->odds_points_q1->min('home'); + + $this->min['away'] = $record->odds_points_q1->min('away'); + + } + + public function getAct() + { + return $this->act; + } + + public function getMax() + { + return $this->max; + } + + public function getMin() + { + return $this->min; + } + + public function hasData() + { + return $this->has_data; + } +} diff --git a/app/Filament/Tables/Columns/ColumnTotal.php b/app/Filament/Tables/Columns/ColumnTotal.php index 4f174d03..fce334ff 100644 --- a/app/Filament/Tables/Columns/ColumnTotal.php +++ b/app/Filament/Tables/Columns/ColumnTotal.php @@ -34,17 +34,17 @@ class ColumnTotal extends Column public function loadData($record) { - $this->has_data = count($record->odds_total) ? true : false; + $this->has_data = count($record->odds_totals) ? true : false; - $this->act = $record->odds_total->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + $this->act = $record->odds_totals->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); - $this->max['over'] = $record->odds_total->max('over'); + $this->max['over'] = $record->odds_totals->max('over'); - $this->max['under'] = $record->odds_total->max('under'); + $this->max['under'] = $record->odds_totals->max('under'); - $this->min['over'] = $record->odds_total->min('over'); + $this->min['over'] = $record->odds_totals->min('over'); - $this->min['under'] = $record->odds_total->min('under'); + $this->min['under'] = $record->odds_totals->min('under'); } diff --git a/app/Filament/Tables/Columns/ColumnTotalQ1.php b/app/Filament/Tables/Columns/ColumnTotalQ1.php new file mode 100644 index 00000000..7b4cfd32 --- /dev/null +++ b/app/Filament/Tables/Columns/ColumnTotalQ1.php @@ -0,0 +1,70 @@ +user()->bookmaker_id); + + $this->bookmakers = $bookmakers; + + return $this; + } + + public function getBookmaker(): ?array + { + return $this->bookmakers; + } + + public function loadData($record) + { + $this->has_data = count($record->odds_totals_q1) ? true : false; + + $this->act = $record->odds_totals_q1->where('bookmaker_id', auth()->user()->bookmaker_id)->first(); + + $this->max['over'] = $record->odds_totals_q1->max('over'); + + $this->max['under'] = $record->odds_totals_q1->max('under'); + + $this->min['over'] = $record->odds_totals_q1->min('over'); + + $this->min['under'] = $record->odds_totals_q1->min('under'); + + } + + public function getAct() + { + return $this->act; + } + + public function getMax() + { + return $this->max; + } + + public function getMin() + { + return $this->min; + } + + public function hasData() + { + return $this->has_data; + } +} diff --git a/app/Livewire/BettypeToggle.php b/app/Livewire/BettypeToggle.php index 36e04a1a..27191a9e 100644 --- a/app/Livewire/BettypeToggle.php +++ b/app/Livewire/BettypeToggle.php @@ -18,13 +18,13 @@ class BettypeToggle extends Component { $this->multilines = []; - $res = BettypeUser::with('multiline')->get(); + $res = BettypeUser::with('multiline_setting')->orderBy('multiline_setting_id')->get(); foreach ($res as $set) { $this->multilines[] = [ 'id' => $set->multiline_setting_id, - 'name' => $set->multiline->name, - 'short' => $set->multiline->short, + 'name' => $set->multiline_setting->name, + 'short' => $set->multiline_setting->short, 'is_active' => $set->is_active, ]; } diff --git a/app/Models/BettypeUser.php b/app/Models/BettypeUser.php index 8793169e..5ed48f25 100644 --- a/app/Models/BettypeUser.php +++ b/app/Models/BettypeUser.php @@ -22,8 +22,8 @@ class BettypeUser extends Model static::addGlobalScope(new UserScope); } - public function multiline() + public function multiline_setting() { - return $this->hasOne(MultilineSetting::class, 'id', 'multiline_setting_id'); + return $this->belongsTo(MultilineSetting::class); } } diff --git a/app/Models/Event.php b/app/Models/Event.php index b01b7734..fd9ae49f 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -68,21 +68,26 @@ class Event extends Model return $this->belongsTo(Element::class); } - public function odds_2way() + public function odds_2ways() { return $this->hasMany(Odds2way::class); } - public function odds_2way_s1() + public function odds_2ways_s1() { return $this->hasMany(Odds2wayS1::class); } - public function odds_3way() + public function odds_3ways() { return $this->hasMany(Odds3way::class); } + public function odds_3ways_ht() + { + return $this->hasMany(Odds3wayHt::class); + } + public function odds_dc() { return $this->hasMany(OddsDc::class); @@ -98,24 +103,34 @@ class Event extends Model return $this->hasMany(OddsGgng::class); } - public function odds_point() + public function odds_points() { - return $this->hasMany(OddsPoint::class); + return $this->hasMany(OddsPoint::class)->where('active_spread', 1); } - public function odds_point_q1() + public function odds_points_q1() { - return $this->hasMany(OddsPointQ1::class); + return $this->hasMany(OddsPointQ1::class)->where('active_spread', 1); } - public function odds_total() + public function odds_points_ht() { - return $this->hasMany(OddsTotal::class); + return $this->hasMany(OddsPointHt::class)->where('active_spread', 1); } - public function odds_total_q1() + public function odds_totals() { - return $this->hasMany(OddsTotalQ1::class); + return $this->hasMany(OddsTotal::class)->where('active_spread', 1); + } + + public function odds_totals_q1() + { + return $this->hasMany(OddsTotalQ1::class)->where('active_spread', 1); + } + + public function odds_totals_ht() + { + return $this->hasMany(OddsTotalHt::class)->where('active_spread', 1); } public function odds_tq() diff --git a/app/Models/OddsPoint.php b/app/Models/OddsPoint.php index 28f1882b..684105a4 100644 --- a/app/Models/OddsPoint.php +++ b/app/Models/OddsPoint.php @@ -20,6 +20,8 @@ class OddsPoint extends Model 'away', 'handicap', 'margin', + 'difference', + 'active_spread', 'flag', 'nuh_check', 'add_time', diff --git a/app/Models/OddsPointHt.php b/app/Models/OddsPointHt.php index 6f877cff..c9710ce2 100644 --- a/app/Models/OddsPointHt.php +++ b/app/Models/OddsPointHt.php @@ -20,6 +20,8 @@ class OddsPointHt extends Model 'away', 'handicap', 'margin', + 'difference', + 'active_spread', 'flag', 'nuh_check', 'add_time', diff --git a/app/Models/OddsPointQ1.php b/app/Models/OddsPointQ1.php index 161a2561..cf73ba83 100644 --- a/app/Models/OddsPointQ1.php +++ b/app/Models/OddsPointQ1.php @@ -20,6 +20,8 @@ class OddsPointQ1 extends Model 'away', 'handicap', 'margin', + 'difference', + 'active_spread', 'flag', 'nuh_check', 'add_time', diff --git a/app/Models/OddsTotal.php b/app/Models/OddsTotal.php index 3b3fdb92..75b5da6f 100644 --- a/app/Models/OddsTotal.php +++ b/app/Models/OddsTotal.php @@ -20,6 +20,8 @@ class OddsTotal extends Model 'under', 'total', 'margin', + 'difference', + 'active_spread', 'flag', 'nuh_check', 'add_time', diff --git a/app/Models/OddsTotalHt.php b/app/Models/OddsTotalHt.php index 170b68e7..d6770539 100644 --- a/app/Models/OddsTotalHt.php +++ b/app/Models/OddsTotalHt.php @@ -20,6 +20,8 @@ class OddsTotalHt extends Model 'under', 'total', 'margin', + 'difference', + 'active_spread', 'flag', 'nuh_check', 'add_time', diff --git a/app/Models/OddsTotalQ1.php b/app/Models/OddsTotalQ1.php index fce589ef..a28be565 100644 --- a/app/Models/OddsTotalQ1.php +++ b/app/Models/OddsTotalQ1.php @@ -19,6 +19,8 @@ class OddsTotalQ1 extends Model 'over', 'under', 'spread', + 'difference', + 'active_spread', 'margin', 'flag', 'nuh_check', diff --git a/database/migrations/2024_11_08_053439_create_odds_points_q1_table.php b/database/migrations/2024_11_08_053439_create_odds_points_q1_table.php index 995c1cdd..0ba8d10a 100644 --- a/database/migrations/2024_11_08_053439_create_odds_points_q1_table.php +++ b/database/migrations/2024_11_08_053439_create_odds_points_q1_table.php @@ -21,9 +21,10 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('home', 7, 3)->default(0); $table->decimal('away', 7, 3)->default(0); - $table->decimal('handicap', 7, 3)->default(0); + $table->decimal('handicap', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->decimal('difference', 5, 4)->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('flag')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamp('starttime')->nullable(); diff --git a/database/migrations/2024_11_08_053439_create_odds_points_table.php b/database/migrations/2024_11_08_053439_create_odds_points_table.php index 2ff3ff84..1fd75a6d 100644 --- a/database/migrations/2024_11_08_053439_create_odds_points_table.php +++ b/database/migrations/2024_11_08_053439_create_odds_points_table.php @@ -21,9 +21,10 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('home', 7, 3)->default(0); $table->decimal('away', 7, 3)->default(0); - $table->decimal('handicap', 7, 3)->default(0); + $table->decimal('handicap', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->decimal('difference', 5, 4)->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('flag')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamp('starttime')->nullable(); diff --git a/database/migrations/2024_11_08_053445_create_odds_points_ht_table.php b/database/migrations/2024_11_08_053445_create_odds_points_ht_table.php index 3869de88..13c0d0ca 100644 --- a/database/migrations/2024_11_08_053445_create_odds_points_ht_table.php +++ b/database/migrations/2024_11_08_053445_create_odds_points_ht_table.php @@ -21,9 +21,10 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('home', 7, 3)->default(0); $table->decimal('away', 7, 3)->default(0); - $table->decimal('handicap', 7, 3)->default(0); + $table->decimal('handicap', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->decimal('difference', 5, 4)->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('flag')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamps(); diff --git a/database/migrations/2024_11_08_053445_create_odds_total_ht_table.php b/database/migrations/2024_11_08_053445_create_odds_total_ht_table.php index 90a2ee87..97274ddd 100644 --- a/database/migrations/2024_11_08_053445_create_odds_total_ht_table.php +++ b/database/migrations/2024_11_08_053445_create_odds_total_ht_table.php @@ -21,9 +21,10 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('over', 7, 3)->default(0); $table->decimal('under', 7, 3)->default(0); - $table->decimal('total', 7, 3)->default(0); + $table->decimal('total', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->decimal('difference', 5, 4)->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('flag')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamps(); diff --git a/database/migrations/2024_11_08_053445_create_odds_total_q1_table.php b/database/migrations/2024_11_08_053445_create_odds_total_q1_table.php index 884f40a0..40f27bfe 100644 --- a/database/migrations/2024_11_08_053445_create_odds_total_q1_table.php +++ b/database/migrations/2024_11_08_053445_create_odds_total_q1_table.php @@ -21,10 +21,11 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('over', 7, 3)->default(0); $table->decimal('under', 7, 3)->default(0); - $table->decimal('total', 7, 3)->default(0); + $table->decimal('total', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->decimal('difference', 5, 4)->default(0); $table->boolean('flag')->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamps(); }); diff --git a/database/migrations/2024_11_08_053445_create_odds_total_table.php b/database/migrations/2024_11_08_053445_create_odds_total_table.php index ceb3d2e3..3bf7a8f2 100644 --- a/database/migrations/2024_11_08_053445_create_odds_total_table.php +++ b/database/migrations/2024_11_08_053445_create_odds_total_table.php @@ -21,10 +21,11 @@ return new class extends Migration $table->string('bmoid')->nullable(); $table->decimal('over', 7, 3)->default(0); $table->decimal('under', 7, 3)->default(0); - $table->decimal('total', 7, 3)->default(0); + $table->decimal('total', 5, 2)->default(0); $table->decimal('margin', 5, 1)->default(0); $table->boolean('flag')->default(0); $table->decimal('difference', 5, 4)->default(0); + $table->boolean('active_spread')->default(0); $table->boolean('nuh_check')->default(0); $table->timestamps(); }); diff --git a/database/seeders/SupervisorSeeder.php b/database/seeders/SupervisorSeeder.php index 3632de44..7148ffca 100644 --- a/database/seeders/SupervisorSeeder.php +++ b/database/seeders/SupervisorSeeder.php @@ -14,7 +14,7 @@ class SupervisorSeeder extends Seeder */ $sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `sleep`, `limit`, `runtime`, `maxsconds`, `lastcall`, `is_cron`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`) VALUES - (1, 'Fixtures', 1, 1, 10, 0, '0.073', 1800, 0, 1, 1, 0, 0, '2025-08-27 07:39:55', '2026-01-08 10:23:28'), + (1, 'Fixtures', 1, 1, 10, 0, '0.129', 1800, 0, 1, 1, 0, 0, '2025-08-27 07:39:55', '2026-01-09 08:15:55'), (2, 'Odds', 1, 1, 10, 0, '0.251', 30, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-01-08 17:56:27'), (3, 'Fixtures', 2, 0, 15, 0, '0.133', 1800, 0, 1, 1, 0, 0, '2025-12-19 11:42:35', '2026-01-08 10:25:32'), (4, 'Willhill', 2, 0, 15, 0, '2.119', 1800, 0, 1, 1, 0, 0, '2025-12-19 11:48:05', '2026-01-04 10:27:11'), @@ -32,10 +32,10 @@ class SupervisorSeeder extends Seeder (16, 'Odds', 6, 1, 10, 0, '1.368', 30, 0, 0, 1, 0, 0, '2025-12-18 17:44:33', '2026-01-05 06:22:27'), (17, 'Odds', 6, 3, 15, 0, NULL, 1800, 0, 0, 1, 0, 0, '2026-01-03 12:27:44', '2026-01-05 06:22:37'), (18, 'Odds', 6, 2, 10, 0, '1.368', 30, 0, 0, 1, 0, 0, '2025-12-18 17:44:33', '2026-01-05 06:22:51'), - (19, 'Odds', 6, 5, 15, 0, NULL, 1800, 0, 0, 1, 0, 0, '2026-01-03 12:27:44', '2026-01-03 12:27:53'), - (20, 'Odds', 1, 3, 15, 0, NULL, 1800, 0, 0, 0, 0, 10, '2026-01-08 17:56:50', '2026-01-08 17:56:55'), - (21, 'Odds', 1, 2, 15, 0, NULL, 1800, 0, 0, 0, 0, 10, '2026-01-08 17:57:14', '2026-01-08 17:57:50'), - (22, 'Odds', 1, 5, 15, 0, NULL, 1800, 0, 0, 0, 0, 10, '2026-01-08 17:57:24', '2026-01-08 17:57:52'); + (19, 'Odds', 6, 5, 15, 0, NULL, 30, 0, 0, 1, 0, 0, '2026-01-03 12:27:44', '2026-01-03 12:27:53'), + (20, 'Odds', 1, 3, 15, 0, NULL, 30, 0, 0, 1, 0, 10, '2026-01-08 17:56:50', '2026-01-09 08:16:58'), + (21, 'Odds', 1, 2, 15, 0, NULL, 30, 0, 0, 1, 0, 10, '2026-01-08 17:57:14', '2026-01-09 08:16:59'), + (22, 'Odds', 1, 5, 15, 0, NULL, 30, 0, 0, 1, 0, 10, '2026-01-08 17:57:24', '2026-01-09 08:17:00'); "; DB::unprepared($sql); } diff --git a/resources/views/filament/tables/columns/column-dc.blade.php b/resources/views/filament/tables/columns/column-dc.blade.php index 86f7c265..4fd05754 100644 --- a/resources/views/filament/tables/columns/column-dc.blade.php +++ b/resources/views/filament/tables/columns/column-dc.blade.php @@ -18,36 +18,36 @@ @foreach ($record->odds_dc as $item) @if ($item->bookmaker_id == $bookmaker_id) @include('filament.tables.columns.multiline.bkm', [ - 'bookmaker_id' => $item->bookmaker_id, - 'icon' => $item->bookmaker->icon ?? '', - ]) + 'bookmaker_id' => $item->bookmaker_id, + 'icon' => $item->bookmaker->icon ?? '', + ]) - @include('filament.tables.columns.multiline.odds', [ - 'odd' => $item->dc1x, - 'dec' => 2, - 'hig' => isset($act['dc1x']) && $item->dc1x >= $act['dc1x'] ? 1: 0, - 'has' => isset($act['dc1x']) && $item->bookmaker_id != auth()->user()->bookmaker_id, - ]) + @include('filament.tables.columns.multiline.odds', [ + 'odd' => $item->dc1x, + 'dec' => 2, + 'hig' => isset($act['dc1x']) && $item->dc1x >= $act['dc1x'] ? 1 : 0, + 'has' => isset($act['dc1x']) && $item->bookmaker_id != auth()->user()->bookmaker_id, + ]) - @include('filament.tables.columns.multiline.odds', [ - 'odd' => $item->dc12, - 'dec' => 2, - 'hig' => isset($act['dc12']) && $item->dc12 >= $act['dc12'] ? 1: 0, - 'has' => isset($act['dc12']) && $item->bookmaker_id != auth()->user()->bookmaker_id, - ]) + @include('filament.tables.columns.multiline.odds', [ + 'odd' => $item->dc12, + 'dec' => 2, + 'hig' => isset($act['dc12']) && $item->dc12 >= $act['dc12'] ? 1 : 0, + 'has' => isset($act['dc12']) && $item->bookmaker_id != auth()->user()->bookmaker_id, + ]) - @include('filament.tables.columns.multiline.odds', [ - 'odd' => $item->dcx2, - 'dec' => 2, - 'hig' => isset($act['dcx2']) && $item->dcx2 >= $act['dcx2'] ? 1: 0, - 'has' => isset($act['dcx2']) && $item->bookmaker_id != auth()->user()->bookmaker_id, - ]) + @include('filament.tables.columns.multiline.odds', [ + 'odd' => $item->dcx2, + 'dec' => 2, + 'hig' => isset($act['dcx2']) && $item->dcx2 >= $act['dcx2'] ? 1 : 0, + 'has' => isset($act['dcx2']) && $item->bookmaker_id != auth()->user()->bookmaker_id, + ]) - @include('filament.tables.columns.multiline.odds', [ - 'odd' => $item->margin, - 'dec' => 1, - 'has' => false - ]) + @include('filament.tables.columns.multiline.odds', [ + 'odd' => $item->margin, + 'dec' => 1, + 'has' => false, + ]) @endif @endforeach @endforeach diff --git a/resources/views/filament/tables/columns/column-ml-s1.blade.php b/resources/views/filament/tables/columns/column-ml-s1.blade.php new file mode 100644 index 00000000..f27c9885 --- /dev/null +++ b/resources/views/filament/tables/columns/column-ml-s1.blade.php @@ -0,0 +1,49 @@ +@php + $loadData($record); +@endphp + +@if ($hasData()) + + @include('filament.tables.columns.fumetto.fumetto_ml_s1') + +