whereIn('external_sku_id', $externalSkuId) ->get(['id', 'status', 'external_sku_id', 'stock']) ->toArray(); $hasGoodsSkus = ArrayUtils::index($hasGoodsSkus, 'external_sku_id'); foreach ($collection as $row) { if (!isset($hasGoodsSkus[$row[0]])) { continue; } $goodsSku = $hasGoodsSkus[$row[0]]; if ('下架' === $goodsSku['status']) { GoodsSku::query()->where('id', $goodsSku['id'])->update([ 'stock' => $row[2] + $goodsSku['stock'], 'status' => 1, ]); } else { GoodsSku::query()->where('id', $goodsSku['id'])->update([ 'stock' => $row[2] + $goodsSku['stock'], ]); } SyncCostToMiaoXuan::dispatch($row[0], $row[3]); $updateIds[] = $goodsSku['id']; // 今日到货 $record = DailyStockRecord::query()->where('sku_id', $goodsSku['id'])->where('day', $day)->first(['id', 'arrived_today_num']); $record->arrived_today_num += $row[2]; $record->save(); } sleep(2); // 批量更新 event(new BatchImportStockEvent($updateIds)); } }