diff --git a/app/controller/merchant/store/StoreImport.php b/app/controller/merchant/store/StoreImport.php index be0c08b3..f7c29174 100644 --- a/app/controller/merchant/store/StoreImport.php +++ b/app/controller/merchant/store/StoreImport.php @@ -16,6 +16,7 @@ use app\common\repositories\store\order\StoreImportDeliveryRepository; use app\common\repositories\store\order\StoreOrderRepository; use crmeb\jobs\ImportSpreadsheetExcelJob; use crmeb\jobs\ImportPicJob; +use crmeb\jobs\ImportProductJob; use crmeb\services\ExcelService; use crmeb\services\SpreadsheetExcelService; use crmeb\services\UploadService; @@ -232,7 +233,9 @@ class StoreImport extends BaseController 'where' => ['store_name' => 'A'], ] ]; - app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$type_id); + // app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$type_id); + Queue::push(ImportProductJob::class,['mer_id'=>$data['mer_id'],'data'=>$data['data'],'type_id'=>$type_id]); + }else{ $check =[ 'A1'=>'商品名称(必填)', @@ -258,7 +261,8 @@ class StoreImport extends BaseController 'where' => ['store_name' => 'A'], ] ]; - app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$type_id); + Queue::push(ImportProductJob::class,['mer_id'=>$data['mer_id'],'data'=>$data['data'],'type_id'=>$type_id]); + // app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$type_id); } } public function transcoding($fileName) diff --git a/crmeb/jobs/ImportProductJob.php b/crmeb/jobs/ImportProductJob.php new file mode 100644 index 00000000..2d1fe199 --- /dev/null +++ b/crmeb/jobs/ImportProductJob.php @@ -0,0 +1,28 @@ +attempts()); + if ($job->attempts() > 1) { + $job->delete(); + $this->failed($data); + } + app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$data['type_id']); + $job->delete(); + } + + public function failed($data) + { + Log::error('导入商品失败:' . json_encode($data)); + // TODO: Implement failed() method. + } + + +}