<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/3/28
 * Time: 14:30
 */

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

use App\Http\Controllers\Web\WebBaseController;
use App\Models\CategoryDistrict;
use App\Models\CategoryJobs;
use App\Models\MemberInfo;
use App\Models\Resume;
use App\Services\Person\MemberInfoService;
use App\Services\Person\ResumeService;
use App\Validators\PersonValidatorRequest;
use Illuminate\Http\Request;

class IndexController extends WebBaseController
{
    protected $resumeService;
    protected $memberInfoService;

    public function __construct(ResumeService $resumeService, MemberInfoService $memberInfoService)
    {
        $this->resumeService = $resumeService;
        $this->memberInfoService = $memberInfoService;
    }

    public function index()
    {
        return view('app.hardware.aio.index');
    }

    public function resume()
    {
        $resume =$this->resumeService->getDefResume(auth('web-member')->user());
        return view('app.hardware.aio.resume.index',['resume'=>$resume]);
    }

    public function resumeNew()
    {
        $user = auth('web-member')->user();
        $content = $this->memberInfoService->memberInfo($user);
        return view('app.hardware.aio.resume.create',$content);
    }

    public function resumeCreate(PersonValidatorRequest $request)
    {
        $user = $this->getLoginUser();
        $this->resumeService->isOwn($request->resume_id,$user);
        $res = $this->resumeService->resumeCreate($request->except(['add_tag','_token']), $user);
        if ($res['code']==1) {
            return $this->sendSuccessResponse(['id'=>$res['info'],'tag'=>$request->add_tag]);
        } else {
            return $this->sendErrorResponse('更新简历失败', '', 400);
        }
    }

    public function resumeDetails()
    {
        $content = Resume::where(['uid'=>auth('web-member')->user()->id,'def'=>1])->first()->getResumeAllInfo();
        return view('app.hardware.aio.resume.details', ['content'=>$content]);
    }


    public function resumeUpdate()
    {
        $content = Resume::where(['uid'=>auth('web-member')->user()->id,'def'=>1])->first()->getResumeAllInfo();
        return view('app.hardware.aio.resume.update', ['content'=>$content]);
    }


    public function districts(Request $request)
    {
        $CategoryDistrict = [];
        if($request->parent_id){
            $CategoryDistrict = CategoryDistrict::where(['parent_id'=>$request->parent_id])->get();
        }
        return response()->json(['data'=>$CategoryDistrict]);
    }

    public function categoryJobs(Request $request)
    {
        $CategoryJobs = [];
        if($request->parent_id){
            $CategoryJobs = CategoryJobs::where(['parent_id'=>$request->parent_id])->get();
        }
        return response()->json(['data'=>$CategoryJobs]);
    }

}