123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- /**
- * Created by PhpStorm.
- * User: TangKe
- * Date: 2019/6/9
- * Time: 10:17
- */
- namespace App\Console\Commands\Transfer;
- use App\Transfer\CompanyProfile;
- use Illuminate\Console\Command;
- use App\Transfer\Ad;
- use App\Transfer\AdCategory;
- use App\Models\SubsiteAd;
- use App\Models\Ad as newAd;
- use App\Models\AdCategory as newAdCate;
- class ADTransfer extends Command
- {
- protected $signature = 'aix:transfer-ad';
- protected $description = 'add the transfer-ad data';
- /**
- * ArticleCommand constructor.
- */
- public function __construct()
- {
- parent::__construct();
- }
- public function handle() {
- //强制删除广告表数据
- newAd::truncate();
- newAdCate::truncate();
- SubsiteAd::truncate();
- // 导入广告分类
- $this->info("开始转移 adCategory 数据...");
- $total = AdCategory::count();
- $bar=$this->output->createProgressBar($total);
- AdCategory::where(['theme'=>'default'])->orderBy('id', 'asc')->chunk(10, function ($categorys) use ($bar) {
- $categorysData = [];
- foreach ($categorys as $key => $val) {
- //$categorysData['id'] = $val->id;
- $categorysData[$key]['category_name'] = $val->categoryname;
- $categorysData[$key]['theme'] = $val->theme;
- $categorysData[$key]['org'] = $val->org;
- $categorysData[$key]['alias'] = str_replace("QS_","AIX_",$val->alias);
- $categorysData[$key]['type_id'] = $val->type_id;
- $categorysData[$key]['is_float'] = $val->float;
- $categorysData[$key]['float_left'] = $val->floating_left;
- $categorysData[$key]['float_right'] = $val->floating_right;
- $categorysData[$key]['float_top'] = $val->floating_top;
- $categorysData[$key]['width'] = $val->width;
- $categorysData[$key]['height'] = $val->height;
- $categorysData[$key]['admin_set'] = $val->admin_set;
- $categorysData[$key]['ad_num'] = $val->ad_num;
- $categorysData[$key]['subsite_id'] = $val->subsite_id;
- $categorysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
- $categorysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
- }
- if ($categorysData) {
- newAdCate::insert($categorysData);
- }
- $bar->advance(10);
- });
- $bar->finish();
- $this->line(" 完成!");
- $this->info("转移广告分类数据成功.");
- //导入广告
- $this->info("开始转移 ads 数据...");
- $total = Ad::count();
- $bar=$this->output->createProgressBar($total);
- Ad::chunk(20, function ($ads) use ($bar) {
- $adsData = [];
- $subsiteAdData = [];
- foreach ($ads as $key=>$val) {
- $addtime = date('Y-m-d H:i:s', $val->addtime);
- $adsData[$key]['id'] = $val->id;
- $adsData[$key]['theme'] = $val->theme;
- $adsData[$key]['alias'] = str_replace("QS_","AIX_",$val->alias);
- $adsData[$key]['is_display'] = $val->is_display;
- $adsData[$key]['category_id'] = newAdCate::where('alias',$adsData[$key]['alias'])->value('id');
- $adsData[$key]['type_id'] = $val->type_id;
- $adsData[$key]['title'] = $val->title;
- $adsData[$key]['note'] = $val->note ? $val->note :'';
- $adsData[$key]['list_order'] = $val->show_order;
- $adsData[$key]['started_at'] = $val->starttime;
- $adsData[$key]['ended_at'] = $val->deadline ? $val->deadline : 0;
- $adsData[$key]['content'] = 'old/ads/'.$val->content;
- $adsData[$key]['text_color'] = $val->text_color;
- $adsData[$key]['subsite_id'] = $val->subsite_id;
- $adsData[$key]['uid'] = isset($uid) ? $uid : 0;
- $adsData[$key]['created_at'] = $addtime;
- $adsData[$key]['updated_at'] = $addtime;
- $adsData[$key]['explain'] = $val->explain;
- $subsiteAdData[$key]['ad_id'] = $val->id;
- $subsiteAdData[$key]['subsite_id'] = $val->subsite_id;
- $subsiteAdData[$key]['created_at'] = $addtime;
- $subsiteAdData[$key]['updated_at'] = $addtime;
- }
- if ($adsData) {
- newAd::insert($adsData);
- }
- if ($subsiteAdData) {
- SubsiteAd::insert($subsiteAdData);
- }
- $bar->advance(20);
- });
- $bar->finish();
- $this->line(" 完成!");
- $this->info("转移广告数据成功.");
- }
- }
|