This commit is contained in:
salam committed 2026-01-26 12:17:24 +01:00
1 parent 49b1eba348
commit 9ca5657827
28 files changed
+288 -234

No files matched your search

@@ -4,6 +4,7 @@ namespace App\Console\Commands\Grapper\Fixtures;
use App\Console\Commands\Nuh;
use App\Models\Event;
use App\Models\EventBookmaker;
use App\Models\Mapper;
use Illuminate\Support\Carbon;
@@ -50,19 +51,23 @@ class FindFixture
break;
case 3:
// MAGLOO KENIA
$match = Event::where('magken_id', $event_id)->first();
$res = EventBookmaker::where('bookmaker_id', 10)->where('event_id', $event_id)->first();
$match = Event::where('id', $res->event_id)->first();
break;
case 4:
// MAGLOO NIGERIA
$match = Event::where('magnig_id', $event_id)->first();
$res = EventBookmaker::where('bookmaker_id', 16)->where('event_id', $event_id)->first();
$match = Event::where('id', $res->event_id)->first();
break;
case 5:
// LOGIFUTUR NIGERA
$match = Event::where('lognig_id', $event_id)->first();
$res = EventBookmaker::where('bookmaker_id', 35)->where('event_id', $event_id)->first();
$match = Event::where('id', $res->event_id)->first();
break;
case 6:
// LOGIFUTUR COLOMBIA
$match = Event::where('logcol_id', $event_id)->first();
$res = EventBookmaker::where('bookmaker_id', 36)->where('event_id', $event_id)->first();
$match = Event::where('id', $res->event_id)->first();
break;
}
}
@@ -148,30 +153,6 @@ class FindFixture
$update_array['bet365_id'] = $bet365_id;
}
switch ($event['provider_id']) {
case 2:
// BETSAPI
$update_array['betsapi_id'] = $event_id;
break;
case 3:
// MAGLOO KENIA
$update_array['magken_id'] = $event_id;
break;
case 4:
// MAGLOO NIGERIA
$update_array['magnig_id'] = $event_id;
break;
case 5:
// LOGIFUTUR NIGERA
$update_array['lognig_id'] = $event_id;
break;
case 6:
// LOGIFUTUR COLOMBIA
$update_array['logcol_id'] = $event_id;
break;
default:
}
if ($update_array) {
Event::where('id', $match_id)->update($update_array);
}
+4 -4
View File
@@ -61,7 +61,7 @@ class Odds
$starttime = Carbon::parse($match['dt'])->toDateTimeString();
$event_id = Event::where('betradar_id', $betradar_id)->orWhere('magnig_id', $bmoid)->orWhere('magken_id', $bmoid)->value('id');
$event_id = Event::where('betradar_id', $betradar_id)->value('id');
if ($event_id) {
$base = [];
@@ -80,9 +80,9 @@ class Odds
'bookmaker_id' => Nuh::$options['bookmaker_id'],
], ['starttime' => $starttime, 'in_feed' => 1, 'bmoid' => $base['bmoid']]);
if ($event_id == 14190947) {
// dd($match['M']);
}
// if ($event_id == 14190947) {
// dd($match['M']);
// }
foreach ($match['M'] as $magloo_bettype_id => $value) {
switch ($magloo_bettype_id) {
@@ -23,37 +23,46 @@ class GenerateDefaultSetting
Notice::note('GENERATE DEFAULT SETTING', 'b');
}
if ($debug) {
Notice::note('1) multiline bookmaker slots for client', 'p');
}
/**************************************************
* MULTILINE SLOTS
**************************************************/
$sports = Sport::where('is_active', 1)->pluck('id');
if ($debug) {
Notice::note('1) MULTILINE SLOTS', 'p');
}
$bookmaker_slots = [1 => 6, 2 => 30, 3 => 649, 4 => 126];
$clients = Client::get()->pluck('id');
$clients = Client::get();
foreach ($clients as $client_id) {
foreach ($clients as $client) {
foreach ($sports as $sport_id) {
foreach ($client->sport as $sport_id) {
$multilines = MultilineSetting::where('sport_id', $sport_id)->get()->pluck('id');
foreach ($client->bookmaker as $client_bookmaker_id) {
foreach ($multilines as $multiline_id) {
$multilines = MultilineSetting::where('sport_id', $sport_id)->get()->pluck('id');
foreach ($bookmaker_slots as $slot => $bookmaker_id) {
foreach ($multilines as $multiline_id) {
MultilineClient::firstOrCreate(
['client_id' => $client_id, 'sport_id' => $sport_id, 'multiline_setting_id' => $multiline_id, 'position' => $slot],
['bookmaker_id' => $bookmaker_id, 'sort' => $slot, 'disabled' => 0]
);
foreach ($bookmaker_slots as $slot => $bookmaker_id) {
MultilineClient::firstOrCreate(
['client_bookmaker_id' => $client_bookmaker_id, 'sport_id' => $sport_id, 'multiline_setting_id' => $multiline_id, 'position' => $slot],
['bookmaker_id' => $bookmaker_id, 'sort' => $slot, 'disabled' => 0]
);
}
}
}
}
}
/**************************************************
* BETTYPES for USER in MONITOR
**************************************************/
if ($debug) {
Notice::note('2) generator bettypes im comparatore for users', 'p');
Notice::note('2) GENERATOR BETTYPES IM COMPARATORE FOR USERS', 'p');
}
$users = User::get();
@@ -73,8 +82,12 @@ class GenerateDefaultSetting
}
}
/**************************************************
* COMPARING BOOKMAKER
**************************************************/
if ($debug) {
Notice::note('3) comparing bookmaker', 'p');
Notice::note('3) COMPARING BOOKMAKER', 'p');
}
$res = Client::get();
@@ -58,33 +58,20 @@ class EventResource extends Resource
->with('home')
->with('away')
->with('event_user_star')
->with('event_bookmaker')
->where('starttime', '>=', now());
if (auth()->user()->stars) {
$query->whereHas('event_user_star');
}
if (auth()->user()->all_only_none) {
switch (auth()->user()->bookmaker_id) {
case 10:
$field = 'magnig_id';
break;
case 16:
$field = 'magken_id';
break;
case 35:
$field = 'lognig_id';
break;
case 36:
$field = 'logcol_id';
break;
}
if (auth()->user()->all_only_none > 0) {
switch (auth()->user()->all_only_none) {
case 1:
$query->where($field, 1);
$query->whereHas('event_bookmaker');
break;
case 2:
$query->where($field, 0);
$query->doesntHave('event_bookmaker');
break;
}
}
@@ -11,6 +11,7 @@ use App\Filament\Tables\Columns\TooltipOdds;
use App\Models\CompetitionGroup;
use App\Models\Country;
use App\Models\Event;
use App\Models\EventBookmaker;
use App\Models\EventUserStar;
use App\Models\Group;
use App\Models\Sport;
@@ -33,6 +34,7 @@ use Filament\Tables\Filters\Indicator;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
class EventsTable
{
@@ -164,7 +166,7 @@ class EventsTable
->verticalAlignment(VerticalAlignment::Start)
->label('Draw No Bet'),
])->searchable(['id', 'home.name', 'away.name', 'betsapi_id', 'betradar_id', 'bet365_id', 'bwin_id', 'magnig_id', 'magken_id', 'lognig_id', 'logcol_id'])
])->searchable(['id', 'home.name', 'away.name', 'betsapi_id', 'betradar_id', 'bet365_id', 'bwin_id', 'event_bookmaker.event_id'])
->defaultSort('starttime', 'ASC')
->extremePaginationLinks()
->filters([
@@ -349,7 +351,7 @@ class EventsTable
->recordActions([
Action::make('star')
->iconButton()
// ->color('gray')
->color('gray')
->icon(function ($record) {
if (isset($record->event_user_star->id)) {
return 'phosphor-star-fill';
@@ -377,6 +379,14 @@ class EventsTable
->icon('phosphor-arrow-square-out')
->url(fn ($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id]))
->openUrlInNewTab(),
Action::make('swap_elements')
->icon('phosphor-swap')
->action(function ($record, $livewire) {
EventBookmaker::where('event_id', $record->id)->where('bookmaker_id', auth()->user()->bookmaker_id)->update(['is_swopped' => DB::raw('!is_swopped')]);
$livewire->dispatch('refreshBettypeMenu');
}),
])->iconButton()
->icon('phosphor-dots-three-vertical'),
])->toolbarActions([
@@ -39,6 +39,7 @@ class LoadMultiline
}
$res = MultilineClient::with('multiline_setting')
->where('client_bookmaker_id', auth()->user()->bookmaker_id)
->select('bookmaker_id', 'multiline_setting_id')
->orderBy('sort')
->get();
+1 -23
View File
@@ -43,32 +43,10 @@ class LoadEvents
case 2:
// BETSAPI
return $query->where('betsapi_id', 0);
break;
case 3:
// Magloo Kenia
return $query->where('magken_id', 0);
break;
case 4:
// Magloo Nigeria
return $query->where('magnig_id', 0);
break;
case 5:
// Logifuture Nigeria
return $query->where('lognig_id', 0);
break;
case 6:
// Magloo Colombia
return $query->where('logcol_id', 0);
break;
default:
return $query->where('betradar_id', 0);
return $query->with('event_bookmaker')->doesntHave('event_bookmaker');
break;
}
}
}
+20 -9
View File
@@ -5,6 +5,7 @@ namespace App\Livewire\Mapper;
use App\Models\CompetitionGroupProvider;
use App\Models\ElementProvider;
use App\Models\Event;
use App\Models\EventBookmaker;
use App\Models\Mapper;
use Illuminate\Support\Facades\Auth;
@@ -26,10 +27,6 @@ class StoreMapped
"bet365_id" => 0
"_1xbet_id" => 0
"bwin_id" => 0
"magnig_id" => 0
"magken_id" => 0
"lognig_id" => 0
"logcol_id" => 0
"starttime" => "2026-01-02 13:00:00"
"sport_id" => 1
"country_id" => 365
@@ -79,27 +76,41 @@ class StoreMapped
switch ($mapper->provider_id) {
case 2:
// BETSAPI
$event->betradar_id = $mapper->betradar_id ?? 0;
$event->betsapi_id = $mapper->event_id;
$event->bet365_id = $mapper->bet365_id ?? 0;
break;
case 3:
// MAGLOO KENIA
$event->magken_id = $mapper->event_id;
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'bookmaker_id' => 16,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 4:
// MAGLOO NIGERIA
$event->magnig_id = $mapper->event_id;
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'bookmaker_id' => 10,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 5:
// LOGIFUTUR NIGERA
$event->lognig_id = $mapper->event_id;
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'bookmaker_id' => 35,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 6:
// LOGIFUTUR COLOMBIA
$event->logcol_id = $mapper->event_id;
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'bookmaker_id' => 36,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
}
if ($mapper->betradar_id) {
$event->betradar_id = $mapper->betradar_id;
}
$event->save();
Mapper::where('event_id', $arguments['event_id'])->delete();
+3 -2
View File
@@ -37,7 +37,8 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
public static function load_filter($sport_id)
{
self::$default_filter = MultilineSetting::where('sport_id', $sport_id)->orderBy('id')->pluck('id')->first();
self::$default_filter = MultilineSetting::where('sport_id', $sport_id)
->orderBy('id')->pluck('id')->first();
}
public function table(Table $table): Table
@@ -48,7 +49,7 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
self::load_filter($this->user->sport_id);
return $table
->query(MultilineClient::query()->where('sport_id', $this->user->sport_id))
->query(MultilineClient::query()->where('client_bookmaker_id', auth()->user()->bookmaker_id)->where('sport_id', $this->user->sport_id))
->paginated(false)
->columns([
IconColumn::make('sport.icon')
+4 -1
View File
@@ -2,6 +2,7 @@
namespace App\Livewire;
use App\Models\Provider;
use App\Models\Sport;
use App\Models\User;
use Illuminate\Support\Facades\Route;
@@ -38,7 +39,9 @@ class TopMenuItems extends Component
public function swopBookmaker($bookmaker_id)
{
User::where('id', auth()->user()->id)->update(['bookmaker_id' => $bookmaker_id]);
$provider_id = Provider::where('bookmaker_id', $bookmaker_id)->value('id');
User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id]);
$this->js('window.location.reload()');
}
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class AlarmSetting extends Model
{
//
}
+5
View File
@@ -142,4 +142,9 @@ class Event extends Model
{
return $this->hasOne(EventUserStar::class, 'event_id', 'id')->where('user_id', auth()->user()->id);
}
public function event_bookmaker()
{
return $this->hasOne(EventBookmaker::class, 'event_id', 'id')->where('bookmaker_id', auth()->user()->bookmaker_id);
}
}
+17 -15
View File
@@ -9,24 +9,26 @@ class EventBookmaker extends Model
protected $fillable = [
'event_id',
'bookmaker_id',
'starttime',
'bmoid',
'in_feed',
'is_swopped',
'send_status',
'starttime',
'bkm_2w',
'bkm_2ws1',
'bkm_3w',
'bkm_3wht',
'bkm_dc',
'bkm_dbn',
'bkm_ggng',
'bkm_po',
'bkm_poht',
'bkm_poq1',
'bkm_to',
'bkm_toht',
'bkm_toq1',
'bkm_tq',
'has_to_qualify',
'alarm_2w',
'alarm_2ws1',
'alarm_3w',
'alarm_3wht',
'alarm_dc',
'alarm_dbn',
'alarm_ggng',
'alarm_po',
'alarm_poht',
'alarm_poq1',
'alarm_to',
'alarm_toht',
'alarm_toq1',
'alarm_tq',
];
public function event()
+1 -5
View File
@@ -2,14 +2,13 @@
namespace App\Models;
use App\Models\Scopes\ClientScope;
use App\Models\Scopes\SportScope;
use Illuminate\Database\Eloquent\Model;
class MultilineClient extends Model
{
protected $fillable = [
'client_id',
'client_bookmaker_id',
'sport_id',
'multiline_setting_id',
'disabled',
@@ -35,9 +34,6 @@ class MultilineClient extends Model
protected static function booted(): void
{
static::addGlobalScope(new ClientScope);
static::addGlobalScope(new SportScope);
}
}
Generated
+3 -3
View File
@@ -12814,12 +12814,12 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {},
"stability-flags": [],
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.3"
},
"platform-dev": {},
"plugin-api-version": "2.9.0"
"platform-dev": [],
"plugin-api-version": "2.6.0"
}
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('bookmaker_id')->index()->references('id')->on('bookmakers');
$table->timestamp('starttime')->nullable();
$table->string('bmoid')->nullable();
$table->boolean('is_swopped')->default(0);
$table->boolean('in_feed')->default(0);
$table->boolean('send_status')->default(0);
$table->boolean('has_to_qualify')->index()->default(0);
@@ -14,6 +14,7 @@ return new class extends Migration
Schema::create('bookmakers', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('name_short')->nullable();
$table->string('icon')->nullable();
$table->string('svg')->nullable();
$table->integer('baid')->default(0);
@@ -14,6 +14,7 @@ return new class extends Migration
Schema::create('providers', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('bookmaker_id')->default(0);
$table->string('base_url');
});
}
@@ -13,13 +13,12 @@ return new class extends Migration
{
Schema::create('multiline_clients', function (Blueprint $table) {
$table->id();
$table->integer('client_id')->default(0);
$table->integer('client_bookmaker_id')->default(0);
$table->integer('sport_id')->index()->references('id')->on('sports');
$table->boolean('disabled')->default(0);
$table->integer('multiline_setting_id')->default(1)->references('id')->on('multiline_settings');
$table->integer('bookmaker_id')->index()->references('id')->on('bookmakers');
$table->integer('position')->default(0);
$table->integer('sort')->default(0);
$table->integer('level_id')->default(0);
$table->decimal('alarm_threshold', 3, 2)->default(0);
$table->timestamps();
});
}
@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('alarm_settings', function (Blueprint $table) {
$table->id();
$table->integer('client_bookmaker_id')->default(0);
$table->integer('sport_id')->index()->references('id')->on('sports');
$table->boolean('disabled')->default(0);
$table->integer('multiline_setting_id')->default(1)->references('id')->on('multiline_settings');
$table->integer('bookmaker_id')->index()->references('id')->on('bookmakers');
$table->integer('position')->default(0);
$table->integer('sort')->default(0);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('alarm_settings');
}
};
+50 -51
View File
@@ -9,58 +9,57 @@ class BookmakerSeeder extends Seeder
{
public function run(): void
{
$sql = "INSERT INTO `bookmakers` (`id`, `name`, `icon`, `svg`, `baid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `in_soccer`, `in_other`, `need_check`, `deleted`, `created_at`, `updated_at`)
$sql = "INSERT INTO `bookmakers` (`id`, `name`, `name_short`, `icon`, `svg`, `baid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `in_soccer`, `in_other`, `need_check`, `deleted`, `created_at`, `updated_at`)
VALUES
(1, 'MISSING', 'missing', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2025-08-23 10:07:59'),
(5, 'Expekt', 'expekt', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:55'),
(6, 'UniBet', 'unibet', NULL, 10, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:47'),
(10, 'Magloo Nigeria', 'magloo-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:32'),
(13, 'Sportingbet', 'sportingbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:30'),
(14, 'Betika', 'betika', NULL, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:21'),
(15, 'Intertops', 'intertops', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:05:13'),
(16, 'Magloo Kenia', 'magloo-kenia', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'),
(17, 'Ladbrokes', 'ladbrokes', NULL, 7, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:40'),
(26, 'Interwetten', 'interwetten', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:06'),
(30, 'BWin', 'bwin', NULL, 3, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:16:22'),
(35, 'Logifuture Nigeria', 'logifuture-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'),
(36, 'Logifuture Colombia', 'logifuture-col', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:30'),
(42, 'William Hill', 'willhill', NULL, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:18:14'),
(49, 'Bet At Home', 'betathome', NULL, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, NULL, '2026-01-21 19:41:51'),
(83, 'Pinnacle', 'pinnacle', NULL, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, NULL, '2026-01-21 08:21:02'),
(110, 'BetFair', 'betfair', NULL, 4, 1, 0, 1, 0, 1, 1, 0, 1, 0, NULL, '2026-01-21 08:21:12'),
(117, 'SNAI', 'snai', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:28'),
(118, 'Nordicbet', 'nordicbet', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:03:29'),
(126, 'Bet365', 'bet365', NULL, 2, 0, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:11'),
(128, 'Goldbet', 'goldbet', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, NULL, '2026-01-21 08:22:36'),
(234, '5 Dimes', '5dimes', NULL, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, NULL, NULL),
(274, '10Bet', '10bet', NULL, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, NULL, '2026-01-21 08:22:47'),
(314, 'Matchbook', 'matchbook', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:06:53'),
(327, 'Sbobet', 'sbobet', NULL, 14, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:03:43'),
(340, 'Betway', 'betway', NULL, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(363, 'Tipico', 'tipico', NULL, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:45'),
(380, 'PartyBets', 'partybets', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:41'),
(388, 'Eurobet', 'eurobet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:52'),
(395, 'BetClick', 'betclick', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:06'),
(399, 'Bet3000', 'bet3000', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:04:27'),
(413, 'Better', 'better', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:02:42'),
(539, 'Marathonbet', 'marathonbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:25'),
(577, 'Sisal', 'sisal', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:55'),
(625, 'Betaland', 'betaland', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:05'),
(627, 'PlanetWin365', 'planetwin365', NULL, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(649, '1XBet', '1xbet', NULL, 18, 1, 1, 0, 0, 1, 1, 1, 2, 0, NULL, '2026-01-21 19:38:24'),
(658, 'Bet9ja', 'bet9ja', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:03'),
(668, 'SportPesa', 'sportpesa', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:33'),
(823, 'BetKing', 'betking', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 19:36:10'),
(824, 'BetPlay', 'betplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:37'),
(825, 'SportyBet', 'sportybet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:44'),
(827, 'WPlay', 'wplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:51'),
(828, 'ColBet', 'colbet', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:50'),
(1000, '888Sport', '888sport', NULL, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(1001, 'Betsson', 'betsson', NULL, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(1002, 'DafaBet', 'dafabet', NULL, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL),
(1003, 'BetVictor', 'betvictor', NULL, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL),
(1004, 'TitanBet', 'titanbet', NULL, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL);
";
(1, 'MISSING', '', 'missing', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2025-08-23 10:07:59'),
(5, 'Expekt', '', 'expekt', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:55'),
(6, 'UniBet', '', 'unibet', NULL, 10, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:47'),
(10, 'Magloo Nigeria', 'MagNig', 'magloo-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:32'),
(13, 'Sportingbet', '', 'sportingbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:30'),
(14, 'Betika', '', 'betika', NULL, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:21'),
(15, 'Intertops', '', 'intertops', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:05:13'),
(16, 'Magloo Kenia', 'MagKen', 'magloo-kenia', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'),
(17, 'Ladbrokes', '', 'ladbrokes', NULL, 7, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:40'),
(26, 'Interwetten', '', 'interwetten', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:06'),
(30, 'BWin', '', 'bwin', NULL, 3, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:16:22'),
(35, 'Logifuture Nigeria', 'LogNig', 'logifuture-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'),
(36, 'Logifuture Colombia', 'LogCol', 'logifuture-col', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:30'),
(42, 'William Hill', '', 'willhill', NULL, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:18:14'),
(49, 'Bet At Home', '', 'betathome', NULL, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, NULL, '2026-01-21 19:41:51'),
(83, 'Pinnacle', '', 'pinnacle', NULL, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, NULL, '2026-01-21 08:21:02'),
(110, 'BetFair', '', 'betfair', NULL, 4, 1, 0, 1, 0, 1, 1, 0, 1, 0, NULL, '2026-01-21 08:21:12'),
(117, 'SNAI', '', 'snai', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:28'),
(118, 'Nordicbet', '', 'nordicbet', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:03:29'),
(126, 'Bet365', '', 'bet365', NULL, 2, 0, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:11'),
(128, 'Goldbet', '', 'goldbet', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, NULL, '2026-01-21 08:22:36'),
(234, '5 Dimes', '', '5dimes', NULL, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, NULL, NULL),
(274, '10Bet', '', '10bet', NULL, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, NULL, '2026-01-21 08:22:47'),
(314, 'Matchbook', '', 'matchbook', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:06:53'),
(327, 'Sbobet', '', 'sbobet', NULL, 14, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:03:43'),
(340, 'Betway', '', 'betway', NULL, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(363, 'Tipico', '', 'tipico', NULL, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:45'),
(380, 'PartyBets', '', 'partybets', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:41'),
(388, 'Eurobet', '', 'eurobet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:52'),
(395, 'BetClick', '', 'betclick', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:06'),
(399, 'Bet3000', '', 'bet3000', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:04:27'),
(413, 'Better', '', 'better', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:02:42'),
(539, 'Marathonbet', '', 'marathonbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:25'),
(577, 'Sisal', '', 'sisal', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:55'),
(625, 'Betaland', '', 'betaland', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:05'),
(627, 'PlanetWin365', '', 'planetwin365', NULL, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(649, '1XBet', '', '1xbet', NULL, 18, 1, 1, 0, 0, 1, 1, 1, 2, 0, NULL, '2026-01-21 19:38:24'),
(658, 'Bet9ja', '', 'bet9ja', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:03'),
(668, 'SportPesa', '', 'sportpesa', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:33'),
(823, 'BetKing', '', 'betking', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 19:36:10'),
(824, 'BetPlay', '', 'betplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:37'),
(825, 'SportyBet', '', 'sportybet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:44'),
(827, 'WPlay', '', 'wplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:51'),
(828, 'ColBet', '', 'colbet', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:50'),
(1000, '888Sport', '', '888sport', NULL, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(1001, 'Betsson', '', 'betsson', NULL, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL),
(1002, 'DafaBet', '', 'dafabet', NULL, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL),
(1003, 'BetVictor', '', 'betvictor', NULL, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL),
(1004, 'TitanBet', '', 'titanbet', NULL, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL);";
DB::unprepared($sql);
}
+12 -12
View File
@@ -12,19 +12,19 @@ class ProvoiderSeeder extends Seeder
/**
* Provoider
*/
$sql = "INSERT INTO `providers` (`id`, `name`, `base_url`)
$sql = "INSERT INTO `providers` (`id`, `name`, `bookmaker_id`, `base_url`)
VALUES
(1, 'TXODDS', ''),
(2, 'BETSAPI', ''),
(3, 'MAGLOO KENIA', 'https://api.externalsvc.com/api/sb/affiliates/30'),
(4, 'MAGLOO NIGERIA', 'https://api.externalsvc.com/api/sb/affiliates/20'),
(5, 'LOGIFUTURE NIGERA', 'https://external-api.bet9ja.com/external'),
(6, 'LOGIFUTURE COLOMBIA', 'https://external-api.yajuego.co/external'),
(7, 'SERVICES', ''),
(8, 'TXODDS MARKET', ''),
(9, 'BETICA', ''),
(10, 'GOLDBET', 'https://oes.goldbet.it/SportsOddsService.svc/GetOdds');
";
(1, 'TXODDS', 0, ''),
(2, 'BETSAPI', 126, ''),
(3, 'MAGLOO KENIA', 16, 'https://api.externalsvc.com/api/sb/affiliates/30'),
(4, 'MAGLOO NIGERIA', 10, 'https://api.externalsvc.com/api/sb/affiliates/20'),
(5, 'LOGIFUTURE NIGERA', 35, 'https://external-api.bet9ja.com/external'),
(6, 'LOGIFUTURE COLOMBIA', 36, 'https://external-api.yajuego.co/external'),
(7, 'SERVICES', 0, ''),
(8, 'TXODDS MARKET', 0, ''),
(9, 'BETICA', 0, ''),
(10, 'GOLDBET', 0, 'https://oes.goldbet.it/SportsOddsService.svc/GetOdds');
";
DB::unprepared($sql);
}
@@ -1,4 +0,0 @@
<div
class="text-gray-600 dark:text-gray-500 border border-gray-300 dark:border-gray-700 bg-gray-50 dark:bg-gray-100/10 rounded">
{{ $slot }}
</div>
@@ -0,0 +1,4 @@
<div
class="text-primary-600 dark:text-primary-400 border border-primary-300 dark:border-primary-600 bg-primary-50 dark:bg-primary-100/10 rounded">
{{ $slot }}
</div>
@@ -1,8 +1,19 @@
<div {{ $getExtraAttributeBag() }} class="flex flex-col gap-2 w-full">
<div class="flex flex-1 gap-1">
<div>{{ $record->home->name }}</div>
<div>-</div>
<div>{{ $record->away->name }}</div>
@if($record->event_bookmaker?->is_swopped)
<div {{ $getExtraAttributeBag() }} class="flex flex-col gap-2 w-full">
<div class="flex flex-1 gap-1">
<div>{{ $record->away->name }}</div>
<div>-</div>
<div>{{ $record->home->name }}</div>
</div>
<div class="text-gray-600 dark:text-gray-500 text-xs">{{ $record->group->name }}</div>
</div>
<div class="text-gray-600 dark:text-gray-500 text-xs">{{ $record->group->name }}</div>
</div>
@else
<div {{ $getExtraAttributeBag() }} class="flex flex-col gap-2 w-full">
<div class="flex flex-1 gap-1">
<div>{{ $record->home->name }}</div>
<div>-</div>
<div>{{ $record->away->name }}</div>
</div>
<div class="text-gray-600 dark:text-gray-500 text-xs">{{ $record->group->name }}</div>
</div>
@endif
@@ -55,5 +55,12 @@
{{ $record->logcol_id }}
</div>
@endif
@if ($record->event_bookmaker?->event_id)
<div>{{ auth()->user()->bookmaker->name_short }}</div>
<div>
{{ $record->event_bookmaker->event_id }}
</div>
@endif
</div>
</div>
@@ -18,7 +18,8 @@
@break
@default
<x-alarm-gray>
<x-alarm-neutral>
{{ number_format($odd, $d) }}
</x-alarm-gray>
</x-alarm-neutral>
@break
@endswitch
@@ -104,35 +104,37 @@
</x-slot>
<x-filament::dropdown.list @click="toggle">
@if (in_array(auth()->user()->bookmaker_id, [35, 36]))
@if (auth()->user()->provider_id != 5)
<x-filament::dropdown.list.item wire:click="swopProvider(5)">
<x-bkm-logifuture-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@if (auth()->user()->provider_id != 6)
<x-filament::dropdown.list.item wire:click="swopProvider(6)">
<x-bkm-logifuture-colombia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@endif
@if (in_array(auth()->user()->bookmaker_id, [10, 16]))
@if (auth()->user()->provider_id != 4)
<x-filament::dropdown.list.item wire:click="swopProvider(4)">
<x-bkm-magloo-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@if (auth()->user()->provider_id != 3)
<x-filament::dropdown.list.item wire:click="swopProvider(3)">
<x-bkm-magloo-kenia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@endif
@switch(auth()->user()->bookmaker_id)
@case(35)
@if (auth()->user()->provider_id != 5)
<x-filament::dropdown.list.item wire:click="swopProvider(5)">
<x-bkm-logifuture-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@break
@case(36)
@if (auth()->user()->provider_id != 6)
<x-filament::dropdown.list.item wire:click="swopProvider(6)">
<x-bkm-logifuture-colombia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@break
@case(10)
@if (auth()->user()->provider_id != 4)
<x-filament::dropdown.list.item wire:click="swopProvider(4)">
<x-bkm-magloo-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@break
@case(16)
@if (auth()->user()->provider_id != 3)
<x-filament::dropdown.list.item wire:click="swopProvider(3)">
<x-bkm-magloo-kenia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@break
@default
@endswitch
@if (auth()->user()->hasRole('mapper_source_betsapi') && auth()->user()->provider_id != 2)
<x-filament::dropdown.list.item wire:click="swopProvider(2)">