mapping search wip (stuck)

This commit is contained in:
salam committed 2025-12-29 15:32:24 +01:00
1 parent ea91af51fa
commit b475d78f43
14 files changed
+126 -33

No files matched your search

@@ -47,14 +47,17 @@ class Bwin
foreach ($data['results'] as $event) {
$betsapi_id = $event['our_event_id'] ?? 0;
$betradar_id = $event['BetRadarId'] ?? 0;
$bwin_id = $event['Id'] ?? 0;
if ($debug) {
Notice::note(["Betsapi ID : $betsapi_id", "Betradar ID : $betradar_id", "Bwin ID : $bwin_id"]);
}
if ($betradar_id && $betsapi_id) {
if ($debug) {
Notice::note(["Betsapi ID : $betsapi_id", "Betradar ID : $betradar_id", "Bwin ID : $bwin_id"]);
}
if ($betradar_id) {
Event::where('betsapi_id', (int) $betsapi_id)->update(['betradar_id' => $betradar_id, 'bwin_id' => $bwin_id]);
Mapper::where('event_id', $betsapi_id)->delete();
@@ -4,6 +4,7 @@ namespace App\Console\Commands\Grapper\Betsapi;
use App\Console\Commands\Curl;
use App\Console\Commands\Nuh;
use App\Models\Event;
use App\Models\Mapper;
use App\Models\Sport;
use App\Utilities\Notice;
@@ -33,7 +34,7 @@ class Fixtures
$total = 1;
foreach ($sportmap as $sport_id => $betsapi_sport_id) {
$sport_url = str_replace('###sport_id###', $sport_id, $base_url);
$sport_url = str_replace('###sport_id###', $betsapi_sport_id, $base_url);
$page = 1;
while ($page <= $total) {
@@ -71,8 +72,13 @@ class Fixtures
'group_id' => (int) $row['league']['id'] ?? 0,
'group_cc' => strtoupper($row['league']['cc']) ?? '',
];
Mapper::updateOrCreate(['event_id' => (int) $row['id']], $event);
$event_id = (int) $row['id'];
$match_id = Event::where('betsapi_id', $event_id)->value('id');
if ($match_id) {
Mapper::where('event_id', $event_id)->delete();
} else {
Mapper::updateOrCreate(['event_id' => $event_id], $event);
}
}
}
}
@@ -28,6 +28,15 @@ class Odds
Notice::note('txodd odd sport: '.Nuh::$options['sport_id'], 'b');
}
/**
* Delete
*/
$info = Event::where('starttime', '<', Carbon::now()->toDateTimeString())->delete();
if ($debug) {
Notice::note("Deleted: $info");
}
/*************************************************
* SINGLE SOCCER
* https://xml2.txodds.com/feed/odds/xml.php?ident=betaid1&passwd=Dy59vpRC&peid=3118930
+17 -4
View File
@@ -26,19 +26,24 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
use InteractsWithSchemas;
use InteractsWithTable;
protected $listeners = [
'reload_data' => '$refresh',
];
public function table(Table $table): Table
{
return $table
->query(Event::query()->where('betradar_id', 0))
->columns([
MapperLeftColumn::make('left')->label(''),
])->searchable(['home.name', 'away.name'])
])
->searchable(['competition_group.name', 'home.name', 'away.name'])
->defaultPaginationPageOption(5)
->filters([
SelectFilter::make('country_id')
->relationship('country', 'name')
->options(
fn (Builder $query) => $query->whereNotNull('events.country_id')->where('events.betradar_id', 0)->where('events.starttime', '>', Carbon::now())
fn (Builder $query) => $query->where('countries.tx_id', 'events.country_id')->where('events.betradar_id', 0)->where('events.starttime', '>', Carbon::now())
)
->searchable()
->preload()
@@ -63,11 +68,19 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
->placeholder('League')
->label('Leagues'),
], layout: FiltersLayout::AboveContent)
->hiddenFilterIndicators()
// ->hiddenFilterIndicators()
->filtersFormColumns(3)
->deferFilters(false)
->toolbarActions([
// ...
Action::make('reload_data_left')
->hiddenLabel()
->color('gray')
->icon('phosphor-x')
->action(function (Component $livewire) {
$livewire->resetTableFiltersForm(); // Clears all filters
$livewire->tableSearch = ''; // Clears the main search bar
$this->dispatch('reload_data');
}),
]);
}
+17 -2
View File
@@ -24,6 +24,10 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
use InteractsWithSchemas;
use InteractsWithTable;
protected $listeners = [
'reload_data' => '$refresh',
];
public function table(Table $table): Table
{
return $table
@@ -49,9 +53,20 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->placeholder('League')
->label('Leagues'),
], layout: FiltersLayout::AboveContent)
->hiddenFilterIndicators()
// ->hiddenFilterIndicators()
->filtersFormColumns(3)
->deferFilters(false);
->deferFilters(false)
->toolbarActions([
Action::make('reload_data')
->hiddenLabel()
->color('gray')
->icon('phosphor-x')
->action(function (Component $livewire) {
$livewire->resetTableFiltersForm(); // Clears all filters
$livewire->tableSearch = ''; // Clears the main search bar
$this->dispatch('reload_data');
}),
]);
}
public function rightAction(): Action
+4 -4
View File
@@ -41,21 +41,21 @@ class Event extends Model
public function group()
{
return $this->hasOne(Group::class, 'id', 'group_id');
return $this->belongsTo(Group::class);
}
public function competition_group()
{
return $this->hasOne(CompetitionGroup::class, 'id', 'competition_group_id');
return $this->belongsTo(CompetitionGroup::class);
}
public function home()
{
return $this->hasOne(Element::class, 'id', 'home_id');
return $this->belongsTo(Element::class);
}
public function away()
{
return $this->hasOne(Element::class, 'id', 'away_id');
return $this->belongsTo(Element::class);
}
}
+4
View File
@@ -3,6 +3,7 @@
namespace App\Models;
use App\Models\Scopes\ClientScope;
use App\Models\Scopes\SportScope;
use Illuminate\Database\Eloquent\Model;
class MultilineClient extends Model
@@ -34,5 +35,8 @@ class MultilineClient extends Model
protected static function booted(): void
{
static::addGlobalScope(new ClientScope);
static::addGlobalScope(new SportScope);
}
}