| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 | <?php/** * Created by PhpStorm. * User: TangKe * Date: 2019/6/9 * Time: 10:17 */namespace App\Console\Commands\Transfer;use App\Transfer\Category;use App\Transfer\CategoryGroup;use App\Transfer\CategoryDistrict;use App\Transfer\CategoryJobs as categoryJob;use App\Transfer\CategoryMajor;use Illuminate\Console\Command;use App\Models\Category as categorys;use App\Models\CategoryGroups;use App\Models\CategoryDistrict as categoryDistricts;use App\Models\CategoryJobs;Use App\Models\CategoryMajor as categoryMajors;class CategoryTransfer extends Command{    protected $signature = 'aix:transfer-category';    protected $description = 'add the transfer-category data';    /**     * ArticleCommand constructor.     */    public function __construct()    {        parent::__construct();    }    public function handle()    {        //强制数据        categorys::truncate();        CategoryGroups::truncate();        categoryDistricts::truncate();        CategoryJobs::truncate();        categoryMajors::truncate();        // 导入分类        $this->info("开始转移 categoryGroup 数据...");        $total = CategoryGroup::count();        $bar = $this->output->createProgressBar($total);        CategoryGroup::orderBy('g_id', 'asc')->chunk(10, function ($categoryGroups) use ($bar) {            $insertData = [];            foreach ($categoryGroups as $key => $val) {                $insertData[$key]['id'] = $val->g_id;                $insertData[$key]['name'] = $val->g_name;                $insertData[$key]['alias'] = str_replace("QS_", "AIX_", $val->g_alias);                $insertData[$key]['sys'] = $val->g_sys;                $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($insertData) {                CategoryGroups::insert($insertData);            }            $bar->advance(10);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移 categoryGroup 数据成功.");        $this->info("开始转移 categorys 数据...");        $total = Category::count();        $bar = $this->output->createProgressBar($total);        Category::orderBy('c_id', 'asc')->chunk(10, function ($categorys) use ($bar) {            $insertData = [];            foreach ($categorys as $key => $val) {                $insertData[$key]['id'] = $val->c_id;                $insertData[$key]['alias'] = str_replace("QS_", "AIX_", $val->c_alias);                $insertData[$key]['demand'] = $val->c_name;                $insertData[$key]['category_name'] = CategoryGroup::where('g_alias', $val->c_alias)->value('g_name');                $insertData[$key]['order'] = $val->c_order;                $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($insertData) {                categorys::insert($insertData);            }            $bar->advance(10);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移 categorys 数据成功.");        $this->info("开始转移 categoryDistrict 数据...");        $total = CategoryDistrict::count();        $bar = $this->output->createProgressBar($total);        CategoryDistrict::orderBy('id', 'asc')->chunk(10, function ($categoryDistricts) use ($bar) {            $insertData = [];            foreach ($categoryDistricts as $key => $val) {                $insertData[$key]['id'] = $val->id;                $insertData[$key]['parent_id'] = $val->parentid;                $insertData[$key]['name'] = $val->categoryname;                $insertData[$key]['order'] = $val->category_order;                $insertData[$key]['spell'] = $val->spell;                $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($insertData) {                categoryDistricts::insert($insertData);            }            $bar->advance(10);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移 categoryDistrict 数据成功.");        $this->info("开始转移 categoryJob 数据...");        $total = categoryJob::count();        $bar = $this->output->createProgressBar($total);        categoryJob::orderBy('id', 'asc')->chunk(10, function ($categoryJobs) use ($bar) {            $insertData = [];            foreach ($categoryJobs as $key => $val) {                $insertData[$key]['id'] = $val->id;                $insertData[$key]['parent_id'] = $val->parentid;                $insertData[$key]['name'] = $val->categoryname;                $insertData[$key]['order'] = $val->category_order;                $insertData[$key]['spell'] = $val->spell;                $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($insertData) {                CategoryJobs::insert($insertData);            }            $bar->advance(10);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移 categoryJob 数据成功.");        $this->info("开始转移 categoryMajor 数据...");        $total = CategoryMajor::count();        $bar = $this->output->createProgressBar($total);        CategoryMajor::orderBy('id', 'asc')->chunk(10, function ($categoryMajors) use ($bar) {            $insertData = [];            foreach ($categoryMajors as $key => $val) {                $insertData[$key]['id'] = $val->id;                $insertData[$key]['parent_id'] = $val->parentid;                $insertData[$key]['name'] = $val->categoryname;                $insertData[$key]['order'] = $val->category_order;                $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($insertData) {                categoryMajors::insert($insertData);            }            $bar->advance(10);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移 categoryMajor 数据成功.");    }}
 |