resumeService = $resumeService; $this->memberPointService = $memberPointService; $this->categoryService = $categoryService; $this->subsiteService = $subsiteService; $this->resumeWorkService = $resumeWorkService; $this->educationService = $educationService; $this->subsiteResumeService = $subsiteResumeService; $this->resumeEducationService = $resumeEducationService; $this->resumeTrainService = $resumeTrainService; $this->resumeCredentService = $resumeCredentService; $this->resumeLanguageService = $resumeLanguageService; $this->memberInfoService = $memberInfoService; $this->resumeImageService = $resumeImageService; } public function index() { if (get_subsite_id() > 0) { return view('mobile.app.jkq.person_index'); } else { $personaltalents = PersonalTalents::where('uid', auth('web-member')->user()->id)->first(); return view('mobile.app.person.index', ['talents' => $personaltalents]); } } public function signIn() { if (request()->method() == 'POST') { $res = $this->resumeService->signIn(auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse($res['info']); } } else { return view('mobile.app.person.service.index', ['wap_title' => '我的积分']); } } public function task() { return view('mobile.app.person.service.gold_task', $this->memberPointService->getTask(auth('web-member')->user(), 1)); } public function taskDetail(Request $request) { $res = $this->memberPointService->getPointsById(auth('web-member')->user()); $result = $res['memhanselGet']; if ($request->has('operate') && !empty($request->operate)) { $result = $res['memhanselPo']; } if ($request->ajax()) { if ($result->lastPage() < $result->currentPage()) { return response()->json(['status' => 0]); } return response()->json([ 'status' => 1, 'data' => view('mobile.app.person.ajax_tpl.ajax_gold_log', ['result' => $result])->render(), 'wap_title' => '积分收支明细']); } return view('mobile.app.person.service.gold_log')->with([ 'result' => $result, 'pointGet' => $res['pointGet'], 'pointPo' => $res['pointPo'], 'wap_title' => '积分收支明细', ]); } public function incrementAdd() { $res = $this->memberPointService->increment_add(request()->type, auth('web-member')->user()); return view('mobile.app.person.service.' . $res['tpl'], ['resume' => $res['resume'], 'info' => $res['info'], 'points' => $res['points'], 'payment' => $res['payment'], 'wap_title' => $res['wap_title']]); } public function resumeAdd() { $res = $this->resumeService->loginValidate(auth('web-member')->user()); $district = $this->categoryService->getDefaultDistrict(); $subsite = $this->subsiteService->getSubsite(auth('web-member')->user()); $deSubsite = []; foreach ($subsite as $key => $val) { $deSubsite[] = $val['id'] . ',' . $val['sitename']; } return view('mobile.app.person.resume_add', [ 'member' => $res['member'], 'resume' => $res['resume'], 'defaultCity' => $district->defaultCity, 'disCity' => $district->disCity, 'disHan' => $district->disHan, 'resumeTitle' => $res['resumeTitle'], 'subsite' => $deSubsite, 'wap_title' => '创建简历', ] ); } public function resumeCreate(PersonValidatorRequest $request) { $res = $this->resumeService->resumeCreate($request->except(['add_tag', '_token']), auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse(['id' => $res['info'], 'tag' => $request->add_tag]); } else { return $this->sendErrorResponse('更新简历失败', '', 400); } } public function resumeCheck() { return view('mobile.app.person.resume_guidance', ['wap_title' => '完善简历']); } public function resume_add_success() { return view('mobile.app.person.resume_add_success', ['wap_title' => '创建简历']); } public function resumeWorkAdd() { $res = $this->resumeWorkService->resumeWorkAdd(request()->all(), auth('web-member')->user()); if ($res['code'] == 1) { $html = view('mobile.app.person.ajax_tpl.ajax_get_work_list', ['content' => $res['info']])->render(); return $this->sendSuccessResponse($html); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function resumeEducationAdd() { $res = $this->educationService->resumeEducationAdd(request()->all(), auth('web-member')->user()); if ($res['code'] == 1) { $html = view('mobile.app.person.ajax_tpl.ajax_get_education_list', ['content' => $res['info']])->render(); return $this->sendSuccessResponse($html); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function resumeTrainAdd() { $res = $this->resumeTrainService->resumeTrainAdd(request()->all(), auth('web-member')->user()); if ($res['code'] == 1) { $html = view('mobile.app.person.ajax_tpl.ajax_get_training_list', ['content' => $res['info']])->render(); return $this->sendSuccessResponse($html); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function resumeCredentAdd() { $res = $this->resumeCredentService->resumeCredentAdd(request()->all(), auth('web-member')->user()); if ($res['code'] == 1) { $html = view('mobile.app.person.ajax_tpl.ajax_get_credent_list', ['content' => $res['info']])->render(); return $this->sendSuccessResponse($html); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function saveLanguage() { $res = $this->resumeLanguageService->mobileSaveLanguage(request()->all(), auth('web-member')->user()); if ($res['code'] == 1) { $html = view('mobile.app.person.ajax_tpl.ajax_get_language_list', ['content' => $res['info']])->render(); return $this->sendSuccessResponse($html); } else { return $this->sendErrorResponse('添加失败', '', 400); } } public function updateSpecialty() { $res = $this->resumeService->updateSpecialty(request()->except('_token'), auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse('更新成功'); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function refreshResume() { $res = $this->resumeService->refreshResume(request()->id, auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse($res['info']); } } public function resume() { $content = $this->resumeService->myResume(auth('web-member')->user()); return view('mobile.app.person.resume_list', ['content' => $content, 'wap_title' => '简历管理']); } public function set_entrust() { $res = $this->resumeService->setEntrust(request()->id, auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse($res['info'], '', 400); } } public function set_entrust_del() { $res = $this->resumeService->setEntrustDel(request()->id, auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse($res['info'], '', 400); } } public function setDelResume() { $res = $this->resumeService->setDelResume(request()->id, auth('web-member')->user()); if ($res) { return $this->sendSuccessResponse('删除成功'); } else { return $this->sendErrorResponse('删除失败', '', 400); } } public function setDef() { $res = $this->resumeService->setDef(request()->id, auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse($res['info'], '', 400); } } public function resumeUpdate() { $de_resume = Resume::find(request()->id); $back_url = \Illuminate\Support\Facades\URL::previous(); if (!$de_resume) { return $this->showMessage('对不起,您只能查看自己的简历!', $back_url, true, '上一页', '3'); } if ($de_resume->uid != auth('web-member')->user()->id) { return $this->showMessage('对不起,您只能查看自己的简历!', $back_url, true, '上一页', '3'); } $res = $this->resumeService->getResumeById(request()->id, auth('web-member')->user()); $district = $this->categoryService->getDefaultDistrict(); $subsiteResume = $this->subsiteResumeService->getSubsiteResumeById(auth('web-member')->user(), request()->id); $subsiteAll = $this->subsiteService->getSubsite(auth('web-member')->user()); return view('mobile.app.person.resume_edit', [ 'resume' => $res['resume'], 'member' => $res['member'], 'imgs' => $res['imgs'], 'defaultCity' => $district->defaultCity, 'subsiteResume' => $subsiteResume['sub'], 'subsiteAll' => $subsiteAll, 'subId' => $subsiteResume['subId'], 'wap_title' => '编辑简历', ]); } public function updateTitle() { $res = $this->resumeService->updateTitle(request()->title, request()->id, auth('web-member')->user()); if ($res) { return $this->sendSuccessResponse('更新成功'); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function resumeEducation() { $res = $this->resumeEducationService->getResumeEducationByResumeId(request()->resume_id, auth('web-member')->user()); return view('mobile.app.person.ajax_tpl.default_education', ['content' => $res]); } public function resumeWork() { $res = $this->resumeWorkService->getResumeWorkByResumeId(request()->resume_id, auth('web-member')->user()); return view('mobile.app.person.ajax_tpl.default_work', ['content' => $res]); } public function resumeTrain() { $res = $this->resumeTrainService->getResumeTrainByResumeId(request()->resume_id, auth('web-member')->user()); return view('mobile.app.person.ajax_tpl.default_train', ['content' => $res]); } public function resumeCredent() { $res = $this->resumeCredentService->getResumeCredentByResumeId(request()->resume_id, auth('web-member')->user()); return view('mobile.app.person.ajax_tpl.default_credent', ['content' => $res]); } public function getLanguageL() { $res = $this->resumeLanguageService->getLanguageL(request()->resume_id, auth('web-member')->user()); return view('mobile.app.person.ajax_tpl.default_language', ['content' => $res]); } public function memberInfo() { $resume_id = []; $resume = $this->resumeService->myResumeAjax(auth('web-member')->user()); if (!$resume->isEmpty()) { $resume_id = array_column($resume->toArray(), 'id'); } $res = $this->resumeService->getUserInfo(auth('web-member')->user(), $resume_id); $district = $this->categoryService->getDefaultDistrict(); return view('mobile.app.person.resume_edit_basis')->with([ 'content' => $res->member, 'defaultCity' => $district->defaultCity, 'memberInfo' => $res, 'resume_id' => request()->resume_id, 'wap_title' => '个人资料', ]); } public function uploadHead() { $res = $this->memberInfoService->updateHead(request()->pic1, auth('web-member')->user()); return response()->json($res); } public function updateInfo(PersonValidatorRequest $request) { $res = $this->memberInfoService->updateInfo(request()->all(), auth('web-member')->user()); if ($res['code']) { return $this->sendSuccessResponse($res['info']); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function updateHunt() { $res = Resume::findOrFail(request()->resume_id); $district = $this->categoryService->getDefaultDistrict(); $subsiteResume = $this->subsiteResumeService->getSubsiteResumeById( auth('web-member')->user(), request()->resume_id); $SubsitTitle = ''; foreach ($subsiteResume['sub'] as $key => $val) { if ($val['subsites']) { $SubsitTitle .= $val['subsites']['sitename'] . ','; } else { $SubsitTitle .= '总站' . ','; } } $subsiteAll = $this->subsiteService->getSubsite(auth('web-member')->user()); $deSubsite = []; foreach ($subsiteAll as $key => $val) { $deSubsite[] = $val['id'] . ',' . $val['sitename']; } return view('mobile.app.person.resume_edit_intent', [ 'resume' => $res, 'defaultCity' => $district->defaultCity, 'subsite' => $deSubsite, 'SubsitTitle' => trim($SubsitTitle, ','), 'subsiteId' => implode(',', $subsiteResume['subId']), 'wap_title' => '求职意向', ]); } public function updHunt() { $res = $this->resumeService->updateHunting(request()->except('_token'), auth('web-member')->user()); if ($res) { return $this->sendSuccessResponse('更新成功'); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function updateDescription() { $res = Resume::findOrFail(request()->resume_id); return view('mobile.app.person.resume_edit_description', [ 'resume' => $res, 'wap_title' => '自我描述', ]); } public function educationEdit(Request $request) { $resumeEdu = $this->resumeEducationService->educationEdit($request->id); return view('mobile.app.person.resume_edit_edu', [ 'resume_id' => request()->resume_id, 'resumeEdu' => $resumeEdu, 'wap_title' => '教育经历', ]); } public function workEdit(Request $request) { $workEdu = $this->resumeWorkService->workEdit($request->id); return view('mobile.app.person.resume_edit_work', [ 'resume_id' => request()->resume_id, 'workEdu' => $workEdu, 'wap_title' => '工作经历', ]); } public function trainEdit(Request $request) { $trainEdu = $this->resumeTrainService->trainEdit($request->id); return view('mobile.app.person.resume_edit_train', [ 'resume_id' => request()->resume_id, 'trainEdu' => $trainEdu, 'wap_title' => '培训经历', ]); } public function certificate(Request $request) { $certificateEdu = $this->resumeCredentService->certificate($request->id); return view('mobile.app.person.resume_edit_certificate', [ 'resume_id' => request()->resume_id, 'certificateEdu' => $certificateEdu, 'wap_title' => '获得证书', ]); } public function language(Request $request) { $languageEdu = $this->resumeLanguageService->language($request->id); return view('mobile.app.person.resume_edit_lang', [ 'resume_id' => request()->resume_id, 'languageEdu' => $languageEdu, 'wap_title' => '语言能力', ]); } public function speciality() { $resume = Resume::findOrFail(request()->resume_id); return view('mobile.app.person.resume_edit_speciality', [ 'resume' => $resume, 'wap_title' => '特长标签', ]); } public function tagSave() { $resume_id = request()->resume_id; $this->resumeService->isOwn($resume_id, auth('web-member')->user()); $res = $this->resumeService->tagSave(request()->all()); if ($res['code'] == 1) { return $this->sendSuccessResponse('更新成功'); } else { return $this->sendErrorResponse('更新失败', '', 400); } } public function tagDelete(Request $request) { $res = $this->resumeService->tagDelete($request->input('resume_id', ''), $request->input('tag_cn', ''), auth('web-member')->user()); if ($res['code'] == 1) { return $this->sendSuccessResponse('删除成功'); } else { return $this->sendErrorResponse('删除失败', '', 400); } } public function images(Request $request) { $imagesEdu = $this->resumeImageService->images($request->id); return view('mobile.app.person.resume_edit_img', [ 'resume_id' => $request->resume_id, 'imagesEdu' => $imagesEdu, 'wap_title' => '照片作品', ]); } public function resumeImages(Request $request) { $res = $this->resumeImageService->resumeImages ( $request->input('images', ''), $request->input('title', ''), $request->input('id', ''), $request->input('resume_id', ''), auth('web-member')->user() ); return response()->json($res); } public function recruit(Request $request) { $user = auth('web-member')->user(); $list = RecruitAppointInfo::where('uid', $user->id) ->join('recruit', 'recruit.id', '=', 'recruit_appoint_info.recruit_id', 'left') ->join('recruit_post', 'recruit_post.id', '=', 'recruit_appoint_info.post_id', 'left') ->select('recruit.name as recruit_name', 'recruit_appoint_info.*', 'recruit_post.code', 'recruit_post.name') ->get(); return view('mobile.app.person.recruit')->with(['list' => $list, 'total' => count($list)]); } public function recruit_info(Request $request) { $info = $this->_getRecruitInfo(); $recruit_id = $request->input('recruit_id', 0); return view('mobile.app.person.recruit_info', [ 'info' => $info, 'recruit_id' => $recruit_id, 'political_affiliation' => RecruitAppointBasic::$political_affiliation, ]); } public function recruit_family(Request $request) { $key = $request->input('key', ''); $recruit_id = $request->input('recruit_id', 0); if ($key !== '') { $user = auth('web-member')->user(); $basic = RecruitAppointBasic::where('uid', $user->id)->first(); $family = json_decode($basic->family, true); $info = $family[$key]; } else { $info = [ 'work' => '', 'birthday' => '', 'realname' => '', 'relation' => '', 'political_affiliation' => '13', ]; } return view('mobile.app.person.recruit_family', [ 'info' => $info, 'key' => $key, 'recruit_id' => $recruit_id, 'political_affiliation' => RecruitAppointBasic::$political_affiliation, ]); } public function delRecruitFamily(Request $request) { $key = $request->input('key'); $user = auth('web-member')->user(); $info = RecruitAppointBasic::where('uid', $user->id)->first(); $family = json_decode($info->family, true); unset($family[$key]); RecruitAppointBasic::where('uid', $user->id)->update(['family' => json_encode($family)]); return response()->json(['status' => 1]); } public function postRecruitFamily(Request $request) { $data = $request->post(); $user = auth('web-member')->user(); $info = RecruitAppointBasic::where('uid', $user->id)->first(); $family = json_decode($info->family, true); if (isset($data['key'])) { $key = $data['key']; unset($data['key']); $family[$key] = $data; } else { $family[] = $data; } RecruitAppointBasic::where('uid', $user->id)->update(['family' => json_encode($family)]); return response()->json(['status' => 1]); } public function recruit_basic(Request $request) { $info = $this->_getRecruitInfo(); $recruit_id = $request->input('recruit_id', 0); return view('mobile.app.person.recruit_basic', [ 'info' => $info, 'recruit_id' => $recruit_id, 'political_affiliation' => RecruitAppointBasic::$political_affiliation, 'edu_type' => RecruitAppointBasic::$edu_type, 'education' => RecruitAppointBasic::$education, ]); } public function saveRecruitBasic(RecruitValidatorRequest $request) { $user = auth('web-member')->user(); $basic = RecruitAppointBasic::where('uid', $user->id)->first(); $data = $request->only('realname', 'sex', 'birthday', 'avatar', 'nation', 'native_place', 'political_affiliation', 'titles', 'work', 'house_register', 'join_time', 'edu_type', 'education', 'school', 'degree', 'pro', 'address', 'card', 'mobile', 'email', 'concat_name', 'concat_mobile', 'resume', 'is_push'); $data['avatar'] = $data['avatar'] ?: ''; if ($basic) { //更新基础信息 $res = RecruitAppointBasic::where('uid', $user->id)->update($data); if (!$res) { return response()->json(['status' => 0, 'msg' => '保存失败,请联系客服']); } else { return response()->json(['status' => 1]); } } else { //新增基础信息 $data['uid'] = $user->id; $res = RecruitAppointBasic::create($data); if (!$res) { return response()->json(['status' => 0, 'msg' => '保存失败,请联系客服']); } else { return response()->json(['status' => 1]); } } } private function _getRecruitInfo() { $user = auth('web-member')->user(); $info = RecruitAppointBasic::where('uid', $user->id)->first(); if (!$info) { $info = [ 'uid' => $user->id, 'realname' => '', 'sex' => 0, 'birthday' => '', 'avatar' => '', 'nation' => '', 'native_place' => '', 'political_affiliation' => '13', 'titles' => '', 'work' => '', 'house_register' => '', 'join_time' => '', 'edu_type' => 1, 'education' => '本科', 'school' => '', 'degree' => '', 'pro' => '', 'address' => '', 'card' => '', 'mobile' => '', 'email' => '', 'concat_name' => '', 'concat_mobile' => '', 'resume' => '', 'family' => [], 'is_push' => 1, ]; RecruitAppointBasic::create($info); } else { $info->sex = (string)$info->sex; $info->edu_type = (string)$info->edu_type; $info->is_push = (string)$info->is_push; $info->family = empty($info->family) ? [] : json_decode($info->family,true); } return $info; } }