alarm wip

This commit is contained in:
salam committed 2026-01-27 20:13:41 +01:00
1 parent d81af0b02b
commit 04b17abd30
15 files changed
+302 -61

No files matched your search

@@ -8,19 +8,82 @@ class AlarmLoadOdds
{
public static function get($event_id, $table, $oddnames)
{
$res = DB::table($table)->where('flags', 1)->where('event_id', $event_id)->get();
$odds = explode(',', $oddnames);
$arr = [];
foreach ($res as $value) {
if ($table == 'odds_dc') {
$arr[(int) $value->bookmaker_id]['margin'] = (float) $value->margin * 2;
} else {
$arr[(int) $value->bookmaker_id]['margin'] = (float) $value->margin;
}
foreach ($odds as $odd) {
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->$odd;
foreach ($oddnames as $odd) {
switch ($odd) {
case 'h3w':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->h3w;
break;
case 'd3w':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->d3w;
break;
case 'a3w':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->a3w;
break;
case 'h2w':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->d3w;
break;
case 'a2w':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->a3w;
break;
case 'dnb1':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->dnb1;
break;
case 'dnb2':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->dnb2;
break;
case 'gg':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->gg;
break;
case 'ng':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->ng;
break;
case 'dc1x':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->dc1x;
break;
case 'dc12':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->dc12;
break;
case 'dcx2':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->dcx2;
break;
case 'home':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->home;
break;
case 'away':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->away;
break;
case 'over':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->over;
break;
case 'under':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->under;
break;
case 'htq':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->htq;
break;
case 'atq':
$arr[(int) $value->bookmaker_id][$odd] = (float) $value->atq;
break;
}
}
}
@@ -3,17 +3,11 @@
namespace App\Console\Commands\Services\Tasks\Alarm;
use App\Models\EventBookmaker;
use App\Models\OddsTable;
class AlarmStore
{
public static function get($event_id, $table, $client_bookmaker_id, $alarm_threshold, $compare_odds, $client_odds)
public static function get($event_id, $oddnames, $client_bookmaker_id, $alarm_threshold, $compare_odds, $client_odds)
{
$res = OddsTable::where($table)->value('oddnames');
$oddnames = explode(',', $res);
dd($oddnames);
if (! $compare_odds) {
return;
}
@@ -22,21 +16,11 @@ class AlarmStore
return;
}
/**
* get favorit
*/
$favorit = 100;
foreach ($oddnames as $fieldname => $oddname) {
if ($client_odds[$oddname] < $favorit) {
$favorit = $oddname;
}
}
/**
* evaluate
*/
$favorit = min($client_odds);
$update_array = [];
foreach ($oddnames as $fieldname => $oddname) {
if ($oddname == $favorit) {
if ($client_odds[$oddname] == $favorit) {
$threshold = $client_odds[$oddname] - $compare_odds[$oddname];
@@ -12,6 +12,7 @@ use App\Console\Commands\Services\Tasks\Alarm\AlarmSettings;
use App\Console\Commands\Services\Tasks\Alarm\AlarmStore;
use App\Models\Client;
use App\Models\EventBookmaker;
use App\Models\OddsTable;
use App\Models\Sport;
use App\Utilities\Notice;
@@ -26,6 +27,8 @@ class GenerateAlarms
Notice::note('GENERATE ALARMS', 'b');
}
$oddnames = OddsTable::oddnames();
$clients = Client::get();
$sports = Sport::where('is_active', 1)->pluck('id');
@@ -44,17 +47,21 @@ class GenerateAlarms
$res = EventBookmaker::where('bookmaker_id', $client_bookmaker_id)->where('sport_id', $sport_id)->get();
// $res = EventBookmaker::where('event_id', 14597944)->where('bookmaker_id', $client_bookmaker_id)->where('sport_id', $sport_id)->get();
foreach ($res as $event) {
foreach ($multilines as $multiline_id => $multiline) {
$odds = AlarmLoadOdds::get($event->event_id, $multiline['table'], $multiline['oddnames']);
$table = $multiline['table'];
$odds = AlarmLoadOdds::get($event->event_id, $table, $oddnames[$table]);
$compare_odds = AlarmFilterCompare::get($odds, $filter);
$client_odds = AlarmFilterClient::get($odds, $client_bookmaker_id);
AlarmStore::get($event->event_id, $multiline['table'], $client_bookmaker_id, $alarm_threshold[$multiline_id], $compare_odds, $client_odds);
AlarmStore::get($event->event_id, $oddnames[$table], $client_bookmaker_id, $alarm_threshold[$multiline_id], $compare_odds, $client_odds);
}
}
}