jobsfairPutJobService = $jobsfairPutJobService; $this->categoryService = $categoryService; $this->companyService = $companyService; $this->memberSetmealRepository = $memberSetmealRepository; $this->setmealIncrementsService = $setmealIncrementsService; $this->refreshLogRepository = $refreshLogRepository; $this->memberPointRepository = $memberPointRepository; $this->setmealRepository = $setmealRepository; $this->setmealRepository = $setmealRepository; $this->companyContactsRepository = $companyContactsRepository; $this->serviceService = $serviceService; $this->jobfairJobsService = $jobfairJobsService; $this->jobfairRepository = $jobfairRepository; $this->jobfairPutJobRepository = $jobfairPutJobRepository; $this->jobfairPersonalJobsApplyRepository = $jobfairPersonalJobsApplyRepository; $this->jobsRepository = $jobsRepository; $this->jobsService = $jobsService; $this->jobfairCompanyService = $jobfairCompanyService; $this->jobfairPersonalJopApplyService = $jobfairPersonalJopApplyService; } public function index() { return view('app.hardware.pad.recruitment.index',['title'=>'现场招聘']); } public function jobs() { return view('app.hardware.pad.recruitment.jobs.index',['title'=>'招聘会职位管理']); } public function jobsAdd() { $district = config('aix.system.site_other.site_other.district'); if($district && substr_count($district,'.') == 1){ $district .= '.0'; }elseif ($district && substr_count($district,'.') == 0){ $district .= '.0.0'; } $user = auth('web-company')->user(); $contacts = $this->companyContactsRepository->getContacts(['company_id'=>$user->id]); return view('app.hardware.pad.recruitment.jobs.add',['title'=>'新增职位','contacts'=>$contacts,'district'=>$district]); } public function jobsSave(JobsSaveValidatorRequest $request) { $user = auth('web-company')->user()->toArray(); return $this->jobsfairPutJobService->jobfairJobsSave($request->all(),$user); } public function jobsList() { $jobfair_id = session('floorplan_stands.jobfair_id'); //在招职位 $where['jobfair_id'] = [$jobfair_id]; $user = auth('web-company')->user(); $where1 = ['position_id'=>session('floorplan_stands.id')]; $jobs = $this->jobsfairPutJobService->jobfairCompany($where,$user,$where1,10); if(request()->ajax()) { if ($jobs->isNotEmpty()) { return response()->json(['status'=>1,'data'=>view('app.hardware.pad.recruitment.jobs.ajax_list', ['jobs'=>$jobs])->render()]); } return response()->json(['status'=>0]); } return view('app.hardware.pad.recruitment.jobs.list', ['title'=>'已发布职位','jobs' => $jobs]); } public function jobsEdit(Request $request) { $job_info = $this->jobsfairPutJobService->jobfairJobsEdit($request->id); $page = $request->page ?? 1; if(!$job_info){ return $this->notFount('参数错误'); } $user = auth('web-company')->user(); $contacts = $this->companyContactsRepository->getContacts(['company_id'=>$user->id]); return view('app.hardware.pad.recruitment.jobs.edit', ['title'=>'编辑职位','job_info' => $job_info,'page'=>$page,'contacts'=>$contacts]); } public function jobsUpdate(JobsSaveValidatorRequest $request) { $user = auth('web-company')->user(); $id = $request->id; $this->jobfairJobsService->isOwn($id,$user); return $this->jobsfairPutJobService->jobfairPutJobsEdit($request,$user->toArray()); } public function jobsDelete(Request $request) { $ids = $request->ids; if(!$ids) { return response()->json(['status' => 0, 'msg' => '请选择职位']); } $ids = explode(',',$ids); $user = $this->getLoginUser(); $this->jobsfairPutJobService->isOwn($ids,$user->id); if($this->jobfairPutJobRepository->delJobs($ids)) { return response()->json(['status' => 1, 'msg' => '删除成功']); } return response()->json(['status' => 0, 'msg' => '删除失败']); } public function jobsDisplay(Request $request) { $user = $this->getLoginUser(); $this->jobsfairPutJobService->isOwn($request->id,$user->id); return $this->jobsfairPutJobService->displayswitch($request->id,$request->display); } public function jobsDisplayAll(Request $request) { $ids = $request->ids; if(!$ids) { return response()->json(['status' => 0, 'msg' => '请选择职位']); } $ids = explode(',',$ids); $user = $this->getLoginUser(); $this->jobsfairPutJobService->isOwn($ids,$user->id); return $this->jobsfairPutJobService->displayAllSwitch($ids,$request->display); } //sync 是网络职位 public function jobsSyncList() { $job_where = [ ['company_id', '=', auth('web-company')->user()->id], ['valid', '=', 1] ]; if (config('aix.companyset.comset.show_set.jobs_display') == 1) { $job_where[] = array('audit', '=', 1); } else { $job_where[] = array('audit', '<>', 3); } $list = $this->jobsRepository->getJobsList($job_where); $exid = session('floorplan_stands.exid'); foreach ($list as &$val) { $val->education_cn = get_category($val->education) ? get_category($val->education) : '不限'; $val->experience_cn = get_category($val->experience) ? get_category($val->experience) : '不限'; if($val->wage == -1) { $val->wage_cn = '面议'; }else{ if($val->wage_max) { $val->wage_cn = $val->wage_min .'-'.$val->wage_max.'/月'; }else{ $val->wage_cn = $val->wage_min . '/月以上'; } } if($val->ygxs == 363) { $val->wage_cn = $val->wage_min .'/小时'; } $val->nature_cn = get_category($val->nature); $val['is_sync'] = false; if($this->jobfairPutJobRepository->isSync(['jobs_name'=>$val['jobs_name']],['exid'=>$exid])) { $val['is_sync'] = true; } } if(request()->ajax()) { if ($list->isNotEmpty()) { return response()->json(['status'=>1,'data'=>view('app.hardware.pad.recruitment.jobs.ajax_sync_list',['list'=>$list])->render()]); } return response()->json(['status'=>0]); } $res['title']= '网络职位'; $res['list']= $list; return view('app.hardware.pad.recruitment.jobs.sync',$res); } public function jobsSync(Request $request) { if(!is_array($request->jobs_id)) { $request->jobs_id = explode(',',$request->jobs_id); } $user = auth('web-company')->user(); $this->jobsService->isOwn( $request->jobs_id,$user); $this->jobfairCompanyService->isOwn($request->exid, $user); return $this->jobfairJobsService->jobsToJobfairPad($request,$user->toArray()); } // public function jobsSyncEdit(Request $request) // { // $user = auth('web-company')->user(); // $job_info = $this->jobfairJobsService->jobfairJobsEdit($request->id,$user); // if(!$job_info){ // return $this->notFount('参数错误'); // } // $job_info['page'] = $request->page ?? 1; // $job_info['title'] = '编辑职位库职位'; // return view('app.hardware.pad.recruitment.jobs.sync_edit',$job_info); // } // // // // public function jobsSyncDelete(Request $request) // { // return $this->jobfairJobsService->jobfairJobsDel($request); // } public function appointment(Request $request) { $user = auth('web-company')->user(); $status = $request->input('status',''); $where = [ 'company_id'=>$user->id, 'jobfair_id'=>session('floorplan_stands.jobfair_id'), 'type'=>1, 'is_apply'=>1, ]; $jobfair = $this->jobfairRepository->find(session('floorplan_stands.jobfair_id')); $holddate_start = date('Y-m-d H:i:s',$jobfair->holddate_start); if($status == 1){ $where[] = ['created_at','<',$holddate_start]; }elseif($status == 2){ $where[] = ['created_at','>=',$holddate_start]; } $result = $this->jobfairPersonalJobsApplyRepository->padApplyJobs($where,10); foreach($result as &$value) { //1.照片为空 //2.照片主动不显示 //3.照片审核不通过 //4.先审核后显示:照片不是审核通过的(不等于1) $avatar_default = public_data_path('/data/upload/resource/no_photo_female.png'); if ($value->resumes->memberInfos->sex == 1) { $avatar_default = public_data_path('/data/upload/resource/no_photo_male.png'); } if ($value->resumes->memberInfos->images == '' || $value->resumes->memberInfos->display_images == 2 || $value->resumes->memberInfos->photo_audit == 0 || (config('aix.personal_set.per_set.show_set.resume_img_display') == 1 && $value->resumes->memberInfos->photo_audit != 2)) { $value->resumes->photosrc = $avatar_default; //不显示 $value->resumes->photosrc_show = false; } else { $value->resumes->photosrc = upload_asset($value->resumes->memberInfos->images); //显示 $value->resumes->photosrc_show = true; } if($value->created_at < $holddate_start) { $value->is_network =true; }else { $value->is_network =false; } } $params = array('status'=>$status); if($request->ajax()) { if ($result->isNotEmpty()) { return response()->json(['status'=>1,'data'=>view('app.hardware.pad.recruitment.ajax_appointment_list', ['result'=>$result])->render()]); } return response()->json(['status'=>0]); } return view('app.hardware.pad.recruitment.appointment',['title'=>'预约管理','result' => $result,'params'=>$params]); } public function appointmentDelete(Request $request) { if(!$request->id) { return response()->json(['status' => 0, 'msg' => '请选择预约']); } $user = $this->getLoginUser(); $this->jobfairPersonalJopApplyService->isComOwn($request->id,$user); if($this->jobfairPersonalJobsApplyRepository->delete(['id'=>$request->id])) { return response()->json(['status' => 1, 'msg' => '删除成功']); } return response()->json(['status' => 0, 'msg' => '删除失败']); } public function manage() { $user = auth('web-company')->user(); $view = Cache::get('jobfair-'.$user->id); return view('app.hardware.pad.recruitment.manage',['title'=>'展示模板','view'=>$view]); } public function manageSetCache(Request $request) { $id = $request->input('id',''); if(!$id) { return response()->json(['status' => 0, 'msg' => '请选择模板']); } $user = auth('web-company')->user(); $jobfair = $this->jobfairRepository->find(session('floorplan_stands.jobfair_id')); $holddate_end = date('Y-m-d H:i:s',$jobfair->holddate_end); $time = Carbon::parse($holddate_end); Cache::put('jobfair-'.$user['id'], $id,$time); if(Cache::get('jobfair-'.$user['id'])){ Cache::put(session('floorplan_stands.jobfair_id').'-'.$user['id'], time(),120); return response()->json(['status' => 1, 'msg' => '设置成功,请刷新']); } return response()->json(['status' => 0, 'msg' => '设置失败,请重新设置']); } public function refresh() { $user = auth('web-company')->user(); Cache::put(session('floorplan_stands.jobfair_id').'-'.$user['id'], time(),120); if(Cache::get(session('floorplan_stands.jobfair_id').'-'.$user['id'])){ return response()->json(['status' => 1, 'msg' => '刷新成功']); } return response()->json(['status' => 0, 'msg' => '刷新失败']); } }