| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028 | <?phpnamespace App\Console\Commands\Transfer;use App\Models\Category;use App\Models\MemberInfo;use App\Models\MembersLog;use App\Models\MembersPoint;use App\Models\PersonalServiceStick;use App\Models\PersonalServiceStickLog;use App\Models\PersonalServiceTag;use App\Models\PersonalServiceTagLog;use App\Models\PersonFavorite;use App\Models\PersonFocusCompany;use App\Models\PersonJobsSubscribe;use App\Models\Resume;use App\Models\ResumeCredent;use App\Models\ResumeEducation;use App\Models\ResumeEntrust;use App\Models\ResumeLanguage;use App\Models\ResumeTrain;use App\Models\ResumeWork;use App\Models\SubsiteResume;use App\Models\Thirdlogin;use App\Models\ViewJob;use App\Transfer\Msg;use App\Transfer\CompanyProfile;use App\Transfer\Member;use App\Transfer\MemberBind;use App\Transfer\MemberLog;use App\Transfer\ResumeAuthInfo;use App\Transfer\PersonalCategory;use App\Transfer\PersonalCategoryAuth;use App\Transfer\PersonalFavorite;use App\Transfer\PersonalFocusCompany;use App\Transfer\PersonalJobsApply;use App\Transfer\PersonalJobsSubscribe;use App\Transfer\PersonalStickLog;use App\Transfer\PersonalTagLog;use App\Transfer\ResumeImg;use App\Transfer\ViewJobs;use App\Transfer\ViewResume;use Illuminate\Console\Command;use App\Transfer\Order;use Illuminate\Support\Facades\DB;class TransferMember extends Command{    /**     * The name and signature of the console command.     *     * @var string     */    protected $signature = 'aix:transfer-member';    /**     * The console command description.     *     * @var string     */    protected $description = '转移旧系统个人数据';    /**     * Create a new command instance.     *     * @return void     */    public function __construct()    {        parent::__construct();    }    /**     * Execute the console command.     *     * @return mixed     */    public function handle()    {        $this->info("清除个人数据表:members");        DB::delete("delete from members");        $this->info("清除个人用户信息数据表:member_infos");        DB::delete("delete from member_infos");        $this->info("清除简历数据表:resumes");        DB::delete("delete from resumes");        $this->info("清除个人教育数据表:resume_educations");        DB::delete("delete from resume_educations");        $this->info("清除个人工作数据表:resume_works");        DB::delete("delete from resume_works");        $this->info("清除个人培训数据表:resume_trains");        DB::delete("delete from resume_trains");        $this->info("清除个人证书数据表:resume_credent");        DB::delete("delete from resume_credent");        $this->info("清除个人语言数据表:resume_languages");        DB::delete("delete from resume_languages");        $this->info("清除个人积分数据表:members_points");        DB::delete("delete from members_points");        $this->info("清除个人简历分站数据表:subsite_resumes");        DB::delete("delete from subsite_resumes");        $this->info("清除个人置顶数据表:personal_service_sticks");        DB::delete("delete from personal_service_sticks");        $this->info("清除个人标签数据表:personal_service_tags");        DB::delete("delete from personal_service_tags");        $this->info("清除个人浏览数据表:person_favorite");        DB::delete("delete from person_favorite");        $this->info("清除个人职位申请数据表:personal_jobs_apply");        DB::delete("delete from personal_jobs_apply");        $this->info("清除个人关注企业数据表:person_focus_companys");        DB::delete("delete from person_focus_companys");        $this->info("清除个人职位定位器数据表:person_jobs_subscribes");        DB::delete("delete from person_jobs_subscribes");        $this->info("清除个人置顶日志数据表:personal_service_stick_logs");        DB::delete("delete from personal_service_stick_logs");        $this->info("清除个人标签日志数据表:personal_service_tag_logs");        DB::delete("delete from personal_service_tag_logs");        $this->info("清除个人简历照片数据表:resume_imgs");        DB::delete("delete from resume_imgs");        $this->info("清除浏览过的简历数据表:view_resumes");        DB::delete("delete from view_resumes");        $this->info("清除个人浏览过的职位数据表:view_jobs");        DB::delete("delete from view_jobs");        $this->info("清除个人用户日志数据表:members_logs");        DB::delete("delete from members_logs");        $this->info("清除个人留言消息数据表:msgs");        DB::delete("delete from msgs");        $this->info("清除qq,微信绑定数据表:thirdlogins");        DB::delete("delete from thirdlogins");        $this->info("清除简历委托数据");        DB::delete("delete from resume_entrusts");        $this->info("清除推荐职位日志数据");        DB::delete("delete from resume_auth_info");        $this->info("清除resume_auth_info数据");        DB::delete("delete from personal_category");        $this->info("清除personal_category数据");//        DB::delete("delete from job_recommend_log");//        $this->info("开始转移个人数据...");        DB::delete("delete from orders");        $this->info("开始转移订单数据...");        $total = Member::where(['utype' => 2])->count();        $bar = $this->output->createProgressBar($total);        $job_recommend_log = [];        $order = [];        Member::where(['utype' => 2])->orderBy('uid', 'asc')->chunk(500, function ($members) use ($bar) {            $member_array = [];            $member_info_array = [];            $member_resume_array = [];            $member_resume_edu_array = [];            $member_resume_work_array = [];            $member_resume_train_array = [];            $member_resume_credent_array = [];            $member_resume_lan_array = [];            $member_points_array = [];            $member_subsite_array = [];            $member_entrust = [];            foreach ($members as $member) {                //处理用户表。                $this->handelMember($member, $member_array);                //处理用户信息表。                $this->handleMemberInfo($member, $member_info_array);                //处理用户简历表                $this->handleResume($member, $member_resume_array);                //处理用户简历教育表                $this->handleResumeEdu($member, $member_resume_edu_array);                //处理用户简历工作表                $this->handleResumeWork($member, $member_resume_work_array);                //处理用户简历经验表                $this->handleResumeTrain($member, $member_resume_train_array);                //处理用户简历证书表                $this->handleResumeCredent($member, $member_resume_credent_array);                //处理用户简历语言表                $this->handleResumeLan($member, $member_resume_lan_array);                //处理用户积分表                $this->handlePoints($member, $member_points_array);                //处理用户简历分站表                $this->handleSubsite($member, $member_subsite_array);                //简历委托。                $this->handleEntrust($member, $member_entrust);            }            //批量插入数据;            \App\Models\Member::insert($member_array);            MemberInfo::insert($member_info_array);            if ($member_resume_array) {                Resume::insert($member_resume_array);            }            if ($member_resume_edu_array) {                ResumeEducation::insert($member_resume_edu_array);            }            if ($member_resume_work_array) {                ResumeWork::insert($member_resume_work_array);            }            if ($member_resume_train_array) {                ResumeTrain::insert($member_resume_train_array);            }            if ($member_resume_credent_array) {                ResumeCredent::insert($member_resume_credent_array);            }            if ($member_resume_lan_array) {                ResumeLanguage::insert($member_resume_lan_array);            }            if ($member_points_array) {                MembersPoint::insert($member_points_array);            }            if ($member_subsite_array) {                SubsiteResume::insert($member_subsite_array);            }            if ($member_entrust) {                ResumeEntrust::insert($member_entrust);            }            $bar->advance(500);        });        //推荐职位。//        $this->handleJobRecommendLog($job_recommend_log);//        if ($job_recommend_log){//            JobRecommendLog::insert($job_recommend_log);//        }        //订单数据。        $this->handleOrder($order);        if ($order) {            \App\Models\Order::insert($order);        }        $bar->finish();        $this->line("  完成!");        $this->info("开始转移个人收藏数据...");        PersonalServiceStick::create(['days' => 1, 'points' => 1, 'list_order' => 0]);        PersonalServiceTag::create(['days' => 10, 'points' => 1, 'list_order' => 0]);        $total = PersonalFavorite::count();        $bar = $this->output->createProgressBar($total);        PersonalFavorite::chunk(2000, function ($PersonalFavorite) use ($bar) {            $PersonalFavoriteData = [];            foreach ($PersonalFavorite as $key => $val) {                $PersonalFavoriteData[$key]['uid'] = $val->personal_uid;                $PersonalFavoriteData[$key]['job_id'] = $val->jobs_id;                $PersonalFavoriteData[$key]['job_name'] = $val->jobs_name;                $PersonalFavoriteData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $PersonalFavoriteData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($PersonalFavoriteData) {                PersonFavorite::insert($PersonalFavoriteData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 personal_category 数据...");        $total = PersonalCategory::count();        $bar = $this->output->createProgressBar($total);        PersonalCategory::chunk(20, function ($personal_categorys) use ($bar) {            $personalCategorysData = [];            foreach ($personal_categorys as $key => $val) {                $personalCategorysData[$key]['name'] = $val->name;                $personalCategorysData[$key]['rc_category_id'] = $val->rc_category_id;                $personalCategorysData[$key]['rc_category'] = $val->rc_category;                $personalCategorysData[$key]['rc_category_fj_id'] = $val->rc_category_fj_id;                $personalCategorysData[$key]['rc_category_fj'] = $val->rc_category_fj;                $personalCategorysData[$key]['rc_category_qz_id'] = $val->rc_category_qz_id;                $personalCategorysData[$key]['rc_category_qz'] = $val->rc_category_qz;                $personalCategorysData[$key]['rc_category_group_id'] = $val->rc_category_group_id;                $personalCategorysData[$key]['rc_category_group'] = $val->rc_category_group;                $personalCategorysData[$key]['rc_order'] = $val->rc_order;                $personalCategorysData[$key]['created_at'] = date('Y-m-d H:i:s', time());                $personalCategorysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());            }            if ($personalCategorysData) {                \App\Models\PersonalCategory::insert($personalCategorysData);            }            $bar->advance(20);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 resume_auth_info 数据...");        $total = ResumeAuthInfo::count();        $bar = $this->output->createProgressBar($total);        ResumeAuthInfo::chunk(20, function ($resumeAuthInfos) use ($bar) {            $resumeAuthInfoData = [];            foreach ($resumeAuthInfos as $key => $val) {                $resumeAuthInfoData[$key]['uid'] = $val->uid;                $resumeAuthInfoData[$key]['pid'] = $val->pid;                $resumeAuthInfoData[$key]['duties'] = $val->duties;                $resumeAuthInfoData[$key]['img_url'] = $val->img_url;                $resumeAuthInfoData[$key]['audit'] = $val->audit;                $resumeAuthInfoData[$key]['refreshtime'] = $val->refreshtime;                $resumeAuthInfoData[$key]['lager'] = $val->lager;                $resumeAuthInfoData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $resumeAuthInfoData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($resumeAuthInfoData) {                \App\Models\ResumeAuthInfo::insert($resumeAuthInfoData);            }            $bar->advance(20);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 PersonalJobsApply 数据...");        $total = PersonalJobsApply::count();        $bar = $this->output->createProgressBar($total);        PersonalJobsApply::chunk(2000, function ($PersonalJobsApply) use ($bar) {            $PersonalJobsApplyData = [];            foreach ($PersonalJobsApply as $key => $val) {                $PersonalJobsApplyData[$key]['resume_id'] = $val->resume_id;                $PersonalJobsApplyData[$key]['resume_name'] = $val->resume_name;                $PersonalJobsApplyData[$key]['personal_uid'] = $val->personal_uid;                $PersonalJobsApplyData[$key]['jobs_id'] = $val->jobs_id;                $PersonalJobsApplyData[$key]['jobs_name'] = $val->jobs_name;                $PersonalJobsApplyData[$key]['company_id'] = $val->company_uid;                $PersonalJobsApplyData[$key]['company_name'] = $val->company_name;                $PersonalJobsApplyData[$key]['personal_look'] = $val->personal_look;                $PersonalJobsApplyData[$key]['notes'] = $val->notes;                $PersonalJobsApplyData[$key]['is_reply'] = $val->is_reply;                $PersonalJobsApplyData[$key]['is_apply'] = $val->is_apply;                $PersonalJobsApplyData[$key]['reply_time'] = $val->reply_time;                $PersonalJobsApplyData[$key]['created_at'] = date('Y-m-d H:i:s', $val->apply_addtime);                $PersonalJobsApplyData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->apply_addtime);            }            if ($PersonalJobsApplyData) {                \App\Models\PersonalJobsApply::insert($PersonalJobsApplyData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移个人关注企业数据...");        $total = PersonalFocusCompany::count();        $bar = $this->output->createProgressBar($total);        PersonalFocusCompany::chunk(2000, function ($PersonalFocusCompany) use ($bar) {            $PersonalFocusCompanyData = [];            foreach ($PersonalFocusCompany as $key => $val) {                $PersonalFocusCompanyData[$key]['uid'] = $val->uid;                $profile = CompanyProfile::find($val->company_id);                if (!empty($profile)) {                    $profile_company_id = $profile->uid;                } else {                    $profile_company_id = 0;                }                $PersonalFocusCompanyData[$key]['company_id'] = $profile_company_id;                $PersonalFocusCompanyData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $PersonalFocusCompanyData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($PersonalFocusCompanyData) {                PersonFocusCompany::insert($PersonalFocusCompanyData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移个人关注职位数据...");        $total = PersonalJobsSubscribe::count();        $bar = $this->output->createProgressBar($total);        PersonalJobsSubscribe::chunk(2000, function ($PersonalJobsSubscribe) use ($bar) {            $PersonalJobsSubscribeData = [];            foreach ($PersonalJobsSubscribe as $key => $val) {                $PersonalJobsSubscribeData[$key]['uid'] = $val->uid;                $PersonalJobsSubscribeData[$key]['title'] = $val->title;                $PersonalJobsSubscribeData[$key]['intention_jobs_id'] = $val->intention_jobs_id;                $PersonalJobsSubscribeData[$key]['intention_jobs'] = $val->intention_jobs;                $PersonalJobsSubscribeData[$key]['district'] = '14.163.1561';                $PersonalJobsSubscribeData[$key]['district_cn'] = '信丰镇';                $PersonalJobsSubscribeData[$key]['wage'] = $val->wage;                $PersonalJobsSubscribeData[$key]['wage_cn'] = $val->wage_cn;                $PersonalJobsSubscribeData[$key]['email'] = $val->email;                $PersonalJobsSubscribeData[$key]['rate'] = 315;                $PersonalJobsSubscribeData[$key]['rate_cn'] = '一周';                $PersonalJobsSubscribeData[$key]['send_jobs'] = 318;                $PersonalJobsSubscribeData[$key]['send_jobs_cn'] = '20个';                $PersonalJobsSubscribeData[$key]['created_at'] = date('Y-m-d H:i:s');                $PersonalJobsSubscribeData[$key]['updated_at'] = date('Y-m-d H:i:s', time() + 1209600);            }            if ($PersonalJobsSubscribeData) {                PersonJobsSubscribe::insert($PersonalJobsSubscribeData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移PersonalStickLog数据...");        $total = PersonalStickLog::count();        $bar = $this->output->createProgressBar($total);        PersonalStickLog::chunk(2000, function ($PersonalStickLog) use ($bar) {            $PersonalStickLogData = [];            foreach ($PersonalStickLog as $key => $val) {                $PersonalStickLogData[$key]['resume_id'] = $val->resume_id;                $PersonalStickLogData[$key]['resume_uid'] = $val->resume_uid;                $PersonalStickLogData[$key]['days'] = $val->days;                $PersonalStickLogData[$key]['points'] = $val->points;                $PersonalStickLogData[$key]['addtime'] = $val->addtime;                $PersonalStickLogData[$key]['endtime'] = $val->endtime;                $PersonalStickLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $PersonalStickLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($PersonalStickLogData) {                PersonalServiceStickLog::insert($PersonalStickLogData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移PersonalTagLog数据...");        $total = PersonalTagLog::count();        $bar = $this->output->createProgressBar($total);        PersonalTagLog::chunk(2000, function ($PersonalTagLog) use ($bar) {            $PersonalTagLogData = [];            foreach ($PersonalTagLog as $key => $val) {                $PersonalTagLogData[$key]['resume_id'] = $val->resume_id;                $PersonalTagLogData[$key]['resume_uid'] = $val->resume_uid;                $PersonalTagLogData[$key]['days'] = $val->days;                $PersonalTagLogData[$key]['points'] = $val->points;                $PersonalTagLogData[$key]['tag_id'] = 458;                $PersonalTagLogData[$key]['tag_cn'] = '吃苦耐劳';                $PersonalTagLogData[$key]['addtime'] = $val->addtime;                $PersonalTagLogData[$key]['endtime'] = $val->endtime;                $PersonalTagLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $PersonalTagLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($PersonalTagLogData) {                PersonalServiceTagLog::insert($PersonalTagLogData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移ResumeImg数据...");        $total = ResumeImg::count();        $bar = $this->output->createProgressBar($total);        ResumeImg::chunk(2000, function ($ResumeImg) use ($bar) {            $ResumeImgDta = [];            foreach ($ResumeImg as $key => $val) {                $ResumeImgDta[$key]['uid'] = $val->uid;                $ResumeImgDta[$key]['resume_id'] = $val->resume_id;                $ResumeImgDta[$key]['img'] = 'old/resume_img/' . $val->img;                $ResumeImgDta[$key]['title'] = $val->title;                if ($val->audit == 1) {                    $audit = 2;                } elseif ($val->audit == 2) {                    $audit = 1;                } else {                    $audit = 0;                }                $ResumeImgDta[$key]['audit'] = $audit;                $ResumeImgDta[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $ResumeImgDta[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($ResumeImgDta) {                \App\Models\ResumeImg::insert($ResumeImgDta);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移ViewResume数据...");        $total = ViewResume::count();        $bar = $this->output->createProgressBar($total);        ViewResume::chunk(2000, function ($ViewResume) use ($bar) {            $ViewResumeData = [];            foreach ($ViewResume as $key => $val) {                $ViewResumeData[$key]['uid'] = $val->uid;                $ViewResumeData[$key]['resume_id'] = $val->resumeid;                $ViewResumeData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $ViewResumeData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($ViewResumeData) {                \App\Models\ViewResume::insert($ViewResumeData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 ViewJobs 数据...");        $total = ViewJobs::count();        $bar = $this->output->createProgressBar($total);        ViewJobs::chunk(2000, function ($ViewJobs) use ($bar) {            $ViewJobsData = [];            foreach ($ViewJobs as $key => $val) {                $ViewJobsData[$key]['uid'] = $val->uid;                $ViewJobsData[$key]['job_id'] = $val->jobsid;                $ViewJobsData[$key]['company_id'] = $val->jobs_uid;                $ViewJobsData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $ViewJobsData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($ViewJobsData) {                ViewJob::insert($ViewJobsData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 MemberLog 数据...");        $total = MemberLog::count();        $bar = $this->output->createProgressBar($total);        MemberLog::chunk(2000, function ($MemberLog) use ($bar) {            $MemberLogData = [];            foreach ($MemberLog as $key => $val) {                $MemberLogData[$key]['log_uid'] = $val->log_uid;                $MemberLogData[$key]['log_username'] = $val->log_username;                $MemberLogData[$key]['log_ip'] = ip2long($val->log_ip);                $MemberLogData[$key]['log_address'] = $val->log_address;                $MemberLogData[$key]['log_value'] = $val->log_value;                $MemberLogData[$key]['log_utype'] = $val->log_utype;                $MemberLogData[$key]['log_source'] = $val->log_source;                $MemberLogData[$key]['type'] = $val->log_type;                $MemberLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->log_addtime);                $MemberLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->log_addtime);            }            if ($MemberLogData) {                MembersLog::insert($MemberLogData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 Msg 数据...");        $total = Msg::count();        $bar = $this->output->createProgressBar($total);        Msg::chunk(2000, function ($Msg) use ($bar) {            $MsgData = [];            foreach ($Msg as $key => $val) {                $MsgData[$key]['parent_id'] = $val->pid ? $val->pid : $val->id;                $MsgData[$key]['spid'] = $val->spid;                $Member = Member::where(['uid' => $val->fromuid])->first();                $utype = 1;                if ($Member) {                    $utype = $Member->utype;                }                $MsgData[$key]['utype'] = $utype;                $MsgData[$key]['from_uid'] = $val->fromuid;                $MsgData[$key]['to_uid'] = $val->touid;                $MsgData[$key]['message'] = $val->message;                $MsgData[$key]['is_read'] = $val->spid ? 1 : 0;                $MsgData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);                $MsgData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);            }            if ($MsgData) {                \App\Models\Msg::insert($MsgData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("开始转移 thirdlogins 数据...");        $total = MemberBind::count();        $bar = $this->output->createProgressBar($total);        MemberBind::chunk(2000, function ($MemberBind) use ($bar) {            $MemberBindData = [];            foreach ($MemberBind as $key => $val) {                $MemberBindData[$key]['uid'] = $val->uid;                $Member = Member::where(['uid' => $val->uid])->first();                $utype = 1;                if ($Member) {                    $utype = $Member->utype;                }                $MemberBindData[$key]['utype'] = $utype;                $MemberBindData[$key]['type'] = $val->type == 'qq' ? 1 : 2;                $MemberBindData[$key]['openid'] = $val->keyid;                $MemberBindData[$key]['created_at'] = date('Y-m-d H:i:s', $val->bindingtime);                $MemberBindData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->bindingtime);            }            if ($MemberBindData) {                Thirdlogin::insert($MemberBindData);            }            $bar->advance(2000);        });        $bar->finish();        $this->line("  完成!");        $this->info("转移个人数据完成.");    }    public function handelMember($member, &$result_array)    {        $data['id'] = $member->uid;        $data['utype'] = $member->utype;        $data['username'] = $member->username;        $data['email'] = $member->email;        $data['email_audit'] = $member->email_audit;        $data['mobile'] = $member->mobile;        $data['mobile_audit'] = $member->mobile_audit;        $data['old_password'] = $member->password;        $data['reg_time'] = $member->reg_time;        $data['reg_ip'] = ip2long($member->reg_ip);        $data['reg_address'] = $member->reg_address;        $data['last_login_time'] = $member->last_login_time;        $data['last_login_ip'] = ip2long($member->last_login_ip);        $data['status'] = $member->status;        if (strpos($member->avatars, 'http') !== false) {            $avatars = '';        } else {            if ($member->avatars) {                $avatars = 'old/avatar/' . $member->avatars;            } else {                $avatars = $member->avatars;            }        }        $data['avatars'] = $avatars;        $data['robot'] = $member->robot;        $data['remind_email_time'] = $member->remind_email_time;        $data['sms_num'] = $member->sms_num;        $data['reg_type'] = $member->reg_type;        $data['remind_email_ex_time'] = $member->remind_email_ex_time;        $data['subsite_id'] = $member->subsite_id;        $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);        //新增字段        $data['pwd_hash'] = $member->pwd_hash;        $data['consultant'] = $member->consultant;        $data['imei'] = $member->imei;        $data['invitation_code'] = $member->invitation_code;        $data['laiyuan'] = $member->laiyuan;        $data['qx_uid'] = $member->qx_uid;        $data['talent_category'] = $member->talent_category;        $data['talent_category_audit'] = $member->talent_category_audit;        $data['member_status'] = $member->member_status;        $result_array[] = $data;    }    public function handleMemberInfo($member, &$result_array)    {        if (!empty($member->memberInfos)) {            $personnel_nature = 0;            $personnel_nature_cn = '';            $data['uid'] = $member->memberInfos->uid;//            $data['aix_registration'] = $member->memberInfos->aix_registration;            $data['realname'] = $member->memberInfos->realname;            $data['display_name'] = $member->memberInfos->display_name;            $data['sex'] = $member->memberInfos->sex;            $data['sex_cn'] = $member->memberInfos->sex_cn;            $data['birthday'] = $member->memberInfos->birthday;            $data['card_t_cn'] = 306;            $data['id_card'] = $member->memberInfos->jc_idcode;            $data['residence'] = '623.0.0';            $data['residence_cn'] = $member->memberInfos->residence;            $data['education'] = $member->memberInfos->education;            $data['education_cn'] = $member->memberInfos->education_cn;            $data['major'] = $member->memberInfos->major;            $data['major_cn'] = $member->memberInfos->major_cn;            $data['experience'] = $member->memberInfos->experience;            $data['experience_cn'] = $member->memberInfos->experience_cn;            $data['phone'] = $member->memberInfos->phone;            $data['email'] = $member->memberInfos->email;            $data['height'] = $member->memberInfos->height ? $member->memberInfos->height : '';            $data['householdaddress'] = '623.0.0';            $data['householdaddress_cn'] = $member->memberInfos->householdaddress;            $data['qq'] = $member->memberInfos->qq;            $data['weixin'] = $member->memberInfos->weixin;            $data['marriage'] = $member->memberInfos->marriage;            $data['marriage_cn'] = $member->memberInfos->marriage_cn;            //新增字段            $data['laiyuan'] = $member->laiyuan;            $data['qx_id'] = $member->qx_id;            if (strpos($member->avatars, 'http') !== false) {                $avatars = '';                $data['photo'] = 1;                $data['photo_audit'] = 2;            } else {                if ($member->avatars) {                    $avatars = 'old/avatar/' . $member->avatars;                    $data['photo'] = 1;                    $data['photo_audit'] = 2;                } else {                    $avatars = $member->avatars;                    $data['photo'] = 0;                    $data['photo_audit'] = 1;                }            }            $data['images'] = $avatars;            $data['display_images'] = 1;            $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);            $result_array[] = $data;        }    }    public function handleResume($member, &$result_array)    {        if (!($member->resumes->isEmpty()) && !empty($member->memberInfos)) {            foreach ($member->resumes as $resume) {                $data['id'] = $resume->id;                $data['uid'] = $resume->uid;                $data['display'] = $resume->display;                $data['display_name'] = $resume->display_name;                if ($resume->audit == 1) {                    $audit = 2;                } elseif ($resume->audit == 2) {                    $audit = 1;                } else {                    $audit = 0;                }                $data['audit'] = $audit;                $data['remark'] = '';                $data['stick'] = $resume->stick;                $data['strong_tag'] = $resume->strong_tag;                $data['title'] = $resume->title;                $data['fullname'] = $resume->fullname;                $data['sex'] = $resume->sex;                $data['sex_cn'] = $resume->sex_cn;                $data['nature'] = $resume->nature;                $data['nature_cn'] = $resume->nature_cn;                $data['trade'] = $resume->trade;                $data['trade_cn'] = $resume->trade_cn;                $data['birthdate'] = $resume->birthdate;                $data['residence'] = $resume->residence;                $data['height'] = $resume->height ? $resume->height : '';                $data['marriage'] = $resume->marriage;                $data['marriage_cn'] = $resume->marriage_cn;                $data['experience'] = $resume->experience;                $data['experience_cn'] = $resume->experience_cn;                $district = $resume->district;                $data['district'] = $district;                $data['district_cn'] = $resume->district_cn;                $data['wage'] = $resume->wage;                $data['wage_min'] = 0;                $data['wage_max'] = 0;                $data['wage_cn'] = $resume->wage_cn;                $data['householdaddress'] = empty($resume->householdaddress) ? '' : $resume->householdaddress;                $data['education'] = $resume->education;                $data['education_cn'] = $resume->education_cn;                $data['major'] = $resume->major;                $data['major_cn'] = $resume->major_cn;                $data['tag'] = $resume->tag;                $data['tag_cn'] = $resume->tag_cn;                $data['telephone'] = $resume->telephone;                $data['email'] = $resume->email;                $data['email_notify'] = $resume->email_notify;                $data['intention_jobs_id'] = $resume->intention_jobs_id;                $data['intention_jobs'] = $resume->intention_jobs;                $data['specialty'] = $resume->specialty;                $data['photo'] = $resume->photo;                $data['photo_audit'] = $resume->photo_audit;                $data['qq'] = $resume->qq;                $data['weixin'] = $resume->weixin;                $data['subsite_id'] = $member->subsite_id;                $data['stime'] = $resume->stime;                $data['entrust'] = $resume->entrust;                $data['talent'] = $resume->talent;                if ($resume->level == 3) {                    $level = 1;                } elseif ($resume->level == 2) {                    $level = 2;                } elseif ($resume->level == 1) {                    $level = 0;                } else {                    $level = 0;                }                $data['level'] = $level;                $data['complete_percent'] = $resume->complete_percent;                $data['current'] = $resume->current;                $data['current_cn'] = $resume->current_cn;                $data['word_resume'] = $resume->word_resume;                $data['word_resume_title'] = $resume->word_resume_title;                $data['word_resume_addtime'] = $resume->word_resume_addtime;                $data['key_full'] = $resume->key_full;                $data['key_precise'] = $resume->key_precise;                $data['click'] = $resume->click;                $data['tpl'] = $resume->tpl;                $data['def'] = $resume->def;                $data['resume_from_pc'] = $resume->resume_from_pc;                $data['mobile_audit'] = $resume->mobile_audit;                //新增字段                $data['photo_img'] = $member->photo_img;                $data['photo_display'] = $member->photo_display;                $data['politics_face'] = $member->politics_face;                $data['politics_face_cn'] = $member->politics_face_cn;                $data['gaoji_resume'] = $member->gaoji_resume;                $data['baidu_submit'] = $member->baidu_submit;                $data['laiyuan'] = $member->laiyuan;                $data['qx_id'] = $member->qx_id;                $data['created_at'] = date('Y-m-d H:i:s', $resume->addtime);                $data['updated_at'] = date('Y-m-d H:i:s', $resume->refreshtime);                $result_array[] = $data;            }        }    }    public function handleResumeEdu($member, &$result_array)    {        if (!($member->resumeEducation->isEmpty())) {            foreach ($member->resumeEducation as $resumeEducations) {                $data['uid'] = $resumeEducations->uid;                $data['resume_id'] = $resumeEducations->pid;                $data['startyear'] = $resumeEducations->startyear;                $data['startmonth'] = $resumeEducations->startmonth;                $data['endyear'] = $resumeEducations->endyear;                $data['endmonth'] = $resumeEducations->endmonth;                $data['school'] = $resumeEducations->school;                $data['speciality'] = $resumeEducations->speciality;                $data['education'] = $resumeEducations->education;                $data['education_cn'] = $resumeEducations->education_cn;                $data['todate'] = $resumeEducations->todate;                $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);                $result_array[] = $data;            }        }    }    public function handleResumeWork($member, &$result_array)    {        if (!($member->resumeWork->isEmpty())) {            foreach ($member->resumeWork as $works) {                $data['uid'] = $works->uid;                $data['resume_id'] = $works->pid;                $data['startyear'] = $works->startyear;                $data['startmonth'] = $works->startmonth;                $data['endyear'] = $works->endyear;                $data['endmonth'] = $works->endmonth;                $data['companyname'] = $works->companyname;                $data['jobs'] = $works->jobs;                $data['achievements'] = $works->achievements;                $data['todate'] = $works->todate;                $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);                $result_array[] = $data;            }        }    }    public function handleResumeTrain($member, &$result_array)    {        if (!($member->resumeTrain->isEmpty())) {            foreach ($member->resumeTrain as $trains) {                $data['uid'] = $trains->uid;                $data['resume_id'] = $trains->pid;                $data['startyear'] = $trains->startyear;                $data['startmonth'] = $trains->startmonth;                $data['endyear'] = $trains->endyear;                $data['endmonth'] = $trains->endmonth;                $data['agency'] = $trains->agency;                $data['course'] = $trains->course;                $data['description'] = $trains->description;                $data['todate'] = $trains->todate;                $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);                $result_array[] = $data;            }        }    }    public function handleResumeCredent($member, &$result_array)    {        if (!($member->resumeCredent->isEmpty())) {            foreach ($member->resumeCredent as $credents) {                $data['uid'] = $credents->uid;                $data['resume_id'] = $credents->pid;                $data['name'] = $credents->name;                $data['year'] = $credents->year;                $data['month'] = $credents->month;                $data['images'] = $credents->images;                $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);                $result_array[] = $data;            }        }    }    public function handleResumeLan($member, &$result_array)    {        if (!($member->resumeLanguage->isEmpty())) {            foreach ($member->resumeLanguage as $language) {                $data['uid'] = $language->uid;                $data['resume_id'] = $language->pid;                $data['language'] = $language->language;                $data['language_cn'] = $language->language_cn;                $data['level'] = $language->level;                $data['level_cn'] = $language->level_cn;                $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);                $result_array[] = $data;            }        }    }    public function handlePoints($member, &$result_array)    {        if ($member->memberPoints) {            $data['uid'] = $member->memberPoints->uid;            $data['utype'] = 2;            $data['points'] = $member->memberPoints->points;            $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);        } else {            $data['uid'] = $member->uid;            $data['utype'] = 2;            $data['points'] = 0;            $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);        }        $result_array[] = $data;    }    public function handleSubsite($member, &$result_array)    {        if (!($member->resumes->isEmpty())) {            foreach ($member->resumes as $resume) {                $data['subsite_id'] = $member->subsite_id;                $data['resume_id'] = $resume->id;                $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);                $result_array[] = $data;            }        }    }    public function handleEntrust($member, &$result_array)    {        if (isset($member->resumeEntrust) && !($member->resumeEntrust->isEmpty())) {            foreach ($member->resumeEntrust as $entrust) {                $data['resume_id'] = $entrust->resume_id;                $data['uid'] = $member->uid;                $data['fullname'] = $entrust->fullname;                $data['entrust'] = $entrust->entrust;                $data['entrust_start'] = $entrust->entrust_start;                $data['entrust_end'] = $entrust->entrust_end;                $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);                $result_array[] = $data;            }        }    }//    public function handleJobRecommendLog(&$job_recommend_log)//    {//        $all = \App\Transfer\JobRecommendLog::all();//        if (!empty($all)) {//            foreach ($all as $key => $value) {//                $data['apply_id'] = $value->did;//                $data['admin_id'] = $value->aid;//                $a = Member::where('uid',$value->aid)->first();//                if (!empty($a)) {//                    $username = $a->username;//                } else {//                    $username = '';//                }//                $data['admin_username'] = $username;//                $data['created_at'] = date('Y-m-d H:i:s', $value['apply_time']);//                $data['updated_at'] = date('Y-m-d H:i:s', $value['apply_time']);//                $job_recommend_log[] = $data;//            }//        }//    }    public function handleOrder(&$order)    {        $all = Order::all();        if (!empty($all)) {            foreach ($all as $key => $value) {                $data['id'] = $value->id;                $data['oid'] = $value->id;                $data['uid'] = $value->uid;                $data['pay_type'] = $value->pay_type;                $data['order_type'] = $value->order_type;                $data['utype'] = $value->utype;                $data['is_pay'] = $value->is_paid;                $data['amount'] = $value->amount;                $data['pay_amount'] = $value->pay_amount;                $data['pay_points'] = $value->pay_points;                $data['payment'] = $value->payment;                $data['payment_cn'] = $value->payment_cn;                $data['description'] = $value->description;                $data['service_name'] = $value->service_name;                $data['points'] = $value->points;                $data['setmeal'] = $value->setmeal;                $data['params'] = $value->params;                $data['charge'] = '';                $data['notes'] = $value->notes;                $data['payment_time'] = $value->payment_time;                $data['discount'] = $value->discount;                $data['fee'] = $value->fee;                $data['created_at'] = date('Y-m-d H:i:s', $value['addtime']);                $data['updated_at'] = date('Y-m-d H:i:s', $value['addtime']);                $order[] = $data;            }        }    }}
 |