2 changed files with 197 additions and 12 deletions
@ -0,0 +1,143 @@ |
|||
<?php |
|||
|
|||
namespace App\Console\Commands; |
|||
|
|||
use Illuminate\Console\Command; |
|||
use Illuminate\Support\Facades\DB; |
|||
|
|||
class MigrateGoods extends Command |
|||
{ |
|||
/** |
|||
* The name and signature of the console command. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $signature = 'migrateData:goods'; |
|||
|
|||
/** |
|||
* The console command description. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $description = 'Command 迁移商品数据'; |
|||
|
|||
/** |
|||
* Create a new command instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
parent::__construct(); |
|||
} |
|||
|
|||
/** |
|||
* Execute the console command. |
|||
* |
|||
* @return int |
|||
*/ |
|||
public function handle() |
|||
{ |
|||
// 如果表不存在则创建
|
|||
// if(!Schema::hasTable('lanzu_store_users')){
|
|||
// Schema::create('lanzu_store_users',function (Blueprint $table){
|
|||
// $table->id();
|
|||
// });
|
|||
// }
|
|||
$specData = [ |
|||
'克' => '净含量', |
|||
'斤' => '净含量', |
|||
'两' => '净含量', |
|||
'只' => '净含量', |
|||
'份' => '净含量', |
|||
'g' => '净含量', |
|||
'l' => '净含量', |
|||
'ml' => '净含量', |
|||
'ML' => '净含量', |
|||
'L' => '净含量', |
|||
'个' => '净含量', |
|||
'条' => '净含量', |
|||
'公分' => '净含量', |
|||
'边' => '净含量', |
|||
'包' => '净含量', |
|||
'辣' => '口味', |
|||
'馅' => '馅料', |
|||
'mm' => '尺寸' |
|||
]; |
|||
$oldData = DB::table('ims_cjdc_goods_new')->get(); |
|||
$bar = $this->output->createProgressBar(count($oldData)); |
|||
$bar->start(); |
|||
$startTime = time(); |
|||
$total = 0; |
|||
foreach ($oldData as $value){ |
|||
$goodsData =[ |
|||
// 'id'=>$value->id,
|
|||
'market_id'=>$value->market_id, |
|||
'store_id'=>$value->store_id, |
|||
'on_sale'=> $value->is_show == 1 ? 1 : 0, |
|||
'sort'=>$value->num, |
|||
'price'=>$value->money, |
|||
'original_price'=>$value->money2, |
|||
'vip_price'=>$value->vip_money, |
|||
'sales'=>$value->sales, |
|||
'start_num'=>$value->start_num, |
|||
'restrict_num'=>$value->restrict_num, |
|||
'is_infinite'=> $value->is_max == 1 ? 1 :0, |
|||
'inventory'=>$value->inventory, |
|||
'name'=>$value->name, |
|||
'cover_img'=>$value->logo, |
|||
'goods_unit'=>$value->good_unit, |
|||
|
|||
'spec'=>$value->spec, |
|||
|
|||
'content'=>$value->content, |
|||
'details'=>$value->details, |
|||
]; |
|||
$specs = DB::table('ims_cjdc_spec_combination_new')->where('good_id',$value->id)->get(); |
|||
if(!empty($specs)){ |
|||
foreach($specs as $vs){ |
|||
$spec = ['spec_key'=>'净含量','spec_value'=>$vs->combination]; |
|||
if(strstr($vs->combination,'辣')){ |
|||
$spec['spec_key'] = '口味'; |
|||
}else if(strstr($vs->combination,'馅')){ |
|||
$spec['spec_key'] = '馅料'; |
|||
}else if(strstr($vs->combination,'mm')){ |
|||
$spec['spec_key'] = '尺寸'; |
|||
} |
|||
$goodsData['spec'] = json_encode($spec); |
|||
$newData = $goodsData; |
|||
$newBanner = [ |
|||
'type' =>1, |
|||
'path' =>$value->logo, |
|||
'created_at' =>time(), |
|||
'updated_at' =>time(), |
|||
]; |
|||
$id = DB::table('lanzu_goods_new')->insertGetId($newData); |
|||
$newBanner['goods_id'] = $id; |
|||
DB::table('lanzu_goods_banners_new')->insertGetId($newBanner); |
|||
$total++; |
|||
if($total == 2){ |
|||
break; |
|||
} |
|||
} |
|||
}else{ |
|||
$newData = $goodsData; |
|||
$id = DB::table('lanzu_goods_new')->insertGetId($newData); |
|||
$newBanner['goods_id'] = $id; |
|||
DB::table('lanzu_goods_banners_new')->insertGetId($newBanner); |
|||
$total++; |
|||
if($total == 2){ |
|||
break; |
|||
} |
|||
} |
|||
|
|||
$bar->advance(); |
|||
} |
|||
|
|||
$bar->finish(); |
|||
echo '\r\n '; |
|||
echo time()-$startTime; |
|||
echo '\r\n '.$total; |
|||
return 0; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue