ComjobsService.php 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\common\service;
  3. use app\common\model\RensheCode;
  4. use app\common\model\Comjobs as ComjobsModel;
  5. use app\common\model\ComjobsCate as ComjobsCateModel;
  6. class ComjobsService extends BaseService
  7. {
  8. public function importComjobs($file_url, $worker_id)
  9. {
  10. $data = ['title', 'cate', 'address', 'agegroup', 'enddate', 'comdetails', 'requirement', 'wtype', 'zwagall', 'telephone', 'remark', 'recruit_num', 'education'];
  11. $list = importExecl($file_url, $data, 1);
  12. $data = [];
  13. $wtype = ['按月' => 1, '按时' => 2, '按件' => 3, '按项目' => 4, '其他' => 5];
  14. $rensheCode = RensheCode::select();
  15. $renshe = [];
  16. foreach ($rensheCode as $v) {
  17. $renshe[$v['type']][$v['name']] = $v['code'];
  18. }
  19. $cateList = ComjobsCateModel::column('id', 'title');
  20. foreach ($list as $k => $v) {
  21. $empty_check = [
  22. 'title' => '标题',
  23. 'cate' => '岗位',
  24. 'address' => '地址',
  25. 'agegroup' => '招工年龄',
  26. 'enddate' => '截止日期',
  27. 'wtype' => '结算类型',
  28. 'zwagall' => '薪酬',
  29. 'telephone' => '咨询电话',
  30. 'recruit_num' => '招聘人数',
  31. 'education' => '最低学历',
  32. ];
  33. foreach ($empty_check as $key => $value) {
  34. if (empty($v[$key])) {
  35. return $this->error('第' . ($k + 2) . '行的' . $value . '不能为空');
  36. }
  37. }
  38. $item = [];
  39. if (empty($cateList[$v['cate']])) {
  40. return $this->error('第' . ($k + 2) . '行的岗位选择有误');
  41. }
  42. $item['cateid'] = $cateList[$v['cate']];
  43. $item['title'] = $v['title'];
  44. $item['province'] = '福建省';
  45. $item['city'] = '福州市';
  46. $item['district'] = '马尾区';
  47. $item['address'] = $v['address'];
  48. $item['agegroup'] = $v['agegroup'];
  49. $enddate = strtotime($v['enddate']);
  50. if ($enddate <= 0) {
  51. return $this->error('第' . ($k + 2) . '行的截止日期填写错误,格式2022-10-20');
  52. }
  53. $item['enddate'] = strtotime($v['enddate']);
  54. $item['comdetails'] = $v['comdetails'];
  55. $item['requirement'] = $v['requirement'];
  56. if (empty($wtype[$v['wtype']])) {
  57. return $this->error('第' . ($k + 2) . '行的结算类型选择有误');
  58. }
  59. $item['wtype'] = $wtype[$v['wtype']];
  60. $item['zwagall'] = $item['bwagall'] = $v['zwagall'];
  61. if (empty($renshe['education'][$v['education']])) {
  62. return $this->error('第' . ($k + 2) . '行的最低学历选择有误');
  63. }
  64. $item['telephone'] = $v['telephone'];
  65. $item['remark'] = $v['remark'];
  66. if ($v['recruit_num'] < 1) {
  67. return $this->error('第' . ($k + 2) . '行的招聘人数需要大于等于1');
  68. }
  69. $item['recruit_num'] = (int)$v['recruit_num'];
  70. $item['education'] = $v['education'];
  71. $item['is_worry'] = 0;
  72. $item['picall'] = [];
  73. $item['tags'] = [];
  74. $item['emp_time'] = [];
  75. $item['companydetails'] = '';
  76. $item['video'] = '';
  77. $item['priority'] = 0;
  78. $item['status'] = 3;
  79. $item['createtime'] = $item['updatetime'] = time();
  80. $item['workerid'] = $worker_id;
  81. $data[] = $item;
  82. }
  83. foreach ($data as $v) {
  84. ComjobsModel::create($v);
  85. }
  86. return $this->success('导入成功');
  87. }
  88. }