|
|
<?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; }}
|