diff --git a/app/Imports/BackupImport.php b/app/Imports/BackupImport.php index 3ce5103..aae4f7d 100644 --- a/app/Imports/BackupImport.php +++ b/app/Imports/BackupImport.php @@ -52,8 +52,8 @@ class BackupImport implements WithMultipleSheets, WithEvents fn() => Artisan::call(SyncHoldingData::class, ['--user' => $this->backupImportModel->user_id]), fn() => User::find($this->backupImportModel->user_id)->portfolios->each(function($portfolio) { - Artisan::queue(SyncDailyChange::class, ['portfolio_id' => $portfolio->id]); - }) + Artisan::queue(SyncDailyChange::class, ['portfolio_id' => $portfolio->id]); + }) ]); }, ImportFailed::class => fn(ImportFailed $event) => $this->backupImportModel->update([ diff --git a/app/Imports/Sheets/DailyChangesSheet.php b/app/Imports/Sheets/DailyChangesSheet.php index 356be9a..37b0dfb 100644 --- a/app/Imports/Sheets/DailyChangesSheet.php +++ b/app/Imports/Sheets/DailyChangesSheet.php @@ -79,7 +79,7 @@ class DailyChangesSheet implements ToCollection, WithHeadingRow, WithValidation, public function batchSize(): int { - return 750; + return 1000; } public function rules(): array diff --git a/app/Imports/Sheets/TransactionsSheet.php b/app/Imports/Sheets/TransactionsSheet.php index b331830..ec240f5 100644 --- a/app/Imports/Sheets/TransactionsSheet.php +++ b/app/Imports/Sheets/TransactionsSheet.php @@ -4,7 +4,6 @@ namespace App\Imports\Sheets; use App\Imports\ValidatesPortfolioAccess; use App\Models\Holding; -use App\Models\Portfolio; use App\Models\Transaction; use Illuminate\Support\Str; use App\Models\BackupImport; @@ -85,16 +84,17 @@ class TransactionsSheet implements ToCollection, WithHeadingRow, WithValidation, ); // stub out related holdings - $chunk->unique('symbol')->each(function($holding) { - - Holding::firstOrCreate([ - 'symbol' => $holding['symbol'], - 'portfolio_id' => $holding['portfolio_id'] - ], [ - 'quantity' => 0, - 'average_cost_basis' => 0, - ]); - }); + $chunk->unique(fn($item) => $item['symbol'] . $item['portfolio_id']) + ->each(function($holding) { + + Holding::firstOrCreate([ + 'symbol' => $holding['symbol'], + 'portfolio_id' => $holding['portfolio_id'] + ], [ + 'quantity' => 0, + 'average_cost_basis' => 0, + ]); + }); }); }