fix LoadPartnerDifferences

This commit is contained in:
salam committed 2026-02-08 15:25:04 +01:00
1 parent fbacfdde20
commit 501511de17
6 files changed
+37 -32

No files matched your search

@@ -14,6 +14,7 @@ class ListEvents extends ListRecords
protected string|Width|null $maxContentWidth = Width::Full; protected string|Width|null $maxContentWidth = Width::Full;
protected $listeners = [ protected $listeners = [
'refreshTable' => '$refresh',
'filterClearFilter' => 'clearFilters', 'filterClearFilter' => 'clearFilters',
'filterUpdateGreen' => 'updateTableFiltersGreen', 'filterUpdateGreen' => 'updateTableFiltersGreen',
'filterUpdateYellow' => 'updateTableFiltersYellow', 'filterUpdateYellow' => 'updateTableFiltersYellow',
@@ -63,11 +63,11 @@ class EventsTable
return $table return $table
->striped() ->striped()
->poll('10s') // ->poll('10s')
->deferLoading() ->deferLoading()
->defaultPaginationPageOption(5) ->defaultPaginationPageOption(4)
->extremePaginationLinks() ->extremePaginationLinks()
->paginated([5, 10, 15]) ->paginated([4, 10, 15])
->columns([ ->columns([
IconColumn::make('sport.icon') IconColumn::make('sport.icon')
->label('') ->label('')
@@ -10,45 +10,36 @@ class LoadPartnerDifferences
{ {
public static function load() public static function load()
{ {
$fields = OddsTable::fields();
$event_ids = []; $event_ids = [];
foreach (EventsTable::$bettype_settings as $table) { foreach (EventsTable::$bettype_settings as $table) {
$has_active_spread = OddsTable::where('name', $table)->value('has_active_spread'); $has_active_spread = OddsTable::where('name', $table)->value('has_active_spread');
if ($has_active_spread) { if ($has_active_spread) {
$books = DB::table($table) $events = DB::table($table)
->where('bookmaker_id', auth()->user()->bookmaker_id) ->whereIn('bookmaker_id', [auth()->user()->bookmaker_id, auth()->user()->partner_bookmaker_id])
->where('active_spread', 1)
->get();
$partners = DB::table($table)
->where('bookmaker_id', auth()->user()->partner_bookmaker_id)
->where('active_spread', 1) ->where('active_spread', 1)
->get(); ->get();
} else { } else {
$books = DB::table($table) $events = DB::table($table)
->where('bookmaker_id', auth()->user()->bookmaker_id) ->whereIn('bookmaker_id', [auth()->user()->bookmaker_id, auth()->user()->partner_bookmaker_id])
->get();
$partners = DB::table($table)
->where('bookmaker_id', auth()->user()->partner_bookmaker_id)
->get(); ->get();
} }
$res = [];
foreach ($events as $value) {
$value = get_object_vars($value);
$event_id = $value['event_id'];
foreach (['id', 'event_id', 'sport_id', 'bookmaker_id', 'provider_id', 'offer_id', 'bmoid', 'margin', 'flags', 'nuh_check', 'last_updated', 'created_at', 'updated_at'] as $fieldname) {
unset($value[$fieldname]);
}
$res[$event_id][] = $value;
}
foreach ($books as $book) { foreach ($res as $event_id => $odds) {
$row1 = get_object_vars($book); if (count($odds) == 2 && array_diff($odds[0], $odds[1])) {
foreach ($partners as $partner) { $event_ids[] = $event_id;
$row2 = get_object_vars($partner);
if ($row1['event_id'] == $row2['event_id']) {
foreach ($fields[$table] as $field) {
if ($row1[$field] != $row2[$field]) {
$event_ids[] = $row1['event_id'];
}
}
}
} }
} }
} }
return array_unique($event_ids); return array_unique($event_ids);
@@ -21,9 +21,9 @@ class AlarmWidget extends StatsOverviewWidget
protected function getStats(): array protected function getStats(): array
{ {
if (auth()->user()->partner_show) { // if (auth()->user()->partner_show) {
return []; // return [];
} // }
$res = AlarmStatistic::load(); $res = AlarmStatistic::load();
+10
View File
@@ -88,6 +88,9 @@ class BettypeToggle extends Component
User::where('id', auth()->user()->id)->update(['partner_compare' => 0, 'partner_show' => DB::raw('!partner_show')]); User::where('id', auth()->user()->id)->update(['partner_compare' => 0, 'partner_show' => DB::raw('!partner_show')]);
$this->dispatch('refreshBettypeMenu'); $this->dispatch('refreshBettypeMenu');
$this->dispatch('refreshTable');
} }
public function toggleComparePartner() public function toggleComparePartner()
@@ -95,6 +98,8 @@ class BettypeToggle extends Component
User::where('id', auth()->user()->id)->update(['partner_compare' => DB::raw('!partner_compare')]); User::where('id', auth()->user()->id)->update(['partner_compare' => DB::raw('!partner_compare')]);
$this->dispatch('refreshBettypeMenu'); $this->dispatch('refreshBettypeMenu');
$this->dispatch('refreshTable');
} }
public function toggleMultiline() public function toggleMultiline()
@@ -102,6 +107,8 @@ class BettypeToggle extends Component
User::where('id', auth()->user()->id)->update(['is_multiline_direct' => DB::raw('!is_multiline_direct')]); User::where('id', auth()->user()->id)->update(['is_multiline_direct' => DB::raw('!is_multiline_direct')]);
$this->dispatch('refreshBettypeMenu'); $this->dispatch('refreshBettypeMenu');
$this->dispatch('refreshTable');
} }
/* /*
@@ -142,6 +149,8 @@ class BettypeToggle extends Component
User::where('id', auth()->user()->id)->update(['all_only_none' => $value]); User::where('id', auth()->user()->id)->update(['all_only_none' => $value]);
$this->dispatch('refreshBettypeMenu'); $this->dispatch('refreshBettypeMenu');
$this->dispatch('refreshTable');
} }
public function countBookmaker() public function countBookmaker()
@@ -166,6 +175,7 @@ class BettypeToggle extends Component
$this->dispatch('refreshBettypeMenu'); $this->dispatch('refreshBettypeMenu');
$this->dispatch('refreshTable');
} }
public function setDifferences() public function setDifferences()
@@ -25,7 +25,8 @@
@else @else
<div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 gap-1 text-xs text-center w-76 mr-2 mb-1 bg-blue-50 dark:bg-gray-950 p-1"> <div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 gap-1 text-xs text-center w-76 mr-2 mb-1 bg-blue-50 dark:bg-gray-950 p-1">
@endif @endif
@if(auth()->user()->partner_show)
@if(auth()->user()->partner_show == 1)
@include('filament.tables.columns.multiline.multiline-client-partner') @include('filament.tables.columns.multiline.multiline-client-partner')
@include('filament.tables.columns.multiline.multiline-partner') @include('filament.tables.columns.multiline.multiline-partner')
@else @else
@@ -33,6 +34,8 @@
@include('filament.tables.columns.multiline.multiline-compare') @include('filament.tables.columns.multiline.multiline-compare')
@endif @endif
</div> </div>
</div> </div>