123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019/7/31
- * Time: 14:58
- */
- namespace App\Http\Controllers\Web\Hardware\Pad;
- use App\Http\Controllers\Web\WebBaseController;
- use App\Repositories\MemberPointRepository;
- use App\Repositories\MemberSetmealRepository;
- use App\Repositories\RefreshLogRepository;
- use App\Repositories\SetmealRepository;
- use App\Repositories\CompanyContactsRepository;
- use App\Services\Common\CategoryService;
- use App\Services\Jobfair\JobfairPutJobService;
- use App\Services\Common\SetmealIncrementsService;
- use App\Services\Company\CompanyService;
- use App\Services\Company\ServiceService;
- use App\Services\Company\JobsService;
- use App\Services\Jobfair\JobfairCompanyService;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use App\Services\Jobfair\JobfairJobsService;
- use App\Services\Jobfair\JobfairPersonalJopApplyService;
- use App\Validators\JobsSaveValidatorRequest;
- use App\Repositories\Jobfair\JobfairPutJobRepository;
- use App\Repositories\Jobfair\JobfairRepository;
- use App\Repositories\Jobfair\JobfairPersonalJobsApplyRepository;
- use App\Repositories\JobsRepository;
- use Illuminate\Support\Facades\Cache;
- class RecruitmentController extends WebBaseController
- {
- protected $jobsfairPutJobService;
- protected $categoryService;
- protected $companyService;
- protected $memberSetmealRepository;
- protected $setmealIncrementsService;
- protected $refreshLogRepository;
- protected $memberPointRepository;
- protected $setmealRepository;
- protected $companyContactsRepository;
- protected $serviceService;
- protected $subsiteService;
- protected $jobfairJobsService;
- protected $jobfairRepository;
- protected $jobfairPutJobRepository;
- protected $jobfairPersonalJobsApplyRepository;
- protected $jobsRepository;
- protected $jobsService;
- protected $jobfairCompanyService;
- protected $jobfairPersonalJopApplyService;
- /**
- * JobsController constructor.
- * @param JobfairPutJobService $jobsfairPutJob
- * @param CategoryService $categoryService
- * @param CompanyService $companyService
- * @param $memberSetmealRepository
- * @param $setmealIncrementsService
- * @param $refreshLogRepository
- * @param $memberPointRepository
- * @param $setmealRepository
- * @param $companyContactsRepository
- * @param $queueAutoRefreshRepository
- * @param $serviceService
- * @param $jobfairRepository
- * @param $jobfairPutJobRepository
- * @param $jobfairPersonalJobsApplyRepository
- * @param $jobsRepository
- * @param $jobsService
- * @param $jobfairPersonalJopApplyService
- */
- public function __construct(JobfairPutJobService $jobsfairPutJobService, ServiceService $serviceService, SetmealRepository $setmealRepository,CompanyContactsRepository $companyContactsRepository, MemberPointRepository $memberPointRepository, RefreshLogRepository $refreshLogRepository, CategoryService $categoryService, CompanyService $companyService, MemberSetmealRepository $memberSetmealRepository, SetmealIncrementsService $setmealIncrementsService,JobfairJobsService $jobfairJobsService,JobfairRepository $jobfairRepository,JobfairPutJobRepository $jobfairPutJobRepository,JobfairPersonalJobsApplyRepository $jobfairPersonalJobsApplyRepository,JobsRepository $jobsRepository,JobsService $jobsService,JobfairCompanyService $jobfairCompanyService,JobfairPersonalJopApplyService $jobfairPersonalJopApplyService)
- {
- $this->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' => '刷新失败']);
- }
- }
|