Files
nuhodds_fi4/app/Livewire/Mapper/StoreMapped.php
T
2026-04-17 09:34:49 +02:00

130 lines
4.7 KiB
PHP

<?php
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;
class StoreMapped
{
public static function store($arguments, $swopped)
{
$event = Event::where('id', $arguments['id'])->first();
$mapper = Mapper::where('event_id', $arguments['event_id'])->first();
dd($mapper, $arguments, $swopped);
/*
EVENT
"id" => 14039120
"provider_id" => 1
"betsapi_id" => 0
"betradar_id" => 0
"bet365_id" => 0
"_1xbet_id" => 0
"bwin_id" => 0
"starttime" => "2026-01-02 13:00:00"
"sport_id" => 1
"country_id" => 365
"group_id" => 177539
"competition_group_id" => 141
"home_id" => 6963
"away_id" => 6844
MAPPER
"id" => 1
"event_id" => 11208805
"sport_id" => 1
"provider_id" => 2
"starttime" => "2026-01-02 05:00:00"
"group" => "Indonesia Liga 4"
"group_id" => 39616
"group_cc" => "ID"
"home" => "Boliyohuto FC"
"home_id" => 308421
"home_cc" => "ID"
"away" => "Panipi Raya FC"
"away_id" => 308005
"away_cc" => "ID"
"created_at" => "2026-01-02 06:33:20"
"updated_at" => "2026-01-02 06:33:20"
*/
$ele = [];
$ele['sport_id'] = $event->sport_id;
$ele['provider_id'] = Auth::user()->provider_id;
$ele['element_id'] = $event->home_id ?? 0;
$ele['add_by_method_id'] = 2;
$ele['name'] = $mapper->home;
ElementProvider::updateOrCreate(['provider_element_id' => (int) $mapper->home_id], $ele);
$ele = [];
$ele['sport_id'] = $event->sport_id;
$ele['provider_id'] = Auth::user()->provider_id;
$ele['element_id'] = $event->away_id ?? 0;
$ele['add_by_method_id'] = 2;
$ele['name'] = $mapper->away;
ElementProvider::updateOrCreate(['provider_element_id' => (int) $mapper->away_id], $ele);
$group['sport_id'] = $event->sport_id;
$group['provider_id'] = Auth::user()->provider_id;
$group['competition_group_id'] = $event->competition_group_id;
$group['add_by_method_id'] = 2;
$group['name'] = $mapper->group;
CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $mapper->group_id], $group);
switch ($mapper->provider_id) {
case 2:
// BETSAPI
$event->betsapi_id = $mapper->event_id;
$event->bet365_id = $mapper->bet365_id ?? 0;
break;
case 3:
// MAGLOO KENIA
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'sport_id' => $event->sport_id,
'bookmaker_id' => 16,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 4:
// MAGLOO NIGERIA
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'sport_id' => $event->sport_id,
'bookmaker_id' => 10,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 5:
// LOGIFUTUR NIGERA
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'sport_id' => $event->sport_id,
'bookmaker_id' => 35,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
case 6:
// LOGIFUTUR COLOMBIA
EventBookmaker::updateOrCreate([
'event_id' => $arguments['id'],
'sport_id' => $event->sport_id,
'bookmaker_id' => 36,
], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]);
break;
}
if ($mapper->betradar_id || $mapper->bet365_id || $mapper->betsapi_id) {
$event->betradar_id = $mapper->betradar_id;
$event->bet365_id = $mapper->bet365_id;
$event->betsapi_id = $mapper->betsapi_id;
Mapper::where('id', $mapper->id)->delete();
}
$event->save();
}
}