TransJobfair.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. <?php
  2. namespace App\Console\Commands\Transfer;
  3. use App\Models\Jobfair\JobfairFloorplan;
  4. use App\Transfer\Jobfair;
  5. use App\Transfer\JobfairJob;
  6. use App\Transfer\JobfairJobContact;
  7. use App\Transfer\JobfairBlackList;
  8. use App\Transfer\JobfairYuyue;
  9. use App\Transfer\JobfairExhibitors;
  10. use App\Transfer\JobfairPutJob;
  11. use App\Transfer\Category;
  12. use Illuminate\Console\Command;
  13. use Illuminate\Support\Facades\DB;
  14. use Illuminate\Support\Facades\Log;
  15. class TransJobfair extends Command
  16. {
  17. /**
  18. * The name and signature of the console command.
  19. *
  20. * @var string
  21. */
  22. protected $signature = 'aix:transfer-jobfair';
  23. /**
  24. * The console command description.
  25. *
  26. * @var string
  27. */
  28. protected $description = '甘肃旧系统招聘会数据';
  29. /**
  30. * Create a new command instance.
  31. *
  32. * @return void
  33. */
  34. public function __construct()
  35. {
  36. parent::__construct();
  37. }
  38. /**
  39. * Execute the console command.
  40. *
  41. * @return mixed
  42. */
  43. public function handle()
  44. {
  45. $this->info("清除招聘会数据表:jobfairs");
  46. DB::table('jobfairs')->truncate();
  47. $this->info("清除招聘会数据表:jobfair_floorplans");
  48. DB::table('jobfair_floorplans')->truncate();
  49. $this->info("清除招聘会数据表:jobfair_floorplan_stands");
  50. DB::table('jobfair_floorplan_stands')->truncate();
  51. $this->info("清除招聘会数据表:jobfair_floorplan_templates");
  52. DB::table('jobfair_floorplan_templates')->truncate();
  53. $this->info("清除招聘会黑名单数据表:jobfair_blacklists");
  54. DB::table('jobfair_blacklists')->truncate();
  55. $this->info("清除招聘会企业预订数据表:jobfair_companys");
  56. DB::table('jobfair_companys')->truncate();
  57. $this->info("清除招聘会职位库数据表:jobfair_jobs");
  58. DB::table('jobfair_jobs')->truncate();
  59. $this->info("清除招聘会职位库联系人数据表:jobfair_jobs_contacts");
  60. DB::table('jobfair_jobs_contacts')->truncate();
  61. $this->info("清除招聘会参展职位数据表:jobfair_put_jobs");
  62. DB::table('jobfair_put_jobs')->truncate();
  63. $this->info("清除招聘会参展职位数据表:jobfair_personal_jobs_applys");
  64. DB::table('jobfair_personal_jobs_applys')->truncate();
  65. $this->info("清除招聘会分类表:jobfair_managements");
  66. DB::table('jobfair_managements')->truncate();
  67. $this->info("开始转移数据...");
  68. $total = Jobfair::count();
  69. $bar=$this->output->createProgressBar($total);
  70. Jobfair::orderBy('id', 'asc')->chunk(10, function ($jobfairs) use ($bar) {
  71. $jobfair_array = [];
  72. $jobfair_floorplan = [];
  73. $jobfair_floorplan_stands = [];
  74. foreach ($jobfairs as $key=>$jobfair) {
  75. $areaid = $this->handleJobfairFloorplan($jobfair, $jobfair_floorplan);
  76. $this->handleJobfairFloorplanStand($jobfair, $jobfair_floorplan_stands);
  77. $this->handleJobfair($jobfair, $jobfair_array,$areaid);
  78. }
  79. \App\Models\Jobfair\Jobfair::insert($jobfair_array);
  80. \App\Models\Jobfair\JobfairFloorplanStand::insert($jobfair_floorplan_stands);
  81. $bar->advance(10);
  82. });
  83. $bar->finish();
  84. $this->line(" 完成!");
  85. $this->info("转移jobfairs数据数据成功.");
  86. $this->info("开始转移数据...");
  87. $total = JobfairExhibitors::count();
  88. $bar=$this->output->createProgressBar($total);
  89. JobfairExhibitors::orderBy('id', 'asc')->chunk(100, function ($jobfairCompany) use ($bar) {
  90. $jobfair_company = [];
  91. foreach ($jobfairCompany as $val) {
  92. $this->handleJobfairCompany($val, $jobfair_company);
  93. }
  94. \App\Models\Jobfair\JobfairCompany::insert($jobfair_company);
  95. $bar->advance(100);
  96. });
  97. $bar->finish();
  98. $this->line(" 完成!");
  99. $this->info("转移JobfairCompany数据数据成功.");
  100. $this->info("开始转移数据...");
  101. $total = JobfairBlackList::count();
  102. $bar=$this->output->createProgressBar($total);
  103. JobfairBlackList::orderBy('id', 'asc')->chunk(1000, function ($jobfairBlack) use ($bar) {
  104. $jobfair_black = [];
  105. foreach ($jobfairBlack as $val) {
  106. $this->handleJobfairBlack($val, $jobfair_black);
  107. }
  108. \App\Models\Jobfair\JobfairBlacklist::insert($jobfair_black);
  109. $bar->advance(1000);
  110. });
  111. $bar->finish();
  112. $this->line(" 完成!");
  113. $this->info("转移JobfairBlacklist数据数据成功.");
  114. $this->info("开始转移数据...");
  115. $total = JobfairJob::count();
  116. $bar=$this->output->createProgressBar($total);
  117. JobfairJob::orderBy('id', 'asc')->chunk(1000, function ($jobfairJob) use ($bar) {
  118. $jobfair_job = [];
  119. foreach ($jobfairJob as $val) {
  120. $this->handleJobfairJob($val, $jobfair_job);
  121. }
  122. \App\Models\Jobfair\JobfairJob::insert($jobfair_job);
  123. $bar->advance(1000);
  124. });
  125. $bar->finish();
  126. $this->line(" 完成!");
  127. $this->info("转移JobfairJob数据数据成功.");
  128. $this->info("开始转移数据...");
  129. $total = JobfairJobContact::count();
  130. $bar=$this->output->createProgressBar($total);
  131. JobfairJobContact::orderBy('id', 'asc')->chunk(1000, function ($jobfairJobContact) use ($bar) {
  132. $jobfair_job_contact = [];
  133. foreach ($jobfairJobContact as $val) {
  134. $this->handleJobfairJobContact($val, $jobfair_job_contact);
  135. }
  136. \App\Models\Jobfair\JobfairJobsContact::insert($jobfair_job_contact);
  137. $bar->advance(1000);
  138. });
  139. $bar->finish();
  140. $this->line(" 完成!");
  141. $this->info("转移JobfairJobsContact数据数据成功.");
  142. $this->info("开始转移数据...");
  143. $total = JobfairPutJob::count();
  144. $bar=$this->output->createProgressBar($total);
  145. JobfairPutJob::with('jobs')->orderBy('id', 'asc')->chunk(1000, function ($jobfairPutJob) use ($bar) {
  146. $jobfair_put_job = [];
  147. foreach ($jobfairPutJob as $val) {
  148. $this->handleJobfairPutJob($val, $jobfair_put_job);
  149. }
  150. \App\Models\Jobfair\JobfairPutJob::insert($jobfair_put_job);
  151. $bar->advance(1000);
  152. });
  153. $bar->finish();
  154. $this->line(" 完成!");
  155. $this->info("转移JobfairPutJob数据数据成功.");
  156. $this->info("开始转移数据...");
  157. $total = JobfairYuyue::count();
  158. $bar=$this->output->createProgressBar($total);
  159. JobfairYuyue::orderBy('id', 'asc')->chunk(100, function ($jobfairYuyue) use ($bar) {
  160. $jobfair_yuyue = [];
  161. foreach ($jobfairYuyue as $val) {
  162. $this->handleJobfairYuyue($val, $jobfair_yuyue);
  163. }
  164. \App\Models\Jobfair\JobfairPersonalJobsApply::insert($jobfair_yuyue);
  165. $bar->advance(100);
  166. });
  167. $bar->finish();
  168. $this->line(" 完成!");
  169. $this->info("转移JobfairPersonalJobsApply数据数据成功.");
  170. $this->info("开始转移数据...");
  171. $total = Category::where('c_alias','aix_jobfair_type')->count();
  172. $bar=$this->output->createProgressBar($total);
  173. Category::where('c_alias','aix_jobfair_type')->orderBy('c_id', 'asc')->chunk(100, function ($jobfairCategory) use ($bar) {
  174. $jobfair_category = [];
  175. foreach ($jobfairCategory as $val) {
  176. $this->handleJobfairCategory($val, $jobfair_category);
  177. }
  178. \App\Models\Jobfair\JobfairManagement::insert($jobfair_category);
  179. $bar->advance(100);
  180. });
  181. $bar->finish();
  182. $this->line(" 完成!");
  183. $this->info("转移JobfairManagements数据数据成功.");
  184. }
  185. public function handleJobfair($jobfair, &$jobfair_array,$areaid)
  186. {
  187. $jobfairArr=[];
  188. $jobfairArr['id'] = $jobfair->id;
  189. $jobfairArr['title'] = $jobfair->title;
  190. $jobfairArr['industry'] = $jobfair->industry;
  191. $jobfairArr['holddate_start'] = $jobfair->holddate_start;
  192. $jobfairArr['holddate_end'] = $jobfair->holddate_end;
  193. $jobfairArr['predetermined_start'] = $jobfair->predetermined_start;
  194. $jobfairArr['predetermined_end'] = $jobfair->predetermined_end;
  195. $jobfairArr['predetermined_start'] = $jobfair->predetermined_start;
  196. $jobfairArr['bus'] = $jobfair->bus;
  197. $jobfairArr['address'] = $jobfair->address;
  198. $jobfairArr['contact'] = $jobfair->contact;
  199. $jobfairArr['phone'] = $jobfair->phone;
  200. $jobfairArr['areaid'] = $jobfair->areaid;
  201. $jobfairArr['predetermined_point'] = $jobfair->predetermined_point;
  202. $jobfairArr['nosign_point'] = $jobfair->nosign_point;
  203. $jobfairArr['late_point'] = $jobfair->late_point;
  204. $jobfairArr['display'] = $jobfair->display;
  205. $jobfairArr['is_commonweal'] = $jobfair->is_commonweal;
  206. $jobfairArr['jobsfair_num'] = $jobfair->jobsfair_num;
  207. $jobfairArr['ordid'] = $jobfair->ordid;
  208. $jobfairArr['jobfair_introduction'] = htmlspecialchars_decode($jobfair->introduction);
  209. $jobfairArr['map_x'] = $jobfair->map_x;
  210. $jobfairArr['map_y'] = $jobfair->map_y;
  211. $jobfairArr['subsite_id'] = $jobfair->subsite_id;
  212. $jobfairArr['areaid'] = $areaid;
  213. $jobfairArr['jobfair_type'] = $jobfair->aix_jobfair_type;
  214. $jobfairArr['created_at'] = date('Y-m-d H:i:s',$jobfair->addtime);
  215. $jobfairArr['updated_at'] = date('Y-m-d H:i:s',$jobfair->addtime);
  216. $jobfair_array[] = $jobfairArr;
  217. }
  218. public function handleJobfairFloorplan($jobfair, &$jobfair_floorplan)
  219. {
  220. $jobfairArr=[];
  221. $jobfairArr['name'] = '批量导入';
  222. $jobfairArr['jobfair_id'] = $jobfair->id;
  223. $jobfairArr['bg_images'] = '无';
  224. $jobfairArr['created_at'] = date('Y-m-d H:i:s', time());
  225. $jobfairArr['updated_at'] = date('Y-m-d H:i:s', time());
  226. $jobfairArr;
  227. $areaid = JobfairFloorplan::insertGetId($jobfairArr);
  228. return $areaid;
  229. }
  230. public function handleJobfairCompany($val,&$jobfair_company)
  231. {
  232. $array = [];
  233. $array['id'] = $val->id;
  234. $array['audit'] = $val->audit;
  235. $array['etype'] = $val->etype;
  236. $array['company_id'] = $val->uid;
  237. $array['jobfair_id'] = $val->jobfair_id;
  238. $array['position'] = $val->position_id;
  239. $array['position_id'] = \App\Models\Jobfair\JobfairFloorplanStand::where('jobfair_id',$val->jobfair_id)->where('name',$val->position_id)->value('id');
  240. $array['note'] = $val->note;
  241. $array['recommend'] = $val->recommend;
  242. $array['pay_type'] = $val->pay_type;
  243. $array['read_card_num'] = $val->read_card_num;
  244. $array['created_at'] = date('Y-m-d H:i:s',$val->eaddtime);
  245. $array['updated_at'] = date('Y-m-d H:i:s',$val->eaddtime);
  246. $jobfair_company[] = $array;
  247. }
  248. public function handleJobfairFloorplanStand($jobfair, &$jobfair_floorplan_stands)
  249. {
  250. $exhibitors = JobfairExhibitors::where('jobfair_id',$jobfair->id)->get();
  251. if($exhibitors->isNotEmpty()){
  252. foreach ($exhibitors as $val)
  253. {
  254. $jobfairArr=[];
  255. static $left = 0;
  256. static $top = 20;
  257. if($left > 960){
  258. $left = 0;
  259. $top += 50;
  260. }
  261. $jobfairArr['name'] = $val->position_id;
  262. $jobfairArr['jobfair_id'] = $val->jobfair_id;
  263. $jobfairArr['floorplan_id'] = \App\Models\jobfair\JobfairFloorplan::where('jobfair_id',$val->jobfair_id)->value('id');
  264. $jobfairArr['equipment_id'] = 0;
  265. $jobfairArr['sortindex'] = 0;
  266. $jobfairArr['left'] = $left+=50;
  267. $jobfairArr['left'] = $jobfairArr['left'].'px';
  268. $jobfairArr['top'] = $top.'px';
  269. $jobfairArr['created_at'] = date('Y-m-d H:i:s', time());
  270. $jobfairArr['updated_at'] = date('Y-m-d H:i:s', time());
  271. $jobfair_floorplan_stands[] = $jobfairArr;
  272. }
  273. }
  274. }
  275. public function handleJobfairBlack($val, &$jobfair_black)
  276. {
  277. $array = [];
  278. $array['id'] = $val->id;
  279. $array['company_id'] = $val->uid;
  280. $array['type'] = $val->type;
  281. $array['details'] = $val->details;
  282. $array['add_time'] = $val->add_time;
  283. $array['remove_time'] = $val->remove_time;
  284. $array['operator'] = $val->operation;
  285. $array['created_at'] = date('Y-m-d H:i:s', $val->add_time);
  286. $array['updated_at'] = date('Y-m-d H:i:s', $val->add_time);
  287. $jobfair_black[] = $array;
  288. }
  289. public function handleJobfairJob($val, &$jobfair_job)
  290. {
  291. $array = [];
  292. $array['id'] = $val->id;
  293. $array['jobs_name'] = $val->jobs_name;
  294. $array['company_id'] = $val->uid;
  295. $array['company_name'] = $val->companyname;
  296. $array['company_audit'] = $val->companyprofile->audit;
  297. $array['company_addtime'] = $val->addtime;
  298. $array['nature'] = $val->nature;
  299. $array['nature_cn'] = $val->nature_cn;
  300. $array['sex'] = $val->sex;
  301. $array['sex_cn'] = $val->sex_cn;
  302. $array['age'] = $val->age;
  303. $array['amount'] = $val->amount;
  304. $array['topclass'] = $val->topclass;
  305. $array['category'] = $val->category;
  306. $array['subclass'] = $val->subclass;
  307. $array['category_cn'] = $val->category_cn;
  308. $array['trade'] = $val->trade;
  309. $array['trade_cn'] = $val->trade_cn;
  310. $array['district'] = $val->district.'.'.$val->sdistrict.'.'.$val->tdistrict;
  311. $array['district_cn'] = $val->district_cn;
  312. $array['tag'] = $val->tag;
  313. $array['tag_cn'] = $val->tag_cn;
  314. $array['education'] = $val->education;
  315. $array['education_cn'] = $val->education_cn;
  316. $array['wage_min'] = $val->minwage;
  317. $array['wage_max'] = $val->maxwage;
  318. $array['wage_cn'] = $val->minwage.'~'.$val->maxwage.'/月';
  319. $array['negotiable'] = $val->negotiable;
  320. if($val->negotiable == 1){
  321. $array['wage'] = -1;
  322. }else{
  323. $array['wage'] = 0;
  324. }
  325. $array['jobs_content'] = $val->contents;
  326. $array['audit'] = $val->audit;
  327. $array['department'] = $val->department;
  328. $array['ygxs'] = $val->zs_ygxs;
  329. $array['ygxs_cn'] = $val->zs_ygxs_cn;
  330. $array['syq'] = $val->zs_syq;
  331. $array['syq_cn'] = $val->zs_syq_cn;
  332. $array['syqxz_min'] = $val->zs_syqxz_min;
  333. $array['syqxz_max'] = $val->zs_syqxz_max;
  334. $array['techlevel'] = $val->techlevel;
  335. $array['scale'] = $val->companyprofile->scale;
  336. $array['scale_cn'] = $val->companyprofile->scale_cn;
  337. $array['experience'] = $val->experience;
  338. $array['experience_cn'] = $val->experience_cn;
  339. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  340. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  341. $jobfair_job[] = $array;
  342. }
  343. public function handleJobfairJobContact($val, &$jobfair_job_contact)
  344. {
  345. $array = [];
  346. $array['id'] = $val->id;
  347. $array['pid'] = $val->pid;
  348. $array['contact'] = $val->contact;
  349. $array['qq'] = $val->details;
  350. $array['mobile'] = $val->telephone;
  351. $array['landline_tel'] = $val->landline_tel;
  352. $array['email'] = $val->email;
  353. $array['address'] = $val->address;
  354. $array['notify'] = $val->notify;
  355. $array['notify_mobile'] = $val->notify_mobile;
  356. $array['contact_show'] = $val->contact_show;
  357. $array['telephone_show'] = $val->telephone_show;
  358. $array['email_show'] = $val->email_show;
  359. $array['landline_tel_show'] = $val->landline_tel_show;
  360. $array['created_at'] = date('Y-m-d H:i:s', time());
  361. $array['updated_at'] = date('Y-m-d H:i:s', time());
  362. $jobfair_job_contact[] = $array;
  363. }
  364. public function handleJobfairPutJob($val, &$jobfair_put_job)
  365. {
  366. $array = [];
  367. if($val->jobs)
  368. {
  369. $array['id'] = $val->id;
  370. $array['exid'] = $val->exid;
  371. $array['jobfair_id'] = $val->jobfair_id;
  372. $array['job_id'] = $val->fairjob_id;
  373. $array['position_id'] = $val->position_id;
  374. $array['jobs_name'] = $val->jobs->jobs_name;
  375. $array['company_id'] = $val->jobs->uid;
  376. $array['company_name'] = $val->jobs->companyname;
  377. $array['company_audit'] = $val->jobs->companyprofile->audit;
  378. $array['nature'] = $val->jobs->nature;
  379. $array['nature_cn'] = $val->jobs->nature_cn;
  380. $array['sex'] = $val->jobs->sex;
  381. $array['sex_cn'] = $val->jobs->sex_cn;
  382. $array['age'] = $val->jobs->age;
  383. $array['amount'] = $val->jobs->amount;
  384. $array['topclass'] = $val->jobs->topclass;
  385. $array['category'] = $val->jobs->category;
  386. $array['subclass'] = $val->jobs->subclass;
  387. $array['category_cn'] = $val->jobs->category_cn;
  388. $array['trade'] = $val->jobs->trade;
  389. $array['trade_cn'] = $val->jobs->trade_cn;
  390. $array['district'] = $val->jobs->district.'.'.$val->jobs->sdistrict.'.'.$val->jobs->tdistrict;
  391. $array['district_cn'] = $val->jobs->district_cn;
  392. $array['tag'] = $val->jobs->tag;
  393. $array['tag_cn'] = $val->jobs->tag_cn;
  394. $array['education'] = $val->jobs->education;
  395. $array['education_cn'] = $val->jobs->education_cn;
  396. $array['wage'] = $val->jobs->wage;
  397. $array['wage_min'] = $val->jobs->minwage;
  398. $array['wage_max'] = $val->jobs->maxwage;
  399. $array['wage_cn'] = $val->jobs->minwage.'~'.$val->jobs->maxwage.'/月';
  400. $array['negotiable'] = $val->jobs->negotiable;
  401. if($val->jobs->negotiable == 1){
  402. $array['wage'] = -1;
  403. }
  404. $array['jobs_content'] = $val->jobs->contents;
  405. $array['audit'] = $val->jobs->audit;
  406. $array['department'] = $val->jobs->department;
  407. $array['ygxs'] = $val->jobs->zs_ygxs;
  408. $array['ygxs_cn'] = $val->jobs->zs_ygxs_cn;
  409. $array['syq'] = $val->jobs->zs_syq;
  410. $array['syq_cn'] = $val->jobs->zs_syq_cn;
  411. $array['syqxz_min'] = $val->jobs->zs_syqxz_min;
  412. $array['syqxz_max'] = $val->jobs->zs_syqxz_max;
  413. $array['scale'] = $val->jobs->scale;
  414. $array['scale_cn'] = $val->jobs->scale_cn;
  415. $array['experience'] = $val->jobs->experience;
  416. $array['experience_cn'] = $val->jobs->experience_cn;
  417. $array['created_at'] = date('Y-m-d H:i:s',$val->jobs->addtime);
  418. $array['updated_at'] = date('Y-m-d H:i:s',$val->jobs->addtime);
  419. $jobfair_put_job[] = $array;
  420. }
  421. }
  422. public function handleJobfairYuyue($val, &$jobfair_personal_jobs_apply)
  423. {
  424. $array = [];
  425. $array['id'] = $val->id;
  426. $array['resume_id'] = 0;
  427. $array['personal_uid'] = $val->uid;
  428. $array['notes'] = 'wu';
  429. $array['jobs_id'] = $val->jobsfair_job_id;
  430. $array['company_id'] = $val->company_uid;
  431. $array['jobfair_id'] = $val->jobfairid;
  432. $array['position_id'] = $val->position_id;
  433. $array['created_at'] = date('Y-m-d H:i:s',$val->addtime);
  434. $array['updated_at'] = date('Y-m-d H:i:s',$val->addtime);
  435. $jobfair_personal_jobs_apply[] = $array;
  436. }
  437. public function handleJobfairCategory($val, &$jobfair_category)
  438. {
  439. $array = [];
  440. $array['id'] = $val->c_id;
  441. $array['name'] = $val->c_name;
  442. $array['order_list'] = $val->c_order;
  443. $array['created_at'] = date('Y-m-d H:i:s',time());
  444. $array['updated_at'] = date('Y-m-d H:i:s',time());
  445. $jobfair_category[] = $array;
  446. }
  447. }