Pint: Formatierung des bisherigen Stands, ohne inhaltliche Aenderung
Die Dateien lagen im Arbeitsbaum formatiert und inhaltlich geaendert zusammen. Dieser Commit enthaelt nur die Pint-Formatierung des alten Stands, damit die folgenden Commits nur noch Inhalt zeigen. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bdef77462d
commit
316a9b76d6
33 changed files with 880 additions and 841 deletions
|
|
@ -2,11 +2,10 @@
|
|||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\User;
|
||||
use App\Cron\UserLevelUpdate;
|
||||
use App\Models\UserBusiness;
|
||||
use App\Models\UserLevel;
|
||||
use App\Cron\UserLevelUpdate;
|
||||
use App\Console\Commands\BusinessStoreOptimized;
|
||||
use App\User;
|
||||
use Illuminate\Console\Command;
|
||||
use ReflectionClass;
|
||||
|
||||
|
|
@ -41,17 +40,17 @@ class TestUserLevelUpdate extends Command
|
|||
$sendMail = $this->option('send-mail');
|
||||
$dryRun = $this->option('dry-run');
|
||||
|
||||
$this->info("===========================================");
|
||||
$this->info("UserLevelUpdate Test");
|
||||
$this->info("===========================================");
|
||||
$this->info('===========================================');
|
||||
$this->info('UserLevelUpdate Test');
|
||||
$this->info('===========================================');
|
||||
$this->line("Monat: {$month}");
|
||||
$this->line("Jahr: {$year}");
|
||||
if ($userId) {
|
||||
$this->line("User ID: {$userId}");
|
||||
}
|
||||
$this->line("E-Mail senden: " . ($sendMail ? 'Ja' : 'Nein'));
|
||||
$this->line("Dry-Run (nur zeigen): " . ($dryRun ? 'Ja' : 'Nein'));
|
||||
$this->line("");
|
||||
$this->line('E-Mail senden: '.($sendMail ? 'Ja' : 'Nein'));
|
||||
$this->line('Dry-Run (nur zeigen): '.($dryRun ? 'Ja' : 'Nein'));
|
||||
$this->line('');
|
||||
|
||||
if ($dryRun) {
|
||||
// Im Dry-Run Modus zeigen wir nur die Analyse
|
||||
|
|
@ -61,15 +60,16 @@ class TestUserLevelUpdate extends Command
|
|||
$this->runOriginalFunction($month, $year, $sendMail);
|
||||
}
|
||||
|
||||
$this->info("");
|
||||
$this->info("===========================================");
|
||||
$this->info("Test abgeschlossen!");
|
||||
$this->info("===========================================");
|
||||
$this->info('');
|
||||
$this->info('===========================================');
|
||||
$this->info('Test abgeschlossen!');
|
||||
$this->info('===========================================');
|
||||
|
||||
return 0;
|
||||
} catch (\Exception $e) {
|
||||
$this->error('Test fehlgeschlagen: ' . $e->getMessage());
|
||||
$this->error('Stack trace: ' . $e->getTraceAsString());
|
||||
$this->error('Test fehlgeschlagen: '.$e->getMessage());
|
||||
$this->error('Stack trace: '.$e->getTraceAsString());
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -79,10 +79,10 @@ class TestUserLevelUpdate extends Command
|
|||
*/
|
||||
private function runOriginalFunction(int $month, int $year, bool $sendMail)
|
||||
{
|
||||
$this->info("Erstelle BusinessStoreOptimized Instanz...");
|
||||
$this->info('Erstelle BusinessStoreOptimized Instanz...');
|
||||
|
||||
// Erstelle BusinessStoreOptimized Command-Instanz
|
||||
$businessStoreCommand = new BusinessStoreOptimized();
|
||||
$businessStoreCommand = new BusinessStoreOptimized;
|
||||
|
||||
// Setze Output auf aktuellen Command (damit Ausgaben weitergeleitet werden)
|
||||
$businessStoreCommand->setOutput($this->output);
|
||||
|
|
@ -105,8 +105,8 @@ class TestUserLevelUpdate extends Command
|
|||
// Setze sendUpdateMail
|
||||
$businessStoreCommand->setSendUpdateMail($sendMail);
|
||||
|
||||
$this->info("Führe originale userLevelUpdate() Funktion aus...");
|
||||
$this->line("");
|
||||
$this->info('Führe originale userLevelUpdate() Funktion aus...');
|
||||
$this->line('');
|
||||
|
||||
// Rufe die originale Funktion auf
|
||||
$businessStoreCommand->userLevelUpdate();
|
||||
|
|
@ -138,10 +138,10 @@ class TestUserLevelUpdate extends Command
|
|||
->where('year', $this->argument('year'))
|
||||
->where('user_id', $userId)
|
||||
->whereNotNull('next_qual_user_level')
|
||||
->whereRaw("JSON_LENGTH(next_qual_user_level) > 0")
|
||||
->whereRaw('JSON_LENGTH(next_qual_user_level) > 0')
|
||||
->first();
|
||||
|
||||
if (!$userBusiness) {
|
||||
if (! $userBusiness) {
|
||||
$this->warn("Keine UserBusiness mit next_qual_user_level gefunden für User ID: {$userId}");
|
||||
|
||||
// Zeige vorhandene UserBusiness-Daten
|
||||
|
|
@ -151,18 +151,19 @@ class TestUserLevelUpdate extends Command
|
|||
->first();
|
||||
|
||||
if ($anyUserBusiness) {
|
||||
$this->info("UserBusiness existiert, aber hat kein next_qual_user_level");
|
||||
$this->line("Current Level ID: " . ($anyUserBusiness->m_level_id ?? 'NULL'));
|
||||
$this->line("next_qual_user_level: " . (is_null($anyUserBusiness->next_qual_user_level) ? 'NULL' : json_encode($anyUserBusiness->next_qual_user_level)));
|
||||
$this->info('UserBusiness existiert, aber hat kein next_qual_user_level');
|
||||
$this->line('Current Level ID: '.($anyUserBusiness->m_level_id ?? 'NULL'));
|
||||
$this->line('next_qual_user_level: '.(is_null($anyUserBusiness->next_qual_user_level) ? 'NULL' : json_encode($anyUserBusiness->next_qual_user_level)));
|
||||
} else {
|
||||
$this->warn("Keine UserBusiness gefunden für diesen Monat/Jahr");
|
||||
$this->warn('Keine UserBusiness gefunden für diesen Monat/Jahr');
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->displayUserBusinessInfo($userBusiness);
|
||||
$this->info("");
|
||||
$this->info("DRY-RUN MODUS: Änderungen werden nicht gespeichert");
|
||||
$this->info('');
|
||||
$this->info('DRY-RUN MODUS: Änderungen werden nicht gespeichert');
|
||||
$this->analyzeLevelUpdate($userBusiness);
|
||||
}
|
||||
|
||||
|
|
@ -173,22 +174,23 @@ class TestUserLevelUpdate extends Command
|
|||
{
|
||||
$levelUpdateUsers = $userLevelUpdate->getUserBusinessByMonthYear();
|
||||
|
||||
$this->info("Gefunden: " . $levelUpdateUsers->count() . " UserBusiness-Einträge mit next_qual_user_level");
|
||||
$this->line("");
|
||||
$this->info('Gefunden: '.$levelUpdateUsers->count().' UserBusiness-Einträge mit next_qual_user_level');
|
||||
$this->line('');
|
||||
|
||||
if ($levelUpdateUsers->count() === 0) {
|
||||
$this->warn("Keine UserBusiness-Einträge mit Level-Updates gefunden.");
|
||||
$this->warn('Keine UserBusiness-Einträge mit Level-Updates gefunden.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->info("DRY-RUN MODUS: Änderungen werden nicht gespeichert");
|
||||
$this->line("");
|
||||
$this->info('DRY-RUN MODUS: Änderungen werden nicht gespeichert');
|
||||
$this->line('');
|
||||
|
||||
foreach ($levelUpdateUsers as $userBusiness) {
|
||||
$this->line("---------------------------------------------------");
|
||||
$this->line('---------------------------------------------------');
|
||||
$this->displayUserBusinessInfo($userBusiness);
|
||||
$this->analyzeLevelUpdate($userBusiness);
|
||||
$this->line("");
|
||||
$this->line('');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -199,33 +201,33 @@ class TestUserLevelUpdate extends Command
|
|||
{
|
||||
$user = $userBusiness->user;
|
||||
|
||||
$this->line("User ID: " . ($user ? $user->id : 'NULL'));
|
||||
$this->line("E-Mail: " . ($user ? $user->email : 'N/A'));
|
||||
$this->line("Aktuelles Level: " . ($user && $user->m_level ? $user->m_level . ' (' . $this->getLevelName($user->m_level) . ')' : 'Kein Level'));
|
||||
$this->line("UserBusiness Level ID: " . ($userBusiness->m_level_id ?? 'NULL'));
|
||||
$this->line("UserBusiness Level Name: " . ($userBusiness->user_level_name ?? 'NULL'));
|
||||
$this->line('User ID: '.($user ? $user->id : 'NULL'));
|
||||
$this->line('E-Mail: '.($user ? $user->email : 'N/A'));
|
||||
$this->line('Aktuelles Level: '.($user && $user->m_level ? $user->m_level.' ('.$this->getLevelName($user->m_level).')' : 'Kein Level'));
|
||||
$this->line('UserBusiness Level ID: '.($userBusiness->m_level_id ?? 'NULL'));
|
||||
$this->line('UserBusiness Level Name: '.($userBusiness->user_level_name ?? 'NULL'));
|
||||
|
||||
$nextQual = $userBusiness->next_qual_user_level;
|
||||
if (is_array($nextQual)) {
|
||||
if (isset($nextQual['id'])) {
|
||||
// Einzelnes Level
|
||||
$this->line("Nächstes qualifiziertes Level: ID " . $nextQual['id'] . ' - ' . ($nextQual['name'] ?? 'N/A') . ' (POS: ' . ($nextQual['pos'] ?? 'N/A') . ')');
|
||||
$this->line(" Bereits aktualisiert: " . (isset($nextQual['hasUpdated']) && $nextQual['hasUpdated'] == 1 ? 'Ja' : 'Nein'));
|
||||
$this->line('Nächstes qualifiziertes Level: ID '.$nextQual['id'].' - '.($nextQual['name'] ?? 'N/A').' (POS: '.($nextQual['pos'] ?? 'N/A').')');
|
||||
$this->line(' Bereits aktualisiert: '.(isset($nextQual['hasUpdated']) && $nextQual['hasUpdated'] == 1 ? 'Ja' : 'Nein'));
|
||||
} else {
|
||||
// Array von Leveln
|
||||
$this->line("Nächste qualifizierte Level: " . count($nextQual) . " Level gefunden");
|
||||
$this->line('Nächste qualifizierte Level: '.count($nextQual).' Level gefunden');
|
||||
foreach ($nextQual as $idx => $level) {
|
||||
if (is_array($level) && isset($level['id'])) {
|
||||
$updated = isset($level['hasUpdated']) && $level['hasUpdated'] == 1 ? ' (bereits aktualisiert)' : '';
|
||||
$this->line(" [{$idx}] ID " . $level['id'] . ' - ' . ($level['name'] ?? 'N/A') . ' (POS: ' . ($level['pos'] ?? 'N/A') . ')' . $updated);
|
||||
$this->line(" [{$idx}] ID ".$level['id'].' - '.($level['name'] ?? 'N/A').' (POS: '.($level['pos'] ?? 'N/A').')'.$updated);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->line("next_qual_user_level: " . (is_null($nextQual) ? 'NULL' : gettype($nextQual)));
|
||||
$this->line('next_qual_user_level: '.(is_null($nextQual) ? 'NULL' : gettype($nextQual)));
|
||||
}
|
||||
|
||||
$this->line("Total Qual PP: " . ($userBusiness->total_qual_pp ?? 0));
|
||||
$this->line('Total Qual PP: '.($userBusiness->total_qual_pp ?? 0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -234,14 +236,16 @@ class TestUserLevelUpdate extends Command
|
|||
private function analyzeLevelUpdate(UserBusiness $userBusiness)
|
||||
{
|
||||
$user = $userBusiness->user;
|
||||
if (!$user) {
|
||||
$this->warn("⚠ Kein User-Objekt vorhanden");
|
||||
if (! $user) {
|
||||
$this->warn('⚠ Kein User-Objekt vorhanden');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$nextQual = $userBusiness->next_qual_user_level;
|
||||
if (!is_array($nextQual) || empty($nextQual)) {
|
||||
$this->warn("⚠ next_qual_user_level ist kein gültiges Array");
|
||||
if (! is_array($nextQual) || empty($nextQual)) {
|
||||
$this->warn('⚠ next_qual_user_level ist kein gültiges Array');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -256,13 +260,13 @@ class TestUserLevelUpdate extends Command
|
|||
$currentUserLevel = $userLevels->get($user->m_level);
|
||||
}
|
||||
|
||||
$this->info("");
|
||||
$this->info("📊 Analyse:");
|
||||
$this->info('');
|
||||
$this->info('📊 Analyse:');
|
||||
|
||||
if ($currentUserLevel) {
|
||||
$this->line(" Aktuelles Level POS: {$currentUserLevel->pos}");
|
||||
} else {
|
||||
$this->line(" Aktuelles Level: Kein Level gesetzt");
|
||||
$this->line(' Aktuelles Level: Kein Level gesetzt');
|
||||
}
|
||||
|
||||
$wouldUpdate = false;
|
||||
|
|
@ -270,12 +274,13 @@ class TestUserLevelUpdate extends Command
|
|||
$highestPos = 0;
|
||||
|
||||
foreach ($levelArray as $levelData) {
|
||||
if (!is_array($levelData) || !isset($levelData['id'])) {
|
||||
if (! is_array($levelData) || ! isset($levelData['id'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isset($levelData['hasUpdated']) && $levelData['hasUpdated'] == 1) {
|
||||
$this->line(" ⏭ Level ID {$levelData['id']} wurde bereits aktualisiert");
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -285,7 +290,7 @@ class TestUserLevelUpdate extends Command
|
|||
$levelName = $levelData['name'] ?? 'N/A';
|
||||
$this->line(" 📈 Level ID {$levelData['id']} ({$levelName}): POS {$newLevelPos}");
|
||||
|
||||
if (!$currentUserLevel || $newLevelPos > $currentUserLevel->pos) {
|
||||
if (! $currentUserLevel || $newLevelPos > $currentUserLevel->pos) {
|
||||
if ($newLevelPos > $highestPos) {
|
||||
$highestPos = $newLevelPos;
|
||||
$highestLevel = $levelData;
|
||||
|
|
@ -297,15 +302,15 @@ class TestUserLevelUpdate extends Command
|
|||
}
|
||||
|
||||
if ($wouldUpdate && $highestLevel) {
|
||||
$this->info("");
|
||||
$this->info('');
|
||||
$highestLevelName = $highestLevel['name'] ?? 'N/A';
|
||||
$this->info("✅ Würde Level aktualisieren zu: {$highestLevel['id']} ({$highestLevelName})");
|
||||
$this->line(" Von: " . ($currentUserLevel ? "POS {$currentUserLevel->pos}" : "Kein Level") . " → Zu: POS {$highestPos}");
|
||||
$this->line(' Von: '.($currentUserLevel ? "POS {$currentUserLevel->pos}" : 'Kein Level')." → Zu: POS {$highestPos}");
|
||||
} else {
|
||||
$this->info("");
|
||||
$this->warn("⚠ Kein Level-Update würde durchgeführt:");
|
||||
if (!$wouldUpdate) {
|
||||
$this->line(" Kein höheres Level gefunden");
|
||||
$this->info('');
|
||||
$this->warn('⚠ Kein Level-Update würde durchgeführt:');
|
||||
if (! $wouldUpdate) {
|
||||
$this->line(' Kein höheres Level gefunden');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -316,6 +321,7 @@ class TestUserLevelUpdate extends Command
|
|||
private function getLevelName($levelId)
|
||||
{
|
||||
$level = UserLevel::find($levelId);
|
||||
|
||||
return $level ? $level->name : 'Unbekannt';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue