| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | 
							- <?php
 
- namespace App\Services\Company;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\CompanyInterView;
 
- use App\Repositories\CategoryRepository;
 
- use App\Repositories\CompanyInterviewRepository;
 
- use App\Repositories\MemberLogRepository;
 
- use App\Repositories\ResumeRepository;
 
- class CompanyInterviewService
 
- {
 
-     /**
 
-      * @var CompanyInterviewRepository
 
-      */
 
-     protected $CompanyInterviewRepository;
 
-     protected $ResumeRepository;
 
-     protected $memberLogRepository;
 
-     protected $categoryRepository;
 
-     protected $jobsService;
 
-     /**
 
-      * CompanyInterviewService constructor.
 
-      * @param CompanyInterviewRepository $CompanyInterviewRepository
 
-      * @param ResumeRepository $ResumeRepository
 
-      */
 
-     public function __construct(MemberLogRepository $memberLogRepository,CompanyInterviewRepository $CompanyInterviewRepository, ResumeRepository $ResumeRepository,CategoryRepository $categoryRepository,JobsService $jobsService)
 
-     {
 
-         $this->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);
 
-     }
 
- }
 
 
  |