CompanyInterviewRepository = $CompanyInterviewRepository; $this->ResumeRepository = $ResumeRepository; $this->memberLogRepository=$memberLogRepository; $this->categoryRepository=$categoryRepository; $this->jobsService=$jobsService; } public function getInterviewByUid($user, $all) { $param_array = array('resume_id','look','settr'); $params= array(); if ($all) { foreach ($all as $k => $v) { if (in_array($k, $param_array)) { $params[$k] = $v; } } } $data[] = ['resume_uid','=',$user->id]; if (request()->resume_id) { $data[] = ['resume_id','=',request()->resume_id]; } if (request()->look) { $data[] = ['personal_look','=',request()->look]; } if (request()->settr) { switch (request()->settr) { case '3': $data[] = ['created_at' ,'>=' ,date('Y-m-d H:i:s',strtotime("-3 day"))]; break; case '7': $data[] = ['created_at' ,'>=' , date('Y-m-d H:i:s',strtotime("-7 day"))]; break; case '15': $data[] = ['created_at' ,'>=' , date('Y-m-d H:i:s',strtotime("-15 day"))]; break; case '30': $data[] = ['created_at' ,'>=' , date('Y-m-d H:i:s',strtotime("-30 day"))]; break; default: $data[] = ['created_at' ,'>=' , date('Y-m-d H:i:s',strtotime("-3 day"))]; break; } } $count = $this->CompanyInterviewRepository->getInterviewCount($user->id, getJobsStatus()); $interview = $this->CompanyInterviewRepository->getInterviewByUid($data, getJobsStatus()); $getCategoriess = $this->categoryRepository->getCategoriess(); foreach ($interview as $key => $val) { //薪资字段 if (isset($val->jobs->wage)) { $wage = $val->jobs->wage; $wage_min= $val->jobs->wage_min; $wage_max = $val->jobs->wage_max; if ($wage > 0) { if ($getCategoriess) { if (config('aix.system.site_other.site_other.site_salary') == 1) { $interview[$key]['jobs']['wage_cn'] = array_has($getCategoriess['AIX_wage_k'], [$wage])?$getCategoriess['AIX_wage_k'][$wage]:'面议'; } elseif (config('aix.system.site_other.site_other.site_salary') == 2) { $interview[$key]['jobs']['wage_cn'] = array_has($getCategoriess['AIX_wage_c'], [$wage])?$getCategoriess['AIX_wage_c'][$wage]:'面议'; } } } elseif ($wage==0) { $interview[$key]['jobs']['wage_cn'] = $this->jobsService->dealWage($val->wage, $wage_min, $wage_max); } else { $interview[$key]['jobs']['wage_cn'] = '面议'; } if($val->jobs->ygxs == 363) { $interview[$key]['jobs']['wage_cn'] = $wage_min.'元/小时'; } } } return ['count'=>$count,'interview'=>$interview,'params'=>$params]; } public function setInterview($id,$user) { if (empty($id)) { throw new ResponseException('未提供简历!', '', 400); } $res = CompanyInterView::where(['resume_uid'=>$user->id])->get()->toArray(); $array_id = array_column($res,'id'); $res_k = string_to_array(',',$id); foreach ($res_k as $key=>$val){ if(!in_array($val,$array_id)){ throw new ResponseException('面试邀请记录不存在', '', 400); } } return $this->CompanyInterviewRepository->setInterview(explode(',', $id), ['personal_look'=>2]); } public function delInterview($id,$user) { if (empty($id)) { throw new ResponseException('未提供简历!', '', 400); } $res = CompanyInterView::where(['resume_uid'=>$user->id])->get()->toArray(); $array_id = array_column($res,'id'); $res_k = string_to_array(',',$id); foreach ($res_k as $key=>$val){ if(!in_array($val,$array_id)){ throw new ResponseException('面试邀请记录不存在', '', 400); } } return $this->CompanyInterviewRepository->delInterview(explode(',', $id)); } public function ajaxInterviewDetail($id,$user) { if (empty($id)) { throw new ResponseException('未提供面试邀请!', '', 400); } $res = CompanyInterView::where(['resume_uid'=>$user->id])->get()->toArray(); $array_id = array_column($res,'id'); $res_k = string_to_array(',',$id); foreach ($res_k as $key=>$val){ if(!in_array($val,$array_id)){ throw new ResponseException('面试邀请记录不存在', '', 400); } } if(!$this->memberLogRepository->createLog($user,2034,$id)){ throw new \Exception("日志记失败!"); } $this->CompanyInterviewRepository->setInterview(explode(',', $id), ['personal_look'=>2]); return $this->CompanyInterviewRepository->getInterviewById($id); } }