TransferMember.php 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028
  1. <?php
  2. namespace App\Console\Commands\Transfer;
  3. use App\Models\Category;
  4. use App\Models\MemberInfo;
  5. use App\Models\MembersLog;
  6. use App\Models\MembersPoint;
  7. use App\Models\PersonalServiceStick;
  8. use App\Models\PersonalServiceStickLog;
  9. use App\Models\PersonalServiceTag;
  10. use App\Models\PersonalServiceTagLog;
  11. use App\Models\PersonFavorite;
  12. use App\Models\PersonFocusCompany;
  13. use App\Models\PersonJobsSubscribe;
  14. use App\Models\Resume;
  15. use App\Models\ResumeCredent;
  16. use App\Models\ResumeEducation;
  17. use App\Models\ResumeEntrust;
  18. use App\Models\ResumeLanguage;
  19. use App\Models\ResumeTrain;
  20. use App\Models\ResumeWork;
  21. use App\Models\SubsiteResume;
  22. use App\Models\Thirdlogin;
  23. use App\Models\ViewJob;
  24. use App\Transfer\Msg;
  25. use App\Transfer\CompanyProfile;
  26. use App\Transfer\Member;
  27. use App\Transfer\MemberBind;
  28. use App\Transfer\MemberLog;
  29. use App\Transfer\ResumeAuthInfo;
  30. use App\Transfer\PersonalCategory;
  31. use App\Transfer\PersonalCategoryAuth;
  32. use App\Transfer\PersonalFavorite;
  33. use App\Transfer\PersonalFocusCompany;
  34. use App\Transfer\PersonalJobsApply;
  35. use App\Transfer\PersonalJobsSubscribe;
  36. use App\Transfer\PersonalStickLog;
  37. use App\Transfer\PersonalTagLog;
  38. use App\Transfer\ResumeImg;
  39. use App\Transfer\ViewJobs;
  40. use App\Transfer\ViewResume;
  41. use Illuminate\Console\Command;
  42. use App\Transfer\Order;
  43. use Illuminate\Support\Facades\DB;
  44. class TransferMember extends Command
  45. {
  46. /**
  47. * The name and signature of the console command.
  48. *
  49. * @var string
  50. */
  51. protected $signature = 'aix:transfer-member';
  52. /**
  53. * The console command description.
  54. *
  55. * @var string
  56. */
  57. protected $description = '转移旧系统个人数据';
  58. /**
  59. * Create a new command instance.
  60. *
  61. * @return void
  62. */
  63. public function __construct()
  64. {
  65. parent::__construct();
  66. }
  67. /**
  68. * Execute the console command.
  69. *
  70. * @return mixed
  71. */
  72. public function handle()
  73. {
  74. $this->info("清除个人数据表:members");
  75. DB::delete("delete from members");
  76. $this->info("清除个人用户信息数据表:member_infos");
  77. DB::delete("delete from member_infos");
  78. $this->info("清除简历数据表:resumes");
  79. DB::delete("delete from resumes");
  80. $this->info("清除个人教育数据表:resume_educations");
  81. DB::delete("delete from resume_educations");
  82. $this->info("清除个人工作数据表:resume_works");
  83. DB::delete("delete from resume_works");
  84. $this->info("清除个人培训数据表:resume_trains");
  85. DB::delete("delete from resume_trains");
  86. $this->info("清除个人证书数据表:resume_credent");
  87. DB::delete("delete from resume_credent");
  88. $this->info("清除个人语言数据表:resume_languages");
  89. DB::delete("delete from resume_languages");
  90. $this->info("清除个人积分数据表:members_points");
  91. DB::delete("delete from members_points");
  92. $this->info("清除个人简历分站数据表:subsite_resumes");
  93. DB::delete("delete from subsite_resumes");
  94. $this->info("清除个人置顶数据表:personal_service_sticks");
  95. DB::delete("delete from personal_service_sticks");
  96. $this->info("清除个人标签数据表:personal_service_tags");
  97. DB::delete("delete from personal_service_tags");
  98. $this->info("清除个人浏览数据表:person_favorite");
  99. DB::delete("delete from person_favorite");
  100. $this->info("清除个人职位申请数据表:personal_jobs_apply");
  101. DB::delete("delete from personal_jobs_apply");
  102. $this->info("清除个人关注企业数据表:person_focus_companys");
  103. DB::delete("delete from person_focus_companys");
  104. $this->info("清除个人职位定位器数据表:person_jobs_subscribes");
  105. DB::delete("delete from person_jobs_subscribes");
  106. $this->info("清除个人置顶日志数据表:personal_service_stick_logs");
  107. DB::delete("delete from personal_service_stick_logs");
  108. $this->info("清除个人标签日志数据表:personal_service_tag_logs");
  109. DB::delete("delete from personal_service_tag_logs");
  110. $this->info("清除个人简历照片数据表:resume_imgs");
  111. DB::delete("delete from resume_imgs");
  112. $this->info("清除浏览过的简历数据表:view_resumes");
  113. DB::delete("delete from view_resumes");
  114. $this->info("清除个人浏览过的职位数据表:view_jobs");
  115. DB::delete("delete from view_jobs");
  116. $this->info("清除个人用户日志数据表:members_logs");
  117. DB::delete("delete from members_logs");
  118. $this->info("清除个人留言消息数据表:msgs");
  119. DB::delete("delete from msgs");
  120. $this->info("清除qq,微信绑定数据表:thirdlogins");
  121. DB::delete("delete from thirdlogins");
  122. $this->info("清除简历委托数据");
  123. DB::delete("delete from resume_entrusts");
  124. $this->info("清除推荐职位日志数据");
  125. DB::delete("delete from resume_auth_info");
  126. $this->info("清除resume_auth_info数据");
  127. DB::delete("delete from personal_category");
  128. $this->info("清除personal_category数据");
  129. // DB::delete("delete from job_recommend_log");
  130. // $this->info("开始转移个人数据...");
  131. DB::delete("delete from orders");
  132. $this->info("开始转移订单数据...");
  133. $total = Member::where(['utype' => 2])->count();
  134. $bar = $this->output->createProgressBar($total);
  135. $job_recommend_log = [];
  136. $order = [];
  137. Member::where(['utype' => 2])->orderBy('uid', 'asc')->chunk(500, function ($members) use ($bar) {
  138. $member_array = [];
  139. $member_info_array = [];
  140. $member_resume_array = [];
  141. $member_resume_edu_array = [];
  142. $member_resume_work_array = [];
  143. $member_resume_train_array = [];
  144. $member_resume_credent_array = [];
  145. $member_resume_lan_array = [];
  146. $member_points_array = [];
  147. $member_subsite_array = [];
  148. $member_entrust = [];
  149. foreach ($members as $member) {
  150. //处理用户表。
  151. $this->handelMember($member, $member_array);
  152. //处理用户信息表。
  153. $this->handleMemberInfo($member, $member_info_array);
  154. //处理用户简历表
  155. $this->handleResume($member, $member_resume_array);
  156. //处理用户简历教育表
  157. $this->handleResumeEdu($member, $member_resume_edu_array);
  158. //处理用户简历工作表
  159. $this->handleResumeWork($member, $member_resume_work_array);
  160. //处理用户简历经验表
  161. $this->handleResumeTrain($member, $member_resume_train_array);
  162. //处理用户简历证书表
  163. $this->handleResumeCredent($member, $member_resume_credent_array);
  164. //处理用户简历语言表
  165. $this->handleResumeLan($member, $member_resume_lan_array);
  166. //处理用户积分表
  167. $this->handlePoints($member, $member_points_array);
  168. //处理用户简历分站表
  169. $this->handleSubsite($member, $member_subsite_array);
  170. //简历委托。
  171. $this->handleEntrust($member, $member_entrust);
  172. }
  173. //批量插入数据;
  174. \App\Models\Member::insert($member_array);
  175. MemberInfo::insert($member_info_array);
  176. if ($member_resume_array) {
  177. Resume::insert($member_resume_array);
  178. }
  179. if ($member_resume_edu_array) {
  180. ResumeEducation::insert($member_resume_edu_array);
  181. }
  182. if ($member_resume_work_array) {
  183. ResumeWork::insert($member_resume_work_array);
  184. }
  185. if ($member_resume_train_array) {
  186. ResumeTrain::insert($member_resume_train_array);
  187. }
  188. if ($member_resume_credent_array) {
  189. ResumeCredent::insert($member_resume_credent_array);
  190. }
  191. if ($member_resume_lan_array) {
  192. ResumeLanguage::insert($member_resume_lan_array);
  193. }
  194. if ($member_points_array) {
  195. MembersPoint::insert($member_points_array);
  196. }
  197. if ($member_subsite_array) {
  198. SubsiteResume::insert($member_subsite_array);
  199. }
  200. if ($member_entrust) {
  201. ResumeEntrust::insert($member_entrust);
  202. }
  203. $bar->advance(500);
  204. });
  205. //推荐职位。
  206. // $this->handleJobRecommendLog($job_recommend_log);
  207. // if ($job_recommend_log){
  208. // JobRecommendLog::insert($job_recommend_log);
  209. // }
  210. //订单数据。
  211. $this->handleOrder($order);
  212. if ($order) {
  213. \App\Models\Order::insert($order);
  214. }
  215. $bar->finish();
  216. $this->line(" 完成!");
  217. $this->info("开始转移个人收藏数据...");
  218. PersonalServiceStick::create(['days' => 1, 'points' => 1, 'list_order' => 0]);
  219. PersonalServiceTag::create(['days' => 10, 'points' => 1, 'list_order' => 0]);
  220. $total = PersonalFavorite::count();
  221. $bar = $this->output->createProgressBar($total);
  222. PersonalFavorite::chunk(2000, function ($PersonalFavorite) use ($bar) {
  223. $PersonalFavoriteData = [];
  224. foreach ($PersonalFavorite as $key => $val) {
  225. $PersonalFavoriteData[$key]['uid'] = $val->personal_uid;
  226. $PersonalFavoriteData[$key]['job_id'] = $val->jobs_id;
  227. $PersonalFavoriteData[$key]['job_name'] = $val->jobs_name;
  228. $PersonalFavoriteData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  229. $PersonalFavoriteData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  230. }
  231. if ($PersonalFavoriteData) {
  232. PersonFavorite::insert($PersonalFavoriteData);
  233. }
  234. $bar->advance(2000);
  235. });
  236. $bar->finish();
  237. $this->line(" 完成!");
  238. $this->info("开始转移 personal_category 数据...");
  239. $total = PersonalCategory::count();
  240. $bar = $this->output->createProgressBar($total);
  241. PersonalCategory::chunk(20, function ($personal_categorys) use ($bar) {
  242. $personalCategorysData = [];
  243. foreach ($personal_categorys as $key => $val) {
  244. $personalCategorysData[$key]['name'] = $val->name;
  245. $personalCategorysData[$key]['rc_category_id'] = $val->rc_category_id;
  246. $personalCategorysData[$key]['rc_category'] = $val->rc_category;
  247. $personalCategorysData[$key]['rc_category_fj_id'] = $val->rc_category_fj_id;
  248. $personalCategorysData[$key]['rc_category_fj'] = $val->rc_category_fj;
  249. $personalCategorysData[$key]['rc_category_qz_id'] = $val->rc_category_qz_id;
  250. $personalCategorysData[$key]['rc_category_qz'] = $val->rc_category_qz;
  251. $personalCategorysData[$key]['rc_category_group_id'] = $val->rc_category_group_id;
  252. $personalCategorysData[$key]['rc_category_group'] = $val->rc_category_group;
  253. $personalCategorysData[$key]['rc_order'] = $val->rc_order;
  254. $personalCategorysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  255. $personalCategorysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  256. }
  257. if ($personalCategorysData) {
  258. \App\Models\PersonalCategory::insert($personalCategorysData);
  259. }
  260. $bar->advance(20);
  261. });
  262. $bar->finish();
  263. $this->line(" 完成!");
  264. $this->info("开始转移 resume_auth_info 数据...");
  265. $total = ResumeAuthInfo::count();
  266. $bar = $this->output->createProgressBar($total);
  267. ResumeAuthInfo::chunk(20, function ($resumeAuthInfos) use ($bar) {
  268. $resumeAuthInfoData = [];
  269. foreach ($resumeAuthInfos as $key => $val) {
  270. $resumeAuthInfoData[$key]['uid'] = $val->uid;
  271. $resumeAuthInfoData[$key]['pid'] = $val->pid;
  272. $resumeAuthInfoData[$key]['duties'] = $val->duties;
  273. $resumeAuthInfoData[$key]['img_url'] = $val->img_url;
  274. $resumeAuthInfoData[$key]['audit'] = $val->audit;
  275. $resumeAuthInfoData[$key]['refreshtime'] = $val->refreshtime;
  276. $resumeAuthInfoData[$key]['lager'] = $val->lager;
  277. $resumeAuthInfoData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  278. $resumeAuthInfoData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  279. }
  280. if ($resumeAuthInfoData) {
  281. \App\Models\ResumeAuthInfo::insert($resumeAuthInfoData);
  282. }
  283. $bar->advance(20);
  284. });
  285. $bar->finish();
  286. $this->line(" 完成!");
  287. $this->info("开始转移 PersonalJobsApply 数据...");
  288. $total = PersonalJobsApply::count();
  289. $bar = $this->output->createProgressBar($total);
  290. PersonalJobsApply::chunk(2000, function ($PersonalJobsApply) use ($bar) {
  291. $PersonalJobsApplyData = [];
  292. foreach ($PersonalJobsApply as $key => $val) {
  293. $PersonalJobsApplyData[$key]['resume_id'] = $val->resume_id;
  294. $PersonalJobsApplyData[$key]['resume_name'] = $val->resume_name;
  295. $PersonalJobsApplyData[$key]['personal_uid'] = $val->personal_uid;
  296. $PersonalJobsApplyData[$key]['jobs_id'] = $val->jobs_id;
  297. $PersonalJobsApplyData[$key]['jobs_name'] = $val->jobs_name;
  298. $PersonalJobsApplyData[$key]['company_id'] = $val->company_uid;
  299. $PersonalJobsApplyData[$key]['company_name'] = $val->company_name;
  300. $PersonalJobsApplyData[$key]['personal_look'] = $val->personal_look;
  301. $PersonalJobsApplyData[$key]['notes'] = $val->notes;
  302. $PersonalJobsApplyData[$key]['is_reply'] = $val->is_reply;
  303. $PersonalJobsApplyData[$key]['is_apply'] = $val->is_apply;
  304. $PersonalJobsApplyData[$key]['reply_time'] = $val->reply_time;
  305. $PersonalJobsApplyData[$key]['created_at'] = date('Y-m-d H:i:s', $val->apply_addtime);
  306. $PersonalJobsApplyData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->apply_addtime);
  307. }
  308. if ($PersonalJobsApplyData) {
  309. \App\Models\PersonalJobsApply::insert($PersonalJobsApplyData);
  310. }
  311. $bar->advance(2000);
  312. });
  313. $bar->finish();
  314. $this->line(" 完成!");
  315. $this->info("开始转移个人关注企业数据...");
  316. $total = PersonalFocusCompany::count();
  317. $bar = $this->output->createProgressBar($total);
  318. PersonalFocusCompany::chunk(2000, function ($PersonalFocusCompany) use ($bar) {
  319. $PersonalFocusCompanyData = [];
  320. foreach ($PersonalFocusCompany as $key => $val) {
  321. $PersonalFocusCompanyData[$key]['uid'] = $val->uid;
  322. $profile = CompanyProfile::find($val->company_id);
  323. if (!empty($profile)) {
  324. $profile_company_id = $profile->uid;
  325. } else {
  326. $profile_company_id = 0;
  327. }
  328. $PersonalFocusCompanyData[$key]['company_id'] = $profile_company_id;
  329. $PersonalFocusCompanyData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  330. $PersonalFocusCompanyData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  331. }
  332. if ($PersonalFocusCompanyData) {
  333. PersonFocusCompany::insert($PersonalFocusCompanyData);
  334. }
  335. $bar->advance(2000);
  336. });
  337. $bar->finish();
  338. $this->line(" 完成!");
  339. $this->info("开始转移个人关注职位数据...");
  340. $total = PersonalJobsSubscribe::count();
  341. $bar = $this->output->createProgressBar($total);
  342. PersonalJobsSubscribe::chunk(2000, function ($PersonalJobsSubscribe) use ($bar) {
  343. $PersonalJobsSubscribeData = [];
  344. foreach ($PersonalJobsSubscribe as $key => $val) {
  345. $PersonalJobsSubscribeData[$key]['uid'] = $val->uid;
  346. $PersonalJobsSubscribeData[$key]['title'] = $val->title;
  347. $PersonalJobsSubscribeData[$key]['intention_jobs_id'] = $val->intention_jobs_id;
  348. $PersonalJobsSubscribeData[$key]['intention_jobs'] = $val->intention_jobs;
  349. $PersonalJobsSubscribeData[$key]['district'] = '14.163.1561';
  350. $PersonalJobsSubscribeData[$key]['district_cn'] = '信丰镇';
  351. $PersonalJobsSubscribeData[$key]['wage'] = $val->wage;
  352. $PersonalJobsSubscribeData[$key]['wage_cn'] = $val->wage_cn;
  353. $PersonalJobsSubscribeData[$key]['email'] = $val->email;
  354. $PersonalJobsSubscribeData[$key]['rate'] = 315;
  355. $PersonalJobsSubscribeData[$key]['rate_cn'] = '一周';
  356. $PersonalJobsSubscribeData[$key]['send_jobs'] = 318;
  357. $PersonalJobsSubscribeData[$key]['send_jobs_cn'] = '20个';
  358. $PersonalJobsSubscribeData[$key]['created_at'] = date('Y-m-d H:i:s');
  359. $PersonalJobsSubscribeData[$key]['updated_at'] = date('Y-m-d H:i:s', time() + 1209600);
  360. }
  361. if ($PersonalJobsSubscribeData) {
  362. PersonJobsSubscribe::insert($PersonalJobsSubscribeData);
  363. }
  364. $bar->advance(2000);
  365. });
  366. $bar->finish();
  367. $this->line(" 完成!");
  368. $this->info("开始转移PersonalStickLog数据...");
  369. $total = PersonalStickLog::count();
  370. $bar = $this->output->createProgressBar($total);
  371. PersonalStickLog::chunk(2000, function ($PersonalStickLog) use ($bar) {
  372. $PersonalStickLogData = [];
  373. foreach ($PersonalStickLog as $key => $val) {
  374. $PersonalStickLogData[$key]['resume_id'] = $val->resume_id;
  375. $PersonalStickLogData[$key]['resume_uid'] = $val->resume_uid;
  376. $PersonalStickLogData[$key]['days'] = $val->days;
  377. $PersonalStickLogData[$key]['points'] = $val->points;
  378. $PersonalStickLogData[$key]['addtime'] = $val->addtime;
  379. $PersonalStickLogData[$key]['endtime'] = $val->endtime;
  380. $PersonalStickLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  381. $PersonalStickLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  382. }
  383. if ($PersonalStickLogData) {
  384. PersonalServiceStickLog::insert($PersonalStickLogData);
  385. }
  386. $bar->advance(2000);
  387. });
  388. $bar->finish();
  389. $this->line(" 完成!");
  390. $this->info("开始转移PersonalTagLog数据...");
  391. $total = PersonalTagLog::count();
  392. $bar = $this->output->createProgressBar($total);
  393. PersonalTagLog::chunk(2000, function ($PersonalTagLog) use ($bar) {
  394. $PersonalTagLogData = [];
  395. foreach ($PersonalTagLog as $key => $val) {
  396. $PersonalTagLogData[$key]['resume_id'] = $val->resume_id;
  397. $PersonalTagLogData[$key]['resume_uid'] = $val->resume_uid;
  398. $PersonalTagLogData[$key]['days'] = $val->days;
  399. $PersonalTagLogData[$key]['points'] = $val->points;
  400. $PersonalTagLogData[$key]['tag_id'] = 458;
  401. $PersonalTagLogData[$key]['tag_cn'] = '吃苦耐劳';
  402. $PersonalTagLogData[$key]['addtime'] = $val->addtime;
  403. $PersonalTagLogData[$key]['endtime'] = $val->endtime;
  404. $PersonalTagLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  405. $PersonalTagLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  406. }
  407. if ($PersonalTagLogData) {
  408. PersonalServiceTagLog::insert($PersonalTagLogData);
  409. }
  410. $bar->advance(2000);
  411. });
  412. $bar->finish();
  413. $this->line(" 完成!");
  414. $this->info("开始转移ResumeImg数据...");
  415. $total = ResumeImg::count();
  416. $bar = $this->output->createProgressBar($total);
  417. ResumeImg::chunk(2000, function ($ResumeImg) use ($bar) {
  418. $ResumeImgDta = [];
  419. foreach ($ResumeImg as $key => $val) {
  420. $ResumeImgDta[$key]['uid'] = $val->uid;
  421. $ResumeImgDta[$key]['resume_id'] = $val->resume_id;
  422. $ResumeImgDta[$key]['img'] = 'old/resume_img/' . $val->img;
  423. $ResumeImgDta[$key]['title'] = $val->title;
  424. if ($val->audit == 1) {
  425. $audit = 2;
  426. } elseif ($val->audit == 2) {
  427. $audit = 1;
  428. } else {
  429. $audit = 0;
  430. }
  431. $ResumeImgDta[$key]['audit'] = $audit;
  432. $ResumeImgDta[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  433. $ResumeImgDta[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  434. }
  435. if ($ResumeImgDta) {
  436. \App\Models\ResumeImg::insert($ResumeImgDta);
  437. }
  438. $bar->advance(2000);
  439. });
  440. $bar->finish();
  441. $this->line(" 完成!");
  442. $this->info("开始转移ViewResume数据...");
  443. $total = ViewResume::count();
  444. $bar = $this->output->createProgressBar($total);
  445. ViewResume::chunk(2000, function ($ViewResume) use ($bar) {
  446. $ViewResumeData = [];
  447. foreach ($ViewResume as $key => $val) {
  448. $ViewResumeData[$key]['uid'] = $val->uid;
  449. $ViewResumeData[$key]['resume_id'] = $val->resumeid;
  450. $ViewResumeData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  451. $ViewResumeData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  452. }
  453. if ($ViewResumeData) {
  454. \App\Models\ViewResume::insert($ViewResumeData);
  455. }
  456. $bar->advance(2000);
  457. });
  458. $bar->finish();
  459. $this->line(" 完成!");
  460. $this->info("开始转移 ViewJobs 数据...");
  461. $total = ViewJobs::count();
  462. $bar = $this->output->createProgressBar($total);
  463. ViewJobs::chunk(2000, function ($ViewJobs) use ($bar) {
  464. $ViewJobsData = [];
  465. foreach ($ViewJobs as $key => $val) {
  466. $ViewJobsData[$key]['uid'] = $val->uid;
  467. $ViewJobsData[$key]['job_id'] = $val->jobsid;
  468. $ViewJobsData[$key]['company_id'] = $val->jobs_uid;
  469. $ViewJobsData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  470. $ViewJobsData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  471. }
  472. if ($ViewJobsData) {
  473. ViewJob::insert($ViewJobsData);
  474. }
  475. $bar->advance(2000);
  476. });
  477. $bar->finish();
  478. $this->line(" 完成!");
  479. $this->info("开始转移 MemberLog 数据...");
  480. $total = MemberLog::count();
  481. $bar = $this->output->createProgressBar($total);
  482. MemberLog::chunk(2000, function ($MemberLog) use ($bar) {
  483. $MemberLogData = [];
  484. foreach ($MemberLog as $key => $val) {
  485. $MemberLogData[$key]['log_uid'] = $val->log_uid;
  486. $MemberLogData[$key]['log_username'] = $val->log_username;
  487. $MemberLogData[$key]['log_ip'] = ip2long($val->log_ip);
  488. $MemberLogData[$key]['log_address'] = $val->log_address;
  489. $MemberLogData[$key]['log_value'] = $val->log_value;
  490. $MemberLogData[$key]['log_utype'] = $val->log_utype;
  491. $MemberLogData[$key]['log_source'] = $val->log_source;
  492. $MemberLogData[$key]['type'] = $val->log_type;
  493. $MemberLogData[$key]['created_at'] = date('Y-m-d H:i:s', $val->log_addtime);
  494. $MemberLogData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->log_addtime);
  495. }
  496. if ($MemberLogData) {
  497. MembersLog::insert($MemberLogData);
  498. }
  499. $bar->advance(2000);
  500. });
  501. $bar->finish();
  502. $this->line(" 完成!");
  503. $this->info("开始转移 Msg 数据...");
  504. $total = Msg::count();
  505. $bar = $this->output->createProgressBar($total);
  506. Msg::chunk(2000, function ($Msg) use ($bar) {
  507. $MsgData = [];
  508. foreach ($Msg as $key => $val) {
  509. $MsgData[$key]['parent_id'] = $val->pid ? $val->pid : $val->id;
  510. $MsgData[$key]['spid'] = $val->spid;
  511. $Member = Member::where(['uid' => $val->fromuid])->first();
  512. $utype = 1;
  513. if ($Member) {
  514. $utype = $Member->utype;
  515. }
  516. $MsgData[$key]['utype'] = $utype;
  517. $MsgData[$key]['from_uid'] = $val->fromuid;
  518. $MsgData[$key]['to_uid'] = $val->touid;
  519. $MsgData[$key]['message'] = $val->message;
  520. $MsgData[$key]['is_read'] = $val->spid ? 1 : 0;
  521. $MsgData[$key]['created_at'] = date('Y-m-d H:i:s', $val->addtime);
  522. $MsgData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->addtime);
  523. }
  524. if ($MsgData) {
  525. \App\Models\Msg::insert($MsgData);
  526. }
  527. $bar->advance(2000);
  528. });
  529. $bar->finish();
  530. $this->line(" 完成!");
  531. $this->info("开始转移 thirdlogins 数据...");
  532. $total = MemberBind::count();
  533. $bar = $this->output->createProgressBar($total);
  534. MemberBind::chunk(2000, function ($MemberBind) use ($bar) {
  535. $MemberBindData = [];
  536. foreach ($MemberBind as $key => $val) {
  537. $MemberBindData[$key]['uid'] = $val->uid;
  538. $Member = Member::where(['uid' => $val->uid])->first();
  539. $utype = 1;
  540. if ($Member) {
  541. $utype = $Member->utype;
  542. }
  543. $MemberBindData[$key]['utype'] = $utype;
  544. $MemberBindData[$key]['type'] = $val->type == 'qq' ? 1 : 2;
  545. $MemberBindData[$key]['openid'] = $val->keyid;
  546. $MemberBindData[$key]['created_at'] = date('Y-m-d H:i:s', $val->bindingtime);
  547. $MemberBindData[$key]['updated_at'] = date('Y-m-d H:i:s', $val->bindingtime);
  548. }
  549. if ($MemberBindData) {
  550. Thirdlogin::insert($MemberBindData);
  551. }
  552. $bar->advance(2000);
  553. });
  554. $bar->finish();
  555. $this->line(" 完成!");
  556. $this->info("转移个人数据完成.");
  557. }
  558. public function handelMember($member, &$result_array)
  559. {
  560. $data['id'] = $member->uid;
  561. $data['utype'] = $member->utype;
  562. $data['username'] = $member->username;
  563. $data['email'] = $member->email;
  564. $data['email_audit'] = $member->email_audit;
  565. $data['mobile'] = $member->mobile;
  566. $data['mobile_audit'] = $member->mobile_audit;
  567. $data['old_password'] = $member->password;
  568. $data['reg_time'] = $member->reg_time;
  569. $data['reg_ip'] = ip2long($member->reg_ip);
  570. $data['reg_address'] = $member->reg_address;
  571. $data['last_login_time'] = $member->last_login_time;
  572. $data['last_login_ip'] = ip2long($member->last_login_ip);
  573. $data['status'] = $member->status;
  574. if (strpos($member->avatars, 'http') !== false) {
  575. $avatars = '';
  576. } else {
  577. if ($member->avatars) {
  578. $avatars = 'old/avatar/' . $member->avatars;
  579. } else {
  580. $avatars = $member->avatars;
  581. }
  582. }
  583. $data['avatars'] = $avatars;
  584. $data['robot'] = $member->robot;
  585. $data['remind_email_time'] = $member->remind_email_time;
  586. $data['sms_num'] = $member->sms_num;
  587. $data['reg_type'] = $member->reg_type;
  588. $data['remind_email_ex_time'] = $member->remind_email_ex_time;
  589. $data['subsite_id'] = $member->subsite_id;
  590. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  591. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  592. //新增字段
  593. $data['pwd_hash'] = $member->pwd_hash;
  594. $data['consultant'] = $member->consultant;
  595. $data['imei'] = $member->imei;
  596. $data['invitation_code'] = $member->invitation_code;
  597. $data['laiyuan'] = $member->laiyuan;
  598. $data['qx_uid'] = $member->qx_uid;
  599. $data['talent_category'] = $member->talent_category;
  600. $data['talent_category_audit'] = $member->talent_category_audit;
  601. $data['member_status'] = $member->member_status;
  602. $result_array[] = $data;
  603. }
  604. public function handleMemberInfo($member, &$result_array)
  605. {
  606. if (!empty($member->memberInfos)) {
  607. $personnel_nature = 0;
  608. $personnel_nature_cn = '';
  609. $data['uid'] = $member->memberInfos->uid;
  610. // $data['aix_registration'] = $member->memberInfos->aix_registration;
  611. $data['realname'] = $member->memberInfos->realname;
  612. $data['display_name'] = $member->memberInfos->display_name;
  613. $data['sex'] = $member->memberInfos->sex;
  614. $data['sex_cn'] = $member->memberInfos->sex_cn;
  615. $data['birthday'] = $member->memberInfos->birthday;
  616. $data['card_t_cn'] = 306;
  617. $data['id_card'] = $member->memberInfos->jc_idcode;
  618. $data['residence'] = '623.0.0';
  619. $data['residence_cn'] = $member->memberInfos->residence;
  620. $data['education'] = $member->memberInfos->education;
  621. $data['education_cn'] = $member->memberInfos->education_cn;
  622. $data['major'] = $member->memberInfos->major;
  623. $data['major_cn'] = $member->memberInfos->major_cn;
  624. $data['experience'] = $member->memberInfos->experience;
  625. $data['experience_cn'] = $member->memberInfos->experience_cn;
  626. $data['phone'] = $member->memberInfos->phone;
  627. $data['email'] = $member->memberInfos->email;
  628. $data['height'] = $member->memberInfos->height ? $member->memberInfos->height : '';
  629. $data['householdaddress'] = '623.0.0';
  630. $data['householdaddress_cn'] = $member->memberInfos->householdaddress;
  631. $data['qq'] = $member->memberInfos->qq;
  632. $data['weixin'] = $member->memberInfos->weixin;
  633. $data['marriage'] = $member->memberInfos->marriage;
  634. $data['marriage_cn'] = $member->memberInfos->marriage_cn;
  635. //新增字段
  636. $data['laiyuan'] = $member->laiyuan;
  637. $data['qx_id'] = $member->qx_id;
  638. if (strpos($member->avatars, 'http') !== false) {
  639. $avatars = '';
  640. $data['photo'] = 1;
  641. $data['photo_audit'] = 2;
  642. } else {
  643. if ($member->avatars) {
  644. $avatars = 'old/avatar/' . $member->avatars;
  645. $data['photo'] = 1;
  646. $data['photo_audit'] = 2;
  647. } else {
  648. $avatars = $member->avatars;
  649. $data['photo'] = 0;
  650. $data['photo_audit'] = 1;
  651. }
  652. }
  653. $data['images'] = $avatars;
  654. $data['display_images'] = 1;
  655. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  656. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  657. $result_array[] = $data;
  658. }
  659. }
  660. public function handleResume($member, &$result_array)
  661. {
  662. if (!($member->resumes->isEmpty()) && !empty($member->memberInfos)) {
  663. foreach ($member->resumes as $resume) {
  664. $data['id'] = $resume->id;
  665. $data['uid'] = $resume->uid;
  666. $data['display'] = $resume->display;
  667. $data['display_name'] = $resume->display_name;
  668. if ($resume->audit == 1) {
  669. $audit = 2;
  670. } elseif ($resume->audit == 2) {
  671. $audit = 1;
  672. } else {
  673. $audit = 0;
  674. }
  675. $data['audit'] = $audit;
  676. $data['remark'] = '';
  677. $data['stick'] = $resume->stick;
  678. $data['strong_tag'] = $resume->strong_tag;
  679. $data['title'] = $resume->title;
  680. $data['fullname'] = $resume->fullname;
  681. $data['sex'] = $resume->sex;
  682. $data['sex_cn'] = $resume->sex_cn;
  683. $data['nature'] = $resume->nature;
  684. $data['nature_cn'] = $resume->nature_cn;
  685. $data['trade'] = $resume->trade;
  686. $data['trade_cn'] = $resume->trade_cn;
  687. $data['birthdate'] = $resume->birthdate;
  688. $data['residence'] = $resume->residence;
  689. $data['height'] = $resume->height ? $resume->height : '';
  690. $data['marriage'] = $resume->marriage;
  691. $data['marriage_cn'] = $resume->marriage_cn;
  692. $data['experience'] = $resume->experience;
  693. $data['experience_cn'] = $resume->experience_cn;
  694. $district = $resume->district;
  695. $data['district'] = $district;
  696. $data['district_cn'] = $resume->district_cn;
  697. $data['wage'] = $resume->wage;
  698. $data['wage_min'] = 0;
  699. $data['wage_max'] = 0;
  700. $data['wage_cn'] = $resume->wage_cn;
  701. $data['householdaddress'] = empty($resume->householdaddress) ? '' : $resume->householdaddress;
  702. $data['education'] = $resume->education;
  703. $data['education_cn'] = $resume->education_cn;
  704. $data['major'] = $resume->major;
  705. $data['major_cn'] = $resume->major_cn;
  706. $data['tag'] = $resume->tag;
  707. $data['tag_cn'] = $resume->tag_cn;
  708. $data['telephone'] = $resume->telephone;
  709. $data['email'] = $resume->email;
  710. $data['email_notify'] = $resume->email_notify;
  711. $data['intention_jobs_id'] = $resume->intention_jobs_id;
  712. $data['intention_jobs'] = $resume->intention_jobs;
  713. $data['specialty'] = $resume->specialty;
  714. $data['photo'] = $resume->photo;
  715. $data['photo_audit'] = $resume->photo_audit;
  716. $data['qq'] = $resume->qq;
  717. $data['weixin'] = $resume->weixin;
  718. $data['subsite_id'] = $member->subsite_id;
  719. $data['stime'] = $resume->stime;
  720. $data['entrust'] = $resume->entrust;
  721. $data['talent'] = $resume->talent;
  722. if ($resume->level == 3) {
  723. $level = 1;
  724. } elseif ($resume->level == 2) {
  725. $level = 2;
  726. } elseif ($resume->level == 1) {
  727. $level = 0;
  728. } else {
  729. $level = 0;
  730. }
  731. $data['level'] = $level;
  732. $data['complete_percent'] = $resume->complete_percent;
  733. $data['current'] = $resume->current;
  734. $data['current_cn'] = $resume->current_cn;
  735. $data['word_resume'] = $resume->word_resume;
  736. $data['word_resume_title'] = $resume->word_resume_title;
  737. $data['word_resume_addtime'] = $resume->word_resume_addtime;
  738. $data['key_full'] = $resume->key_full;
  739. $data['key_precise'] = $resume->key_precise;
  740. $data['click'] = $resume->click;
  741. $data['tpl'] = $resume->tpl;
  742. $data['def'] = $resume->def;
  743. $data['resume_from_pc'] = $resume->resume_from_pc;
  744. $data['mobile_audit'] = $resume->mobile_audit;
  745. //新增字段
  746. $data['photo_img'] = $member->photo_img;
  747. $data['photo_display'] = $member->photo_display;
  748. $data['politics_face'] = $member->politics_face;
  749. $data['politics_face_cn'] = $member->politics_face_cn;
  750. $data['gaoji_resume'] = $member->gaoji_resume;
  751. $data['baidu_submit'] = $member->baidu_submit;
  752. $data['laiyuan'] = $member->laiyuan;
  753. $data['qx_id'] = $member->qx_id;
  754. $data['created_at'] = date('Y-m-d H:i:s', $resume->addtime);
  755. $data['updated_at'] = date('Y-m-d H:i:s', $resume->refreshtime);
  756. $result_array[] = $data;
  757. }
  758. }
  759. }
  760. public function handleResumeEdu($member, &$result_array)
  761. {
  762. if (!($member->resumeEducation->isEmpty())) {
  763. foreach ($member->resumeEducation as $resumeEducations) {
  764. $data['uid'] = $resumeEducations->uid;
  765. $data['resume_id'] = $resumeEducations->pid;
  766. $data['startyear'] = $resumeEducations->startyear;
  767. $data['startmonth'] = $resumeEducations->startmonth;
  768. $data['endyear'] = $resumeEducations->endyear;
  769. $data['endmonth'] = $resumeEducations->endmonth;
  770. $data['school'] = $resumeEducations->school;
  771. $data['speciality'] = $resumeEducations->speciality;
  772. $data['education'] = $resumeEducations->education;
  773. $data['education_cn'] = $resumeEducations->education_cn;
  774. $data['todate'] = $resumeEducations->todate;
  775. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  776. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  777. $result_array[] = $data;
  778. }
  779. }
  780. }
  781. public function handleResumeWork($member, &$result_array)
  782. {
  783. if (!($member->resumeWork->isEmpty())) {
  784. foreach ($member->resumeWork as $works) {
  785. $data['uid'] = $works->uid;
  786. $data['resume_id'] = $works->pid;
  787. $data['startyear'] = $works->startyear;
  788. $data['startmonth'] = $works->startmonth;
  789. $data['endyear'] = $works->endyear;
  790. $data['endmonth'] = $works->endmonth;
  791. $data['companyname'] = $works->companyname;
  792. $data['jobs'] = $works->jobs;
  793. $data['achievements'] = $works->achievements;
  794. $data['todate'] = $works->todate;
  795. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  796. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  797. $result_array[] = $data;
  798. }
  799. }
  800. }
  801. public function handleResumeTrain($member, &$result_array)
  802. {
  803. if (!($member->resumeTrain->isEmpty())) {
  804. foreach ($member->resumeTrain as $trains) {
  805. $data['uid'] = $trains->uid;
  806. $data['resume_id'] = $trains->pid;
  807. $data['startyear'] = $trains->startyear;
  808. $data['startmonth'] = $trains->startmonth;
  809. $data['endyear'] = $trains->endyear;
  810. $data['endmonth'] = $trains->endmonth;
  811. $data['agency'] = $trains->agency;
  812. $data['course'] = $trains->course;
  813. $data['description'] = $trains->description;
  814. $data['todate'] = $trains->todate;
  815. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  816. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  817. $result_array[] = $data;
  818. }
  819. }
  820. }
  821. public function handleResumeCredent($member, &$result_array)
  822. {
  823. if (!($member->resumeCredent->isEmpty())) {
  824. foreach ($member->resumeCredent as $credents) {
  825. $data['uid'] = $credents->uid;
  826. $data['resume_id'] = $credents->pid;
  827. $data['name'] = $credents->name;
  828. $data['year'] = $credents->year;
  829. $data['month'] = $credents->month;
  830. $data['images'] = $credents->images;
  831. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  832. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  833. $result_array[] = $data;
  834. }
  835. }
  836. }
  837. public function handleResumeLan($member, &$result_array)
  838. {
  839. if (!($member->resumeLanguage->isEmpty())) {
  840. foreach ($member->resumeLanguage as $language) {
  841. $data['uid'] = $language->uid;
  842. $data['resume_id'] = $language->pid;
  843. $data['language'] = $language->language;
  844. $data['language_cn'] = $language->language_cn;
  845. $data['level'] = $language->level;
  846. $data['level_cn'] = $language->level_cn;
  847. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  848. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  849. $result_array[] = $data;
  850. }
  851. }
  852. }
  853. public function handlePoints($member, &$result_array)
  854. {
  855. if ($member->memberPoints) {
  856. $data['uid'] = $member->memberPoints->uid;
  857. $data['utype'] = 2;
  858. $data['points'] = $member->memberPoints->points;
  859. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  860. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  861. } else {
  862. $data['uid'] = $member->uid;
  863. $data['utype'] = 2;
  864. $data['points'] = 0;
  865. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  866. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  867. }
  868. $result_array[] = $data;
  869. }
  870. public function handleSubsite($member, &$result_array)
  871. {
  872. if (!($member->resumes->isEmpty())) {
  873. foreach ($member->resumes as $resume) {
  874. $data['subsite_id'] = $member->subsite_id;
  875. $data['resume_id'] = $resume->id;
  876. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  877. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  878. $result_array[] = $data;
  879. }
  880. }
  881. }
  882. public function handleEntrust($member, &$result_array)
  883. {
  884. if (isset($member->resumeEntrust) && !($member->resumeEntrust->isEmpty())) {
  885. foreach ($member->resumeEntrust as $entrust) {
  886. $data['resume_id'] = $entrust->resume_id;
  887. $data['uid'] = $member->uid;
  888. $data['fullname'] = $entrust->fullname;
  889. $data['entrust'] = $entrust->entrust;
  890. $data['entrust_start'] = $entrust->entrust_start;
  891. $data['entrust_end'] = $entrust->entrust_end;
  892. $data['created_at'] = date('Y-m-d H:i:s', $member->reg_time);
  893. $data['updated_at'] = date('Y-m-d H:i:s', $member->reg_time);
  894. $result_array[] = $data;
  895. }
  896. }
  897. }
  898. // public function handleJobRecommendLog(&$job_recommend_log)
  899. // {
  900. // $all = \App\Transfer\JobRecommendLog::all();
  901. // if (!empty($all)) {
  902. // foreach ($all as $key => $value) {
  903. // $data['apply_id'] = $value->did;
  904. // $data['admin_id'] = $value->aid;
  905. // $a = Member::where('uid',$value->aid)->first();
  906. // if (!empty($a)) {
  907. // $username = $a->username;
  908. // } else {
  909. // $username = '';
  910. // }
  911. // $data['admin_username'] = $username;
  912. // $data['created_at'] = date('Y-m-d H:i:s', $value['apply_time']);
  913. // $data['updated_at'] = date('Y-m-d H:i:s', $value['apply_time']);
  914. // $job_recommend_log[] = $data;
  915. // }
  916. // }
  917. // }
  918. public function handleOrder(&$order)
  919. {
  920. $all = Order::all();
  921. if (!empty($all)) {
  922. foreach ($all as $key => $value) {
  923. $data['id'] = $value->id;
  924. $data['oid'] = $value->id;
  925. $data['uid'] = $value->uid;
  926. $data['pay_type'] = $value->pay_type;
  927. $data['order_type'] = $value->order_type;
  928. $data['utype'] = $value->utype;
  929. $data['is_pay'] = $value->is_paid;
  930. $data['amount'] = $value->amount;
  931. $data['pay_amount'] = $value->pay_amount;
  932. $data['pay_points'] = $value->pay_points;
  933. $data['payment'] = $value->payment;
  934. $data['payment_cn'] = $value->payment_cn;
  935. $data['description'] = $value->description;
  936. $data['service_name'] = $value->service_name;
  937. $data['points'] = $value->points;
  938. $data['setmeal'] = $value->setmeal;
  939. $data['params'] = $value->params;
  940. $data['charge'] = '';
  941. $data['notes'] = $value->notes;
  942. $data['payment_time'] = $value->payment_time;
  943. $data['discount'] = $value->discount;
  944. $data['fee'] = $value->fee;
  945. $data['created_at'] = date('Y-m-d H:i:s', $value['addtime']);
  946. $data['updated_at'] = date('Y-m-d H:i:s', $value['addtime']);
  947. $order[] = $data;
  948. }
  949. }
  950. }
  951. }