logifuture

This commit is contained in:
salam committed 2026-01-07 19:45:33 +01:00
1 parent 91ec9d11cc
commit 0e34020a01
22 files changed
+546 -442

No files matched your search

+76 -37
View File
@@ -10,8 +10,10 @@ use Illuminate\Support\Carbon;
class FindFixture
{
public static function search($event, &$groups, &$elements)
public static function search(&$event, &$groups, &$elements, $find_by_name = false)
{
$match_id = false;
$event_id = $event['event_id'];
$betradar_id = $event['betradar_id'] ?? 0;
@@ -24,8 +26,6 @@ class FindFixture
$bwin_id = $event['bwin_id'] ?? 0;
unset($event['event_id']);
switch ($event['provider_id']) {
case 2:
// BETSAPI
@@ -53,12 +53,15 @@ class FindFixture
if (! $match_id && $betradar_id) {
$match_id = Event::where('betradar_id', $betradar_id)->value('id');
}
$home_id = $elements[$event['home_id']] ?? 0;
$away_id = $elements[$event['away_id']] ?? 0;
$cgid = $groups[$event['group_id']] ?? 0;
if ($find_by_name) {
$home = $elements[$event['home']] ?? 0;
$away = $elements[$event['away']] ?? 0;
$groupname = $groups[$event['group']] ?? 0;
} else {
$home_id = $elements[$event['home_id']] ?? 0;
$away_id = $elements[$event['away_id']] ?? 0;
$competition_group_id = $groups[$event['group_id']] ?? 0;
}
if ($match_id) {
@@ -66,29 +69,50 @@ class FindFixture
$match = Event::where('id', $match_id)->first();
if (! $home_id) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
$ele['element_id'] = $match->home_id ?? 0;
$ele['name'] = $event['home'];
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['home_id']], $ele);
}
if (! $away_id) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
$ele['element_id'] = $match->away_id ?? 0;
$ele['name'] = $event['away'];
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['away_id']], $ele);
}
if (! $cgid) {
$group = [];
$group['sport_id'] = $event['sport_id'];
$group['provider_id'] = $event['provider_id'];
$group['competition_group_id'] = $match->competition_group_id;
$group['name'] = $event['group'];
CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group);
if ($find_by_name) {
if (! $home) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
ElementProvider::updateOrCreate(['name' => (int) $event['home']], $ele);
}
if (! $away) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
ElementProvider::updateOrCreate(['name' => (int) $event['away']], $ele);
}
if (! $groupname) {
$group = [];
$group['sport_id'] = $event['sport_id'];
$group['provider_id'] = $event['provider_id'];
CompetitionGroupProvider::updateOrCreate(['name' => (int) $event['group']], $group);
}
} else {
if (! $home_id) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
$ele['element_id'] = $match->home_id ?? 0;
$ele['name'] = $event['home'];
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['home_id']], $ele);
}
if (! $away_id) {
$ele = [];
$ele['sport_id'] = $event['sport_id'];
$ele['provider_id'] = $event['provider_id'];
$ele['element_id'] = $match->away_id ?? 0;
$ele['name'] = $event['away'];
ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['away_id']], $ele);
}
if (! $competition_group_id) {
$group = [];
$group['sport_id'] = $event['sport_id'];
$group['provider_id'] = $event['provider_id'];
$group['competition_group_id'] = $match->competition_group_id;
$group['name'] = $event['group'];
CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group);
}
}
$update_array = [];
@@ -144,18 +168,31 @@ class FindFixture
$startime = $event['starttime'];
if ($home_id && $away_id && $cgid) {
$from = Carbon::createFromDate($startime)->subDay();
$from = Carbon::createFromDate($startime)->subDay();
$to = Carbon::createFromDate($startime)->addDay();
$to = Carbon::createFromDate($startime)->addDay();
if ($find_by_name) {
$home_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']])
->where('provider_id', $event['provider_id'])
->where('name', $home)
->value('element_id');
$away_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']])
->where('provider_id', $event['provider_id'])
->where('name', $away)
->value('element_id');
$competition_group_id = CompetitionGroupProvider::where(['sport_id' => (int) $event['sport_id']])
->where('provider_id', $event['provider_id'])
->where('name', $groupname)
->value('competition_group_id');
}
// dd($home_id, $away_id, $cgid, $from->toDateTimeString(), $to->toDateTimeString());
if ($home_id && $away_id && $competition_group_id) {
$match_id = Event::query()
->where('home_id', $home_id)
->where('away_id', $away_id)
->where('competition_group_id', $cgid)
->where('competition_group_id', $competition_group_id)
->where('starttime', '>', $from->toDateTimeString())
->where('starttime', '<', $to->toDateTimeString())
->value('id');
@@ -208,5 +245,7 @@ class FindFixture
Mapper::updateOrCreate(['event_id' => $event_id], $event);
}
}
$event['id'] = $match_id;
}
}