diff --git a/app/Imports/BackupImport.php b/app/Imports/BackupImport.php index 234ac02..87f09ae 100644 --- a/app/Imports/BackupImport.php +++ b/app/Imports/BackupImport.php @@ -2,9 +2,12 @@ namespace App\Imports; +use App\Console\Commands\RefreshMarketData; use App\Imports\Sheets\PortfoliosSheet; +use Illuminate\Support\Facades\Artisan; use App\Imports\Sheets\DailyChangesSheet; use App\Imports\Sheets\TransactionsSheet; +use Maatwebsite\Excel\Events\AfterImport; use Maatwebsite\Excel\Concerns\Importable; use Maatwebsite\Excel\Concerns\WithEvents; use Maatwebsite\Excel\Concerns\WithMultipleSheets; @@ -20,9 +23,7 @@ class BackupImport implements WithMultipleSheets, WithEvents public function registerEvents(): array { return [ - // BeforeSheet::class => DB::commit(), - // AfterSheet::class => Artisan::queue(RefreshHoldingData::class), - // AfterSheet::class => Artisan::call(RefreshHoldingData::class) + AfterImport::class => fn() => Artisan::queue(RefreshMarketData::class) ]; } diff --git a/app/Imports/Sheets/PortfoliosSheet.php b/app/Imports/Sheets/PortfoliosSheet.php index b8ed6c5..1efe494 100644 --- a/app/Imports/Sheets/PortfoliosSheet.php +++ b/app/Imports/Sheets/PortfoliosSheet.php @@ -2,8 +2,10 @@ namespace App\Imports\Sheets; +use App\Console\Commands\SyncDailyChange; use App\Models\Portfolio; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Artisan; use Maatwebsite\Excel\Concerns\ToCollection; use Maatwebsite\Excel\Concerns\SkipsEmptyRows; use Maatwebsite\Excel\Concerns\WithHeadingRow; @@ -17,7 +19,7 @@ class PortfoliosSheet implements ToCollection, WithValidation, WithHeadingRow, S Portfolio::unguard(); - Portfolio::updateOrCreate([ + $portfolio = Portfolio::updateOrCreate([ 'id' => $portfolio['portfolio_id'] ], [ 'id' => $portfolio['portfolio_id'] ?? null, @@ -25,6 +27,8 @@ class PortfoliosSheet implements ToCollection, WithValidation, WithHeadingRow, S 'wishlist' => $portfolio['wishlist'] ?? false, 'notes' => $portfolio['notes'], ]); + + Artisan::queue(SyncDailyChange::class, ['portfolio_id' => $portfolio->id])->delay(10); } }