<?php

namespace App\Http\Controllers\Jkq\Company;

use App\Http\Controllers\Jkq\JkqBaseController;
use App\Services\Company\CompanyInterviewService;
use App\Services\Person\ResumeService;
use App\Services\Recuperate\RecuperateApplyService;
use Illuminate\Http\Request;

class CompanyInterviewController extends JkqBaseController
{
    /**
     * @var CompanyInterviewService
     */
    protected $CompanyInterviewService;
    protected $ResumeService;
    protected $recuperateApplyService;

    /**
     * CompanyInterviewController constructor.
     * @param CompanyInterviewService $CompanyInterviewService
     * @param ResumeService $ResumeService
     * @param RecuperateApplyService $recuperateApplyService
     */
    public function __construct(CompanyInterviewService $CompanyInterviewService, ResumeService $ResumeService,RecuperateApplyService $recuperateApplyService)
    {
        $this->CompanyInterviewService = $CompanyInterviewService;
        $this->ResumeService = $ResumeService;
        $this->recuperateApplyService = $recuperateApplyService;
    }

    public function jobsInterview(Request $request)
    {
        $resume = $this->ResumeService->myResumeAjax(auth('web-member')->user());
        $interview = $this->CompanyInterviewService->getInterviewByUid(auth('web-member')->user(), $request->all());
        return view('jkq.person.jobs_interview',
            ['resume'=>$resume,'interview'=>$interview['interview'],'count'=>$interview['count']]);
    }

    public function setInterview(Request $request)
    {
        $res = $this->CompanyInterviewService->setInterview($request->id,auth('web-member')->user());
        if ($res) {
            return $this->sendSuccessResponse('设置成功');
        } else {
            return $this->sendErrorResponse('设置失败');
        }
    }

    public function delInterview(Request $request)
    {
        if (request()->method()=='POST') {
            $res = $this->CompanyInterviewService->delInterview($request->id,auth('web-member')->user());
            if ($res) {
                return $this->sendSuccessResponse('删除成功');
            } else {
                return $this->sendErrorResponse('删除失败');
            }
        } else {
            return view('jkq.person.ajax.resume_delete', ['tpis'=>'删除后将无法恢复,您确定要删除选中的面试邀请吗?']);
        }
    }

    public function ajaxInterviewDetail()
    {
        $res = $this->CompanyInterviewService->ajaxInterviewDetail(request()->id,auth('web-member')->user());
        $html = view('jkq.person.ajax.show_interview', ['content'=>$res])->render();
        return $this->sendSuccessResponse($html);
    }

    /**
     * 疗养套餐报名列表
     */
    public function recuperate(Request $request)
    {
        $res = $this->recuperateApplyService->list($request->input('status',null), 6, ['recuperate']);
        $params = $request->all();
        $params['status'] = $params['status'] ?? null;

        $return_data = [
            'list'   => $res,
            'params' => $params,
        ];
        return view('jkq.person.recuperate', $return_data);
    }
}