commit
a07a67ea4a
103
app/Console/Commands/BusinessGoodsSkuToLocal.php
Normal file
103
app/Console/Commands/BusinessGoodsSkuToLocal.php
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use App\Models\BusinessGoodsSku;
|
||||||
|
use App\Models\GoodsBrand;
|
||||||
|
use App\Models\GoodsType;
|
||||||
|
use App\Models\Goods;
|
||||||
|
use App\Models\GoodsSku;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
class BusinessGoodsSkuToLocal extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'goods_sku:to_local';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = '将已下载的 花富贵儿 的商品保存到本地商品列表(注意: 先在店铺列表页面下载商品)';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$num = 0;
|
||||||
|
BusinessGoodsSku::chunk(100, function ($businessGoodsSkus) use ($num) {
|
||||||
|
foreach ($businessGoodsSkus as $businessGoodsSku) {
|
||||||
|
if (empty($businessGoodsSku['goods_name']) || empty($businessGoodsSku['external_sku_id'])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$businessGoodsName = explode(' ', $businessGoodsSku['goods_name']);
|
||||||
|
$count = count($businessGoodsName);
|
||||||
|
if (1 === $count) {
|
||||||
|
continue;
|
||||||
|
} elseif (2 === $count) {
|
||||||
|
// 商品名称 规格名称
|
||||||
|
$brand = 0;
|
||||||
|
$type = '未分类';
|
||||||
|
$goodsName = $businessGoodsName[0];
|
||||||
|
$skuName = $businessGoodsName[1];
|
||||||
|
} elseif (3 === $count) {
|
||||||
|
// 种类 商品名称 规格名称
|
||||||
|
$brand = 0;
|
||||||
|
$type = $businessGoodsName[0];
|
||||||
|
$goodsName = $businessGoodsName[1];
|
||||||
|
$skuName = $businessGoodsName[2];
|
||||||
|
} else {
|
||||||
|
// 品牌 种类 商品名称 规格名称
|
||||||
|
$brand = $businessGoodsName[0];
|
||||||
|
$type = $businessGoodsName[1];
|
||||||
|
$goodsName = $businessGoodsName[2];
|
||||||
|
$skuName = $businessGoodsName[3];
|
||||||
|
foreach ($businessGoodsName as $k => $v) {
|
||||||
|
if ($k > 3) {
|
||||||
|
$skuName .= $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($brand) {
|
||||||
|
$goodsBrand = GoodsBrand::firstOrCreate(['name' => $brand]);
|
||||||
|
$brand = $goodsBrand->id;
|
||||||
|
}
|
||||||
|
$goodsType = GoodsType::firstOrCreate(['name' => $type]);
|
||||||
|
[$goodsCode, $skuCode] = explode('_', $businessGoodsSku['external_sku_id']);
|
||||||
|
$goods = [
|
||||||
|
'title' => $goodsName,
|
||||||
|
'type_id' => $goodsType->id,
|
||||||
|
'brand_id' => $brand,
|
||||||
|
'goods_code' => $goodsCode,
|
||||||
|
];
|
||||||
|
$goods = Goods::firstOrCreate($goods);
|
||||||
|
$goodsSku = [
|
||||||
|
'goods_id' => $goods->id,
|
||||||
|
'title' => $skuName,
|
||||||
|
'sku_code' => $skuCode,
|
||||||
|
];
|
||||||
|
GoodsSku::firstOrCreate($goodsSku);
|
||||||
|
++$num;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$this->info('导入成功: ' . $num);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -22,7 +22,7 @@ class Inventory extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $description = '定时盘点';
|
protected $description = '定时库存盘点';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new command instance.
|
* Create a new command instance.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user