UserService.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace app\common\service;
  3. use app\common\model\RensheCode;
  4. use app\common\model\User as UserModel;
  5. use app\common\model\ComjobsCate as ComjobsCateModel;
  6. class UserService extends BaseService
  7. {
  8. public function importComjobs($file_url)
  9. {
  10. $data = ['nickname', 'mobile', 'idcard', 'gender', 'birthday', 'address', 'education', 'jobintention', 'workexperience', 'eduexperience', 'emp_time', 'com_cate', 'com_cate_other', 'work_place'];
  11. $list = importExecl($file_url, $data, 1);
  12. $data = [];
  13. $gender = ['男' => 1, '女' => 2];
  14. $education = ['初中及以下' => 1, '高中' => 2, '中技' => 3, '中专' => 4, '大专' => 5, '本科' => 6, '硕士' => 7, '博士' => 8];
  15. $workexperience = ['无经验' => 1, '一年以下' => 2, '1-3年' => 3, '3-5年' => 4, '5-10年' => 5, '10年以上' => 6];
  16. $jobintention = ['长期工' => 1, '临时工' => 3];
  17. $rensheCode = RensheCode::select();
  18. $renshe = [];
  19. foreach ($rensheCode as $v) {
  20. $renshe[$v['type']][$v['name']] = $v['code'];
  21. }
  22. $cateList = ComjobsCateModel::column('id', 'title');
  23. foreach ($list as $k => $v) {
  24. $empty_check = [
  25. 'nickname' => '姓名',
  26. 'mobile' => '电话',
  27. 'gender' => '性别',
  28. 'education' => '学历',
  29. 'jobintention' => '求职意向',
  30. 'workexperience' => '工作经验',
  31. ];
  32. foreach ($empty_check as $key => $value) {
  33. if (empty($v[$key])) {
  34. return $this->error('第' . ($k + 2) . '行的' . $value . '不能为空');
  35. }
  36. }
  37. $mobile_check = UserModel::where('mobile',$v['mobile'])->find();
  38. if (!empty($mobile_check)) {
  39. return $this->error('第' . ($k + 2) . '行的电话已存在');
  40. }
  41. $item = [];
  42. $item['nickname'] = $item['realname'] = $v['nickname'];
  43. $item['mobile'] = $v['mobile'];
  44. $item['idcard'] = $v['idcard'];
  45. if (empty($gender[$v['gender']])) {
  46. return $this->error('第' . ($k + 2) . '行的性别选择有误');
  47. }
  48. $item['gender'] = $gender[$v['gender']];
  49. $item['birthday'] = $v['birthday'];
  50. $item['address'] = $v['address'];
  51. if (empty($education[$v['education']])) {
  52. return $this->error('第' . ($k + 2) . '行的学历选择有误');
  53. }
  54. $item['education'] = $education[$v['education']];
  55. if (empty($jobintention[$v['jobintention']])) {
  56. return $this->error('第' . ($k + 2) . '行的求职意向选择有误');
  57. }
  58. $item['jobintention'] = $jobintention[$v['jobintention']];
  59. if (empty($workexperience[$v['workexperience']])) {
  60. return $this->error('第' . ($k + 2) . '行的工作经验选择有误');
  61. }
  62. $item['workexperience'] = $workexperience[$v['workexperience']];
  63. $item['eduexperience'] = $v['eduexperience'];
  64. $item['emp_time'] = [];
  65. if (!empty($v['emp_time'])) {
  66. $emp_time = explode(',', str_replace(',', ',', $v['emp_time']));
  67. foreach ($emp_time as $time) {
  68. if (!empty($renshe['emp_time'][$time])) {
  69. $item['emp_time'][] = $time;
  70. }
  71. }
  72. }
  73. $item['com_cate_type'] = 1;
  74. $item['com_cate'] = [];
  75. if (!empty($v['com_cate'])) {
  76. $com_cate = explode(',', str_replace(',', ',', $v['com_cate']));
  77. foreach ($com_cate as $cate) {
  78. if (!empty($cateList[$cate])) {
  79. $item['com_cate'][] = $cate;
  80. }
  81. }
  82. }
  83. if (empty($item['com_cate']) && !empty($v['com_cate_other'])) {
  84. $item['com_cate_type'] = 2;
  85. $item['com_cate_other'] = $v['com_cate_other'];
  86. }
  87. $item['work_place'] = [];
  88. if (!empty($v['work_place'])) {
  89. $work_place = explode(',', str_replace(',', ',', $v['work_place']));
  90. foreach ($work_place as $place) {
  91. if (!empty($renshe['community'][$place])) {
  92. $item['work_place'][] = $place;
  93. }
  94. }
  95. }
  96. $item['groupsid'] = 7;
  97. $item['status'] = 2;
  98. $item['authstatus'] = 3;
  99. $item['createtime'] = time();
  100. $data[] = $item;
  101. }
  102. foreach ($data as $v) {
  103. UserModel::create($v);
  104. }
  105. return $this->success('导入成功');
  106. }
  107. }