<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/3/21
 * Time: 10:10
 */

namespace App\Http\Controllers\Web\Hardware\Tv;

use App\Http\Controllers\Web\WebBaseController;
use App\Services\Company\JobsService;
use App\Services\Company\CompanyService;
use App\Services\Jobfair\JobfairPutJobService;
use App\Repositories\Jobfair\JobfairFloorplanStandRepository;
use App\Repositories\Jobfair\JobfairCompanyRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
class TvController extends WebBaseController
{
    protected $jobsfairPutJobService;
    protected $jobsService;
    protected $companyService;
    protected $jobfairCompanyRepository;
    protected $jobfairFloorplanStandRepository;
    /**
     * JobsController constructor.
     * @param $jobsService
     * @param $companyService
     * @param $jobsfairPutJobService
     */
    public function __construct(
        JobsService $jobsService,
        CompanyService $companyService,
        JobfairPutJobService $jobsfairPutJobService,
        JobfairFloorplanStandRepository $jobfairFloorplanStandRepository,
        JobfairCompanyRepository $jobfairCompanyRepository)
    {
        $this->jobsService = $jobsService;
        $this->companyService = $companyService;
        $this->jobsfairPutJobService = $jobsfairPutJobService;
        $this->jobfairFloorplanStandRepository = $jobfairFloorplanStandRepository;
        $this->jobfairCompanyRepository = $jobfairCompanyRepository;
    }

    public function index(Request $request)
    {
        $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$request->exid]);
        if($res){
            if($res->jobfair_company->type != 0){
                return redirect('hardware/tv/show?company_id='.$res->jobfair_company->company_id.'&jobfair_id='.$res->jobfair_id.'&position_id='.$res->id.'&position='.$res->name);
            }else{
                return view('app.hardware.tv.index',['exid'=>$request->exid,'res'=> $res,'has_jobfair'=>1]);
            }
        }
        $res = $this->jobfairFloorplanStandRepository->getOne(['equipment_id'=>$request->exid]);
        return view('app.hardware.tv.index',['exid'=>$request->exid,'res'=> $res,'has_jobfair'=>0]);
    }

    public function isLogin(Request $request){
        $res = $this->jobfairFloorplanStandRepository->getOpenJobfair(['equipment_id'=>$request->exid]);
        if($res && $res->jobfair_company->type != 0){
            return $this->sendSuccessResponse(['status'=>1,'msg'=>"登陆成功,跳转中...",'company_id'=>$res->jobfair_company->company_id,'jobfair_id'=>$res->jobfair_id,'position_id'=>$res->id,'position'=>$res->name]);
        }
        return  $this->sendSuccessResponse(['status'=>0, 'msg'=>'企业未登录']);
    }

    public function isChange(Request $request){
        if($request->type == 'pad'){
            $value = Cache::pull($request->jobfair_id.'-'.$request->company_id);
        }else{
            $value = Cache::get($request->jobfair_id.'-'.$request->company_id);
        }
        if(!$value){
            return  $this->sendSuccessResponse(['status'=>0, 'msg'=>'无职位刷新']);
        }
        return $this->sendSuccessResponse(['status'=>1,'msg'=>"有职位刷新..."]);
    }

    public function show(Request $request)
    {
        //获取企业信息
        $jobfair_id = $request->jobfair_id;
        $company_id = $request->company_id;
        $company_info = $this->companyService->getCompInfo($company_id);
        //在招职位
        $where = array(
            array('company_id','=',$company_info->id),
            array('jobfair_id','=',$jobfair_id),
            array('display','=',1),
            array('audit','=',1)
        );
        $where1 = ['position_id'=>$request->position_id];
        $request->id = $company_id;
        $jobs = $this->jobsfairPutJobService->jobfairCompany($where,$request,$where1);
        return view('app.hardware.tv.show',[
            'company_info'=>$company_info,
            'jobs' =>$jobs,
            'position' => $request->position,
            'jobfair_id' => $jobfair_id,
        ]);
    }
}