更新
This commit is contained in:
parent
2542a96919
commit
95748c879f
@ -2501,19 +2501,9 @@ class StoreOrderRepository extends BaseRepository
|
||||
* @throws DbException
|
||||
* @throws ModelNotFoundException
|
||||
*/
|
||||
public function setProduct(array $arrary, $merId,$type_id=0)
|
||||
public function setProduct($datum, $merId, $product_type)
|
||||
{
|
||||
//读取excel
|
||||
$data = SpreadsheetExcelService::instance()->_import($arrary['path'], $arrary['sql'], $arrary['where'], 1);
|
||||
if (!$data) return false;
|
||||
unset($data[0]);
|
||||
$product_type = 0;
|
||||
if ($type_id == 12) {
|
||||
$product_type = 98; //供应链
|
||||
}
|
||||
try {
|
||||
foreach ($data as $datum) {
|
||||
|
||||
$find = Db::name('store_product')->where('mer_id', $merId)->where('store_name', $datum['value']['store_name'])->find();
|
||||
$attr_one = explode('|', $datum['value']['attr_one']);
|
||||
$attr_two = explode('|', $datum['value']['attr_two']);
|
||||
@ -2545,7 +2535,7 @@ class StoreOrderRepository extends BaseRepository
|
||||
$datas['store_name'] = $datum['value']['store_name'];
|
||||
$datas['content'] = 'xls导入商品:已经导入过该规格了';
|
||||
$this->create_product_import_log($datas, 0);
|
||||
continue;
|
||||
return false;
|
||||
}
|
||||
foreach ($attr as $kk => $vv) {
|
||||
/**查询当前规格属性是否存在 */
|
||||
@ -2701,10 +2691,6 @@ class StoreOrderRepository extends BaseRepository
|
||||
"mer_status" => 1,
|
||||
"rate" => 3,
|
||||
];
|
||||
// $data_list = [
|
||||
// 'data' => $datas,
|
||||
// 'product_type' => $product_type,
|
||||
// ];
|
||||
$make = app()->make(ProductRepository::class);
|
||||
$product_id = $make->create($datas, $product_type);
|
||||
if ($product_id) {
|
||||
@ -2713,17 +2699,16 @@ class StoreOrderRepository extends BaseRepository
|
||||
$datas['store_name'] = $datum['value']['store_name'];
|
||||
$this->create_product_import_log($datas);
|
||||
}
|
||||
// Queue::push(ProductImportJob::class, $data_list);
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return true;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
$datas['product_id'] = $product_id ?? 0;
|
||||
$datas['mer_id'] = $merId;
|
||||
$datas['store_name'] = $datum['value']['store_name'];
|
||||
$datas['content'] = $e->getMessage() . 'line:' . $e->getLine();
|
||||
$this->create_product_import_log($datas, 0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public function create_product_import_log($data, $status = 1)
|
||||
{
|
||||
|
@ -16,7 +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\jobs\ImportProductXlsJob;
|
||||
use crmeb\services\ExcelService;
|
||||
use crmeb\services\SpreadsheetExcelService;
|
||||
use crmeb\services\UploadService;
|
||||
@ -234,7 +234,7 @@ class StoreImport extends BaseController
|
||||
]
|
||||
];
|
||||
// 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]);
|
||||
Queue::push(ImportProductXlsJob::class,['mer_id'=>$data['mer_id'],'data'=>$data['data'],'type_id'=>$type_id]);
|
||||
|
||||
}else{
|
||||
$check =[
|
||||
@ -261,7 +261,7 @@ class StoreImport extends BaseController
|
||||
'where' => ['store_name' => 'A'],
|
||||
]
|
||||
];
|
||||
Queue::push(ImportProductJob::class,['mer_id'=>$data['mer_id'],'data'=>$data['data'],'type_id'=>$type_id]);
|
||||
Queue::push(ImportProductXlsJob::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);
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ class OrderTake
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
Log::error($e->getMessage() . 'lien:' . $e->getLine());
|
||||
Log::error('收货后的逻辑:'.$e->getMessage() . 'lien:' . $e->getLine());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,6 @@ class ProductCreate
|
||||
|
||||
public function handle($event)
|
||||
{
|
||||
Log::error(json_encode($event));
|
||||
$product = $event['product'];
|
||||
// $data = $event['data'];
|
||||
// $contentType = $event['conType'];
|
||||
|
@ -53,7 +53,7 @@ class paySuccess
|
||||
}
|
||||
}
|
||||
}catch(\Exception $e){
|
||||
Log::error($e->getMessage().'lien:'.$e->getLine());
|
||||
Log::error('支付后逻辑报错:'.$e->getMessage().'lien:'.$e->getLine());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ class ImportPicJob implements JobInterface
|
||||
{
|
||||
public function fire($job, $data)
|
||||
{
|
||||
Log::error('开始导入商品图片:' . $job->attempts());
|
||||
Log::info('开始导入商品图片:' . $job->attempts());
|
||||
if ($job->attempts() > 3) {
|
||||
$job->delete();
|
||||
$this->failed($data);
|
||||
|
@ -10,12 +10,12 @@ class ImportProductJob implements JobInterface
|
||||
{
|
||||
public function fire($job, $data)
|
||||
{
|
||||
Log::error('开始导入商品:' . $job->attempts());
|
||||
Log::info('开始导入商品:');
|
||||
if ($job->attempts() > 1) {
|
||||
$job->delete();
|
||||
$this->failed($data);
|
||||
}
|
||||
app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$data['type_id']);
|
||||
app()->make(StoreOrderRepository::class)->setProduct($data['data'],$data['mer_id'],$data['product_type']);
|
||||
$job->delete();
|
||||
}
|
||||
|
||||
|
64
crmeb/jobs/ImportProductXlsJob.php
Normal file
64
crmeb/jobs/ImportProductXlsJob.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace crmeb\jobs;
|
||||
|
||||
use crmeb\interfaces\JobInterface;
|
||||
use think\facade\Log;
|
||||
use app\common\repositories\store\order\StoreOrderRepository;
|
||||
use think\facade\Db;
|
||||
use crmeb\services\SpreadsheetExcelService;
|
||||
use think\facade\Queue;
|
||||
|
||||
class ImportProductXlsJob implements JobInterface
|
||||
{
|
||||
public function fire($job, $data)
|
||||
{
|
||||
Log::info('开始读取excel商品:' . $job->attempts());
|
||||
if ($job->attempts() > 1) {
|
||||
$job->delete();
|
||||
$this->failed($data);
|
||||
}
|
||||
$arrary = $data['data'];
|
||||
//读取excel
|
||||
$excel_data = SpreadsheetExcelService::instance()->_import($arrary['path'], $arrary['sql'], $arrary['where'], 1);
|
||||
if (!$excel_data) return false;
|
||||
unset($excel_data[0]);
|
||||
$product_type = 0;
|
||||
if ($data['type_id'] == 12) {
|
||||
$product_type = 98; //供应链
|
||||
}
|
||||
try {
|
||||
foreach ($excel_data as $datum) {
|
||||
|
||||
Queue::push(ImportProductJob::class,['data'=>$datum,'mer_id'=>$data['mer_id'],'product_type'=>$product_type]);
|
||||
// $StoreOrderRepository->setProduct();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$job->delete();
|
||||
$datas['product_id'] = $product_id ?? 0;
|
||||
$datas['mer_id'] = $data['mer_id'];
|
||||
$datas['store_name'] = $datum['value']['store_name'];
|
||||
$datas['content'] = $e->getMessage() . 'line:' . $e->getLine();
|
||||
$this->create_product_import_log($datas, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public function failed($data)
|
||||
{
|
||||
Log::error('读取excel失败:' . json_encode($data));
|
||||
// TODO: Implement failed() method.
|
||||
}
|
||||
|
||||
public function create_product_import_log($data, $status = 1)
|
||||
{
|
||||
$data = [
|
||||
'product_id' => $data['product_id'] ?? 0,
|
||||
'mer_id' => $data['mer_id'],
|
||||
'name' => $data['store_name'],
|
||||
'content' => $data['content'] ?? '',
|
||||
'status' => $status,
|
||||
'create_time' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
Db::name('store_product_import')->insert($data);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user