<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/3/26 * Time: 11:11 */ namespace App\Http\Controllers\Web\Hardware\Pad; use App\Http\Controllers\Web\WebBaseController; use App\Services\Person\MemberInfoService; use App\Services\Person\ResumeService; use App\Repositories\ResumeRepository; use Illuminate\Http\Request; use App\Services\Common\SmsService; use App\Services\Person\MemberService; use App\Services\Auth\AuthService; use Aix\Sms\Contracts\Smser; use App\Validators\PersonValidatorRequest; use App\Services\Common\CategoryService; use App\Repositories\MemberInfoRepository; use App\Repositories\CompanyRepository; class PadResumeController extends WebBaseController { private $memberInfoService; private $resumeService; protected $smsService; protected $memberService; protected $authService; protected $CategoryService; protected $resumeRepository; protected $memberInfoRepository; protected $companyRepository; /** * PadResumeController constructor. * @param MemberInfoService $memberInfoService * @param ResumeService $resumeService * @param CategoryService $CategoryService * @param ViewJobRepository $memberInfoRepository * @param CompanyRepository $companyRepository */ public function __construct(MemberInfoService $memberInfoService,ResumeService $resumeService,SmsService $smsService,AuthService $authService, MemberService $memberService,CategoryService $CategoryService,ResumeRepository $resumeRepository, MemberInfoRepository $memberInfoRepository,CompanyRepository $companyRepository) { $this->memberInfoService = $memberInfoService; $this->resumeService = $resumeService; $this->smsService = $smsService; $this->authService = $authService; $this->memberService = $memberService; $this->CategoryService = $CategoryService; $this->resumeRepository = $resumeRepository; $this->memberInfoRepository = $memberInfoRepository; $this->companyRepository = $companyRepository; } public function index(){ return view('app.hardware.pad.resume'); } public function cardId(Request $request){ $id_card = $request->cardId; $info = $this->memberInfoService->getInfo( ['id_card' => $id_card]); if(!$info){ return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...']); } $resumes = $this->resumeRepository->getSuccessResume($info['uid'],getResumeStatus()); if($resumes->isEmpty()){ return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...']); } $html = ''; $html .= '<ul id="jobsList">'; foreach ($resumes as $value) { $html .= '<li class="circle_info color1"> <p class="resume_name">' . $value['title'] . ' ' . $value['intention_jobs'] .'</p> <p class="resume_info">性别:' . $value['sex_cn'] . ' 经验:' . $value['experience_cn'] . ' 学历:' . $value['education_cn'] . ' 期望地区:' . $value['district_cn'] . ' 更新时间:' . $value['updated_at'] . '</p> <div class="right_box"> <a href="'.route('hardware.pad.search.resume.show',['id'=>$value['id'],'type'=>5]).'" class="show-resume btn">查看简历</a> </div> </li>'; } $html .= '</ul>'; return response()->json(['status'=>1, 'msg'=>'成功','data'=>$resumes,'html'=>$html]); } public function add(Request $request){ $idcard = $request->all(); foreach ($idcard as &$value){ if($value == 'undefined'){ $value = ''; } } if(isset($idcard['androidIdNo'])){ $IdNo = $idcard['androidIdNo']; $idcard['year'] = substr($IdNo, 6, 4); $idcard['age'] = date('Y',time()) - $idcard['year']; $info = $this->memberInfoService->getInfo(['id_card' => $IdNo]); if($info){ $idcard['phone'] = $info['phone']; $idcard['uid'] = $info['uid']; }else{ $idcard['phone'] = ''; $idcard['uid'] = ''; } }elseif(isset($idcard['uid'])){ $idcard['year'] = ''; $idcard['age'] = ''; } $idcard['min_wage'] = config('aix.companyset.comset.com_set.wage_min'); $categorys = $this->CategoryService->getCategories(array('AIX_card_type'=>10)); $idcard['card_t_cn'] = array_pop($categorys['AIX_card_type'])['id']; $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'; } return view('app.hardware.pad.resume_add',['idcard'=>$idcard,'district'=>$district]); } public function resumeCreate(Request $request){ $data = $request->all(); if(empty($data['uid']) && $this->memberInfoRepository->findMemberInfo(['email'=>$data['email']])){ return response()->json(['status' => 0, 'msg' =>'该邮箱已存在!']); } if($this->companyRepository->getCompanyInfo(['email'=>$data['email']])){ return response()->json(['status' => 0, 'msg' =>'该邮箱已存在!']); } if(empty($data['uid']) && $this->registerMobile($data) == false){ return response()->json(['status' => 0, 'msg' =>'验证码错误']); } if(!$this->resumeService->addPadResume($data)){ return response()->json(['status' => 0, 'msg' =>'新增失败']); } return response()->json(['status' => 1, 'msg' =>'新增成功']); } public function registerMobile($data) { $mobile_code =$data['mobile_code']; $mobile = $data['telephone']; $checkAuthSms = $this->smsService->checkAuthSms($mobile, Smser::TEMPLATE_AUTH_LOGIN, $mobile_code); if (!$checkAuthSms) { return false; } return true; } public function qrCode(Request $request){ $res = hashid_decode($request->hashid); if(!$res){ return response()->json(['status'=>-1, 'msg'=>'二维码出错,请刷新重试...']); } $info = $this->memberInfoService->getInfo(['uid' => $res['id']]); if(!$info){ return response()->json(['status'=>-1, 'msg'=>'二维码出错,请刷新重试...']); } $resumes = $this->resumeRepository->getSuccessResume($info['uid'],getResumeStatus()); if($resumes->isEmpty()){ return response()->json(['status'=>0, 'msg'=>'暂无简历,请新建...','uid'=>$info['uid']]); } $html = ''; $html .= '<ul id="jobsList">'; foreach ($resumes as $value) { $html .= '<li class="circle_info color1"> <p class="resume_name">' . $value['title'] . ' ' . $value['intention_jobs'] .'</p> <p class="resume_info">性别:' . $value['sex_cn'] . ' 经验:' . $value['experience_cn'] . ' 学历:' . $value['education_cn'] . ' 所在地区:' . $value['district_cn'] . ' 更新时间:' . $value['updated_at'] . '</p> <div class="right_box"> <a href="'.route('hardware.pad.search.resume.show',['id'=>$value['id'],'type'=>5]).'" class="show-resume btn">查看简历</a> </div> </li>'; } $html .= '</ul>'; return response()->json(['status'=>1, 'msg'=>'成功','data'=>$resumes,'html'=>$html]); } }