info("清除顾问数据表:consultant"); DB::delete("delete from consultant"); $this->info("清除企业顾问数据表:company_consultant"); DB::delete("delete from company_consultant"); $this->info("清除顾问消息数据表:complaint_consultant"); DB::delete("delete from complaint_consultant"); $this->info("开始转移企业顾问数据..."); $total = Member::where('utype', 1)->count(); $bar = $this->output->createProgressBar($total); Member::where('utype', 1)->orderBy('uid','asc')->chunk(500, function ($members) use($bar) { $member_array=[]; foreach ($members as $member){ $this->handleMember($member, $member_array); } if ($member_array){ CompanyConsultant::insert($member_array); } $bar->advance(500); }); $bar->finish(); $this->line('完成!'); $this->info('开始转移顾问数据...'); $total = Consultant::count(); $bar = $this->output->createProgressBar($total); Consultant::orderBy('id','asc')->chunk(500, function ($Consultants) use ($bar) { $consultant_array=[]; foreach ($Consultants as $consultant){ $this->handleConsultant($consultant, $consultant_array); } if($consultant_array){ \App\Models\Consultant::insert($consultant_array); } $bar->advance(500); }); $bar->finish(); $this->line('完成!'); $this->info('开始转移顾问消息数据...'); $total = ConsultantComplaint::count(); $bar = $this->output->createProgressBar($total); ConsultantComplaint::orderBy('id', 'asc')->chunk(500,function ($consultantComplaints) use ($bar){ $consultantComplaint_array=[]; foreach ($consultantComplaints as $consultantComplaint){ $this->handleConsultantComplaint($consultantComplaint, $consultantComplaint_array); } if($consultantComplaint_array){ ComplaintConsultant::insert($consultantComplaint_array); } $bar->advance(500); }); $bar->finish(); $this->line('完成!'); $this->info('转移顾问数据成功!'); } public function handleMember($member, &$member_array) { if($member->consultant){ $data['consultant_id'] = $member->consultant; $data['company_id'] = $member->uid; $data['admin_users_id'] = $member->consultants ? $member->consultants->adminid : 0; $data['consultant_name'] = $member->consultants ? $member->consultants->name : ''; $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time); $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time); $member_array[] = $data; } } public function handleConsultant($consultant, &$consultant_array) { $data['id']=$consultant->id; $data['name']=$consultant->name; $data['mobile']=$consultant->mobile; $data['telephone']=$consultant->tel; $data['qq']=$consultant->qq; $data['admin_users_id']=$consultant->adminid; $data['avatar']='old/avatar/'.$consultant->pic; $consultant_array[]= $data; } public function handleConsultantComplaint($consultantComplaint, &$consultantComplaint_array) { $data['uid']=$consultantComplaint->uid; $data['consultant_id']=$consultantComplaint->consultant_id; if($consultantComplaint->audit==1){ $audit = 0; }elseif ($consultantComplaint->audit==2){ $audit = 1; }else{ $audit = 2; } $data['status']=$audit; $data['notes']=$consultantComplaint->notes; $data['created_at']=date('Y-m-d H:i:s', $consultantComplaint->addtime); $data['updated_at']=date('Y-m-d H:i:s', $consultantComplaint->addtime); $consultantComplaint_array[]= $data; } }