TransJobfairout.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. <?php
  2. namespace App\Console\Commands\Transfer;
  3. use App\Models\Jobfair\JobfairFloorplan;
  4. use App\Transfer\Fuwai;
  5. use App\Transfer\FuwaiExhibitors;
  6. use App\Transfer\FuwaiInfo;
  7. use App\Transfer\FuwaiFeedback;
  8. use App\Transfer\FuwaiReserve;
  9. use App\Transfer\FuwaiReserveList;
  10. use App\Transfer\FuwaiJobs;
  11. use App\Transfer\FuwaiJobsContact;
  12. use App\Transfer\FuwaiPutJobs;
  13. use App\Transfer\FuwaiPersonalJobsApply;
  14. use Illuminate\Console\Command;
  15. use Illuminate\Support\Facades\DB;
  16. class TransJobfairout extends Command
  17. {
  18. /**
  19. * The name and signature of the console command.
  20. *
  21. * @var string
  22. */
  23. protected $signature = 'aix:transfer-jobfairout';
  24. /**
  25. * The console command description.
  26. *
  27. * @var string
  28. */
  29. protected $description = '旧系统赴外招聘会数据';
  30. /**
  31. * Create a new command instance.
  32. *
  33. * @return void
  34. */
  35. public function __construct()
  36. {
  37. parent::__construct();
  38. }
  39. /**
  40. * Execute the console command.
  41. *
  42. * @return mixed
  43. */
  44. public function handle()
  45. {
  46. $this->info("清除招聘会数据表:jobfairout");
  47. DB::table('jobfairout')->truncate();
  48. $this->info("清除招聘会反馈表:jobfairout_feedback");
  49. DB::table('jobfairout_feedback')->truncate();
  50. $this->info("清除招聘会企业数据表:jobfairout_info");
  51. DB::table('jobfairout_info')->truncate();
  52. $this->info("清除招聘会参加人员数据表:jobfairout_reserve");
  53. DB::table('jobfairout_reserve')->truncate();
  54. $this->info("清除招聘会参加人员库数据表:jobfairout_reserve_list");
  55. DB::table('jobfairout_reserve_list')->truncate();
  56. $this->info("清除招聘会企业预订数据表:jobfairout_companys");
  57. DB::table('jobfairout_companys')->truncate();
  58. $this->info("清除招聘会职位库表:jobfair_jobs");
  59. DB::table('jobfair_jobs')->where('type',2)->delete();
  60. $this->info("清除招聘会职位库联系人表:jobfair_jobs_contacts");
  61. DB::table('jobfair_jobs_contacts')->where('pid','>=','200000')->delete();
  62. $this->info("清除招聘会参展职位数据表:jobfairout_put_jobs");
  63. DB::table('jobfairout_put_jobs')->truncate();
  64. $this->info("清除招聘会参展职位数据表:jobfairout_personal_jobs_applys");
  65. DB::table('jobfairout_personal_jobs_applys')->truncate();
  66. $this->info("开始转移数据...");
  67. $total = Fuwai::count();
  68. $bar=$this->output->createProgressBar($total);
  69. Fuwai::orderBy('id', 'asc')->chunk(10, function ($jobfairs) use ($bar) {
  70. $jobfair_array = [];
  71. foreach ($jobfairs as $key=>$jobfair) {
  72. $this->handleJobfair($jobfair, $jobfair_array);
  73. }
  74. \App\Models\Jobfairout\Jobfairout::insert($jobfair_array);
  75. $bar->advance(10);
  76. });
  77. $bar->finish();
  78. $this->line(" 完成!");
  79. $this->info("转移jobfairout数据数据成功.");
  80. $this->info("开始转移数据...");
  81. $total = FuwaiInfo::count();
  82. $bar=$this->output->createProgressBar($total);
  83. FuwaiInfo::orderBy('id', 'asc')->chunk(1000, function ($jobfairInfo) use ($bar) {
  84. $jobfair_info = [];
  85. foreach ($jobfairInfo as $key=>$val) {
  86. $this->handleJobfairInfo($val, $jobfair_info);
  87. }
  88. \App\Models\Jobfairout\JobfairoutInfo::insert($jobfair_info);
  89. $bar->advance(1000);
  90. });
  91. $bar->finish();
  92. $this->line(" 完成!");
  93. $this->info("转移JobfairoutInfo数据数据成功.");
  94. $this->info("开始转移数据...");
  95. $total = FuwaiReserve::count();
  96. $bar=$this->output->createProgressBar($total);
  97. FuwaiReserve::orderBy('id', 'asc')->chunk(1000, function ($jobfairReserve) use ($bar) {
  98. $jobfair_reserve = [];
  99. foreach ($jobfairReserve as $key=>$val) {
  100. $this->handleJobfaiReserve($val, $jobfair_reserve);
  101. }
  102. \App\Models\Jobfairout\JobfairoutReserve::insert($jobfair_reserve);
  103. $bar->advance(1000);
  104. });
  105. $bar->finish();
  106. $this->line(" 完成!");
  107. $this->info("转移JobfairoutReserve数据数据成功.");
  108. $this->info("开始转移数据...");
  109. $total = FuwaiReserveList::count();
  110. $bar=$this->output->createProgressBar($total);
  111. FuwaiReserveList::orderBy('id', 'asc')->chunk(1000, function ($jobfairReserveList) use ($bar) {
  112. $jobfair_reserve_list = [];
  113. foreach ($jobfairReserveList as $key=>$val) {
  114. $this->handleJobfaiReserveList($val, $jobfair_reserve_list);
  115. }
  116. \App\Models\Jobfairout\JobfairoutReserveList::insert($jobfair_reserve_list);
  117. $bar->advance(1000);
  118. });
  119. $bar->finish();
  120. $this->line(" 完成!");
  121. $this->info("转移JobfairoutReserveList数据数据成功.");
  122. $this->info("开始转移数据...");
  123. $total = FuwaiExhibitors::count();
  124. $bar=$this->output->createProgressBar($total);
  125. FuwaiExhibitors::orderBy('id', 'asc')->chunk(100, function ($jobfairCompany) use ($bar) {
  126. $jobfair_company = [];
  127. foreach ($jobfairCompany as $val) {
  128. $this->handleJobfairCompany($val, $jobfair_company);
  129. }
  130. \App\Models\Jobfairout\JobfairoutCompany::insert($jobfair_company);
  131. $bar->advance(100);
  132. });
  133. $bar->finish();
  134. $this->line(" 完成!");
  135. $this->info("转移JobfairCompany数据数据成功.");
  136. $this->info("开始转移数据...");
  137. $total = FuwaiJobs::count();
  138. $bar=$this->output->createProgressBar($total);
  139. FuwaiJobs::orderBy('id', 'asc')->chunk(100, function ($jobfairJob) use ($bar) {
  140. $jobfair_job = [];
  141. foreach ($jobfairJob as $val) {
  142. $this->handleJobfairJob($val, $jobfair_job);
  143. }
  144. \App\Models\Jobfair\JobfairJob::insert($jobfair_job);
  145. $bar->advance(100);
  146. });
  147. $bar->finish();
  148. $this->line(" 完成!");
  149. $this->info("转移JobfairJob数据数据成功.");
  150. $this->info("开始转移数据...");
  151. $total = FuwaiJobsContact::count();
  152. $bar=$this->output->createProgressBar($total);
  153. FuwaiJobsContact::orderBy('id', 'asc')->chunk(100, function ($jobfairJobContact) use ($bar) {
  154. $jobfair_job_contact = [];
  155. foreach ($jobfairJobContact as $val) {
  156. $this->handleJobfairJobContact($val, $jobfair_job_contact);
  157. }
  158. \App\Models\Jobfair\JobfairJobsContact::insert($jobfair_job_contact);
  159. $bar->advance(100);
  160. });
  161. $bar->finish();
  162. $this->line(" 完成!");
  163. $this->info("转移JobfairJobsContact数据数据成功.");
  164. $this->info("开始转移数据...");
  165. $total = FuwaiPutJobs::count();
  166. $bar=$this->output->createProgressBar($total);
  167. FuwaiPutJobs::with('jobs')->orderBy('id', 'asc')->chunk(1000, function ($jobfairPutJob) use ($bar) {
  168. $jobfair_put_job = [];
  169. foreach ($jobfairPutJob as $val) {
  170. $this->handleJobfairPutJob($val, $jobfair_put_job);
  171. }
  172. \App\Models\Jobfairout\JobfairoutPutJob::insert($jobfair_put_job);
  173. $bar->advance(1000);
  174. });
  175. $bar->finish();
  176. $this->line(" 完成!");
  177. $this->info("转移JobfairPutJob数据数据成功.");
  178. $this->info("开始转移数据...");
  179. $total = FuwaiPersonalJobsApply::count();
  180. $bar=$this->output->createProgressBar($total);
  181. FuwaiPersonalJobsApply::orderBy('did', 'asc')->chunk(100, function ($jobfairYuyue) use ($bar) {
  182. $jobfair_yuyue = [];
  183. foreach ($jobfairYuyue as $val) {
  184. $this->handleJobfairYuyue($val, $jobfair_yuyue);
  185. }
  186. \App\Models\Jobfairout\JobfairoutPersonalJobsApply::insert($jobfair_yuyue);
  187. $bar->advance(100);
  188. });
  189. $bar->finish();
  190. $this->line(" 完成!");
  191. $this->info("转移JobfairPersonalJobsApply数据数据成功.");
  192. }
  193. public function handleJobfair($jobfair, &$jobfair_array)
  194. {
  195. $jobfairArr=[];
  196. $jobfairArr['id'] = $jobfair->id;
  197. $jobfairArr['title'] = $jobfair->title;
  198. $jobfairArr['url'] = $jobfair->url;
  199. $jobfairArr['holddate_start'] = $jobfair->holddate_start;
  200. $jobfairArr['holddate_end'] = $jobfair->holddate_end;
  201. $jobfairArr['predetermined_start'] = $jobfair->predetermined_start;
  202. $jobfairArr['predetermined_end'] = $jobfair->predetermined_end;
  203. $jobfairArr['predetermined_start'] = $jobfair->predetermined_start;
  204. $jobfairArr['address'] = $jobfair->address;
  205. $jobfairArr['contact'] = $jobfair->contact;
  206. $jobfairArr['phone'] = $jobfair->phone;
  207. $jobfairArr['predetermined_point'] = $jobfair->predetermined_point;
  208. $jobfairArr['display'] = $jobfair->display;
  209. $jobfairArr['is_commonweal'] = $jobfair->is_commonweal;
  210. $jobfairArr['ordid'] = $jobfair->ordid;
  211. $jobfairArr['jobfair_introduction'] = htmlspecialchars_decode($jobfair->introduction);
  212. $jobfairArr['map_x'] = $jobfair->map_x;
  213. $jobfairArr['map_y'] = $jobfair->map_y;
  214. $jobfairArr['map_zoom'] = $jobfair->map_zoom;
  215. $jobfairArr['subsite_id'] = $jobfair->subsite_id;
  216. $jobfairArr['number'] = $jobfair->number;
  217. $jobfairArr['type'] = $jobfair->type;
  218. $jobfairArr['created_at'] = date('Y-m-d H:i:s',$jobfair->addtime);
  219. $jobfairArr['updated_at'] = date('Y-m-d H:i:s',$jobfair->addtime);
  220. $jobfair_array[] = $jobfairArr;
  221. }
  222. public function handleJobfairInfo($val,&$jobfair_info)
  223. {
  224. $array = [];
  225. $array['id'] = $val->id;
  226. $array['company_id'] = $val->uid;
  227. $array['jobfair_id'] = $val->fuwai_id;
  228. $array['intro'] = $val->intro;
  229. $array['exid'] = $val->exid;
  230. $array['contact'] = $val->contacts;
  231. $array['landline_tel'] = $val->office_phone;
  232. $array['phone'] = $val->phone;
  233. $array['fax'] = $val->fax;
  234. $array['email'] = $val->email;
  235. $array['qq'] = $val->qq;
  236. $array['address'] = $val->address;
  237. $array['url'] = $val->url;
  238. $array['is_speech'] = $val->is_xj;
  239. $array['status'] = $val->status;
  240. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  241. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  242. $jobfair_info[] = $array;
  243. }
  244. public function handleJobfaiReserve($val,&$jobfair_reserve)
  245. {
  246. $array = [];
  247. $array['id'] = $val->id;
  248. $array['jobfair_id'] = $val->fuwai_id;
  249. $array['company_id'] = $val->uid;
  250. $array['exid'] = $val->exid;
  251. $array['name1'] = $val->name1;
  252. $array['name2'] = $val->name2;
  253. $array['id1'] = $val->id1;
  254. $array['id2'] = $val->id2;
  255. $array['sex1'] = $val->sex1;
  256. $array['sex2'] = $val->sex2;
  257. $array['phone1'] = $val->phone1;
  258. $array['phone2'] = $val->phone2;
  259. $array['departmental_position1'] = $val->departmental_position1;
  260. $array['departmental_position2'] = $val->departmental_position2;
  261. $array['gentuan'] = $val->gentuan;
  262. $array['intro'] = $val->intro;
  263. $array['status'] = $val->status;
  264. $array['created_at'] = date('Y-m-d H:i:s',$val->time);
  265. $array['updated_at'] = date('Y-m-d H:i:s',$val->time);
  266. $jobfair_reserve[] = $array;
  267. }
  268. public function handleJobfaiReserveList($val,&$jobfair_reserve_list)
  269. {
  270. $array = [];
  271. $array['id'] = $val->id;
  272. $array['name'] = $val->name;
  273. $array['sex'] = $val->sex;
  274. $array['telephone'] = $val->mobilephone;
  275. $array['post'] = $val->zhiwu;
  276. $array['idcard'] = $val->idcard;
  277. $array['company_id'] = $val->uid;
  278. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  279. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  280. $jobfair_reserve_list[] = $array;
  281. }
  282. public function handleJobfairCompany($val,&$jobfair_company)
  283. {
  284. $array = [];
  285. $array['id'] = $val->id;
  286. $array['audit'] = $val->audit;
  287. $array['etype'] = $val->etype;
  288. $array['company_id'] = $val->uid;
  289. $array['jobfair_id'] = $val->jobfair_id;
  290. $array['note'] = $val->note;
  291. $array['pay_type'] = $val->pay_type;
  292. $array['created_at'] = date('Y-m-d H:i:s',$val->eaddtime);
  293. $array['updated_at'] = date('Y-m-d H:i:s',$val->eaddtime);
  294. $jobfair_company[] = $array;
  295. }
  296. public function handleJobfairJob($val, &$jobfair_job)
  297. {
  298. $array = [];
  299. if($val->companyprofile){
  300. $array['id'] = $val->id+200000;
  301. $array['jobs_name'] = $val->jobs_name;
  302. $array['company_id'] = $val->uid;
  303. $array['company_name'] = $val->companyname;
  304. $array['company_audit'] = $val->companyprofile->audit;
  305. $array['company_addtime'] = $val->addtime;
  306. $array['nature'] = $val->nature;
  307. $array['nature_cn'] = $val->nature_cn;
  308. $array['sex'] = $val->sex;
  309. $array['sex_cn'] = $val->sex_cn;
  310. $array['age'] = $val->age;
  311. $array['amount'] = $val->amount;
  312. $array['topclass'] = $val->topclass;
  313. $array['category'] = $val->category;
  314. $array['subclass'] = $val->subclass;
  315. $array['category_cn'] = $val->category_cn;
  316. $array['trade'] = $val->trade;
  317. $array['trade_cn'] = $val->trade_cn;
  318. $array['district'] = $val->district.'.'.$val->sdistrict.'.'.$val->tdistrict;
  319. $array['district_cn'] = $val->district_cn;
  320. $array['tag'] = $val->tag;
  321. $array['tag_cn'] = $val->tag_cn;
  322. $array['education'] = $val->education;
  323. $array['education_cn'] = $val->education_cn;
  324. $array['wage_min'] = $val->minwage;
  325. $array['wage_max'] = $val->maxwage;
  326. $array['wage_cn'] = $val->minwage.'~'.$val->maxwage.'/月';
  327. $array['negotiable'] = $val->negotiable;
  328. if($val->negotiable == 1){
  329. $array['wage'] = -1;
  330. }else{
  331. $array['wage'] = 0;
  332. }
  333. $array['jobs_content'] = $val->contents;
  334. $array['audit'] = $val->audit;
  335. $array['department'] = $val->department;
  336. $array['type'] = 2;
  337. $array['scale'] = $val->companyprofile->scale;
  338. $array['scale_cn'] = $val->companyprofile->scale_cn;
  339. $array['experience'] = $val->experience;
  340. $array['experience_cn'] = $val->experience_cn;
  341. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  342. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  343. $jobfair_job[] = $array;
  344. }
  345. }
  346. public function handleJobfairJobContact($val, &$jobfair_job_contact)
  347. {
  348. $array = [];
  349. $array['id'] = $val->id;
  350. $array['pid'] = $val->pid+200000;
  351. $array['contact'] = $val->contact;
  352. $array['qq'] = $val->details;
  353. $array['mobile'] = $val->telephone;
  354. $array['landline_tel'] = $val->landline_tel;
  355. $array['email'] = $val->email;
  356. $array['address'] = $val->address;
  357. $array['notify'] = $val->notify;
  358. $array['notify_mobile'] = $val->notify_mobile;
  359. $array['contact_show'] = $val->contact_show;
  360. $array['telephone_show'] = $val->telephone_show;
  361. $array['email_show'] = $val->email_show;
  362. $array['landline_tel_show'] = $val->landline_tel_show;
  363. $array['created_at'] = date('Y-m-d H:i:s', time());
  364. $array['updated_at'] = date('Y-m-d H:i:s', time());
  365. $jobfair_job_contact[] = $array;
  366. }
  367. public function handleJobfairPutJob($val, &$jobfair_put_job)
  368. {
  369. $array = [];
  370. $array['id'] = $val->id;
  371. $array['exid'] = $val->exid;
  372. $array['jobfair_id'] = $val->jobfair_id;
  373. $array['job_id'] = $val->fairjob_id+200000;
  374. $array['jobs_name'] = $val->jobs_name;
  375. $array['company_id'] = $val->uid;
  376. $array['company_name'] = $val->companyname;
  377. $array['nature'] = $val->nature;
  378. $array['nature_cn'] = $val->nature_cn;
  379. $array['sex'] = $val->sex;
  380. $array['sex_cn'] = $val->sex_cn;
  381. $array['age'] = $val->age;
  382. $array['amount'] = $val->amount;
  383. $array['topclass'] = $val->topclass;
  384. $array['category'] = $val->category;
  385. $array['subclass'] = $val->subclass;
  386. $array['category_cn'] = $val->category_cn;
  387. $array['trade'] = $val->trade;
  388. $array['trade_cn'] = $val->trade_cn;
  389. $array['district'] = $val->district.'.'.$val->sdistrict.'.'.$val->tdistrict;
  390. $array['district_cn'] = $val->district_cn;
  391. $array['tag'] = $val->tag;
  392. $array['tag_cn'] = $val->tag_cn;
  393. $array['education'] = $val->education;
  394. $array['education_cn'] = $val->education_cn;
  395. $array['wage_min'] = $val->minwage;
  396. $array['wage_max'] = $val->maxwage;
  397. $array['wage_cn'] = $val->minwage.'~'.$val->maxwage.'/月';
  398. if($val->negotiable == 1){
  399. $array['wage'] = -1;
  400. }else{
  401. $array['wage'] = 0;
  402. }
  403. $array['jobs_content'] = $val->contents;
  404. $array['audit'] = $val->audit == 1 ? 1 : 2;
  405. $array['department'] = $val->department;
  406. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  407. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  408. $jobfair_put_job[] = $array;
  409. }
  410. public function handleJobfairYuyue($val, &$jobfair_personal_jobs_apply)
  411. {
  412. $array = [];
  413. $array['id'] = $val->id;
  414. $array['resume_id'] = $val->resume_id;
  415. $array['personal_uid'] = $val->uid;
  416. $array['jobs_id'] = $val->jobs_id;
  417. $array['company_id'] = $val->company_uid;
  418. $array['personal_look'] = $val->personal_look;
  419. $array['notes'] = $val->notes;
  420. $array['jobfair_id'] = $val->jobfair_id;
  421. $array['is_reply'] = $val->is_reply;
  422. $array['is_apply'] = $val->is_apply;
  423. $array['created_at'] = date('Y-m-d H:i:s',$val->apply_addtime);
  424. $array['updated_at'] = date('Y-m-d H:i:s',$val->apply_addtime);
  425. $jobfair_personal_jobs_apply[] = $array;
  426. }
  427. }