presseportale/app/Console/Commands/RefreshMarketData.php
Kevin Adametz b3474a36e9 Spoke-Frontend-Audit: Fake-Inhalte raus, Newsletter-Rueckbau, echte Boersendaten, EN-Lokalisierung
Frontend-Umbau (Kevin, 06.07.2026), Ergebnis des businessportal24-Audits:

- Fake-Anzeigen und Mock-/Fallback-Daten entfernt (focus-ad, feed-ad,
  highlight-card, press-release-card, featured-releases, press-releases-grid);
  Sektionen rendern nur noch mit echten Daten oder gar nicht
- Newsletter-Strip und Newsletter-Box zurueckgebaut (Feature nachgelagert,
  vor Reaktivierung DOI-Flow noetig)
- Echte Boersendaten: MarketDataService (Yahoo-Finance-Quotes, config/market.php,
  Cache) + market:refresh alle 15 Min. im Scheduler; live-ticker blendet sich
  ohne Daten aus
- EN-Lokalisierung der Kern-Seiten via lang/de/web.php + lang/en/web.php;
  Carbon-Locale folgt app()->getLocale()
- Web-Tests auf den neuen Frontend-Stand nachgezogen (Suite: 993 gruen)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:36:23 +00:00

36 lines
930 B
PHP

<?php
namespace App\Console\Commands;
use App\Services\Web\MarketDataService;
use Illuminate\Console\Command;
class RefreshMarketData extends Command
{
protected $signature = 'market:refresh';
protected $description = 'Kursdaten (DAX, EUR/USD, Brent) für den Web-Ticker abrufen und cachen';
public function handle(MarketDataService $marketData): int
{
if (! config('market.enabled')) {
$this->info('Marktdaten sind deaktiviert (MARKET_DATA_ENABLED=false).');
return self::SUCCESS;
}
$slides = $marketData->refresh();
if ($slides === []) {
$this->warn('Keine Kursdaten erhalten — Cache unverändert.');
return self::FAILURE;
}
foreach ($slides as $slide) {
$this->line(sprintf('%s: %s (%s)', $slide['label'], $slide['value'], $slide['delta']));
}
return self::SUCCESS;
}
}