123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608 |
- <?php
- namespace App\Http\Controllers\Mobile\Person;
- use App\Http\Controllers\Mobile\MobileBaseController;
- use App\Models\LotteryWin;
- use App\Models\Pms;
- use App\Models\RecuperateApply;
- use App\Models\RecuperateLog;
- use App\Models\RecuperateTime;
- use App\Models\Resume;
- use App\Services\Common\EmailService;
- use App\Services\Common\PayService;
- use App\Services\Common\SmsService;
- use App\Services\Company\CompanyInterviewService;
- use App\Services\Jobfair\JobfairPersonalJopApplyService;
- use App\Services\Person\MemberInfoService;
- use App\Services\Person\MemberPointService;
- use App\Services\Person\MemberService;
- use App\Services\Person\PersonFavoriteService;
- use App\Services\Person\PersonJobsApplyService;
- use App\Services\Person\ResumePrivacyService;
- use App\Services\Person\ResumeService;
- use App\Services\Recuperate\RecuperateApplyService;
- use App\Validators\PersonValidatorRequest;
- use Illuminate\Http\Request;
- class CompanyInterviewController extends MobileBaseController
- {
- /**
- * @var ResumeService
- */
- protected $ResumeService;
- protected $ResumePrivacyService;
- protected $companyInterviewService;
- protected $personalJobsApplyService;
- protected $memberPointService;
- protected $personFavoriteService;
- protected $memberInfoService;
- protected $memberService;
- protected $smsService;
- protected $emailService;
- protected $payService;
- protected $jobfairPersonalJopApplyService;
- protected $recuperateApplyService;
- public function __construct(
- ResumeService $ResumeService,
- ResumePrivacyService $ResumePrivacyService,
- CompanyInterviewService $companyInterviewService,
- PersonJobsApplyService $personalJobsApplyService,
- MemberPointService $memberPointService,
- PersonFavoriteService $personFavoriteService,
- MemberInfoService $memberInfoService,
- MemberService $memberService,
- SmsService $smsService,
- EmailService $emailService,
- PayService $payService,
- JobfairPersonalJopApplyService $jobfairPersonalJopApplyService,
- RecuperateApplyService $recuperateApplyService
- )
- {
- $this->ResumeService = $ResumeService;
- $this->ResumePrivacyService = $ResumePrivacyService;
- $this->companyInterviewService = $companyInterviewService;
- $this->personalJobsApplyService = $personalJobsApplyService;
- $this->memberPointService = $memberPointService;
- $this->personFavoriteService = $personFavoriteService;
- $this->memberInfoService = $memberInfoService;
- $this->memberService = $memberService;
- $this->smsService = $smsService;
- $this->emailService = $emailService;
- $this->payService = $payService;
- $this->jobfairPersonalJopApplyService = $jobfairPersonalJopApplyService;
- $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());
- if ($request->ajax()) {
- if ($interview['interview']->lastPage() < $interview['interview']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_jobs_interview',
- [
- 'resume' => $resume,
- 'interview' => $interview['interview'],
- ])->render(),
- 'params' => $interview['params'],
- ]);
- }
- return view('mobile.app.person.jobs_interview', [
- 'resume' => $resume,
- 'interview' => $interview['interview'], 'count' => $interview['count'], 'params' => $interview['params'],
- 'wap_title' => '面试邀请']);
- }
- public function delInterview(Request $request)
- {
- $res = $this->companyInterviewService->delInterview($request->id, auth('web-member')->user());
- if ($res) {
- return $this->sendSuccessResponse('删除成功');
- } else {
- return $this->sendErrorResponse('删除失败');
- }
- }
- 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 attentionMe(Request $request)
- {
- $resume = $this->ResumeService->myResumeAjax(auth('web-member')->user());
- $res = $this->ResumeService->attentionMe(auth('web-member')->user(), $request->all());
- if ($request->ajax()) {
- if ($res['content']->lastPage() < $res['content']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_attention_me',
- [
- 'resume' => $resume,
- 'content' => $res['content'],
- ])->render(),
- 'params' => $res['params']]);
- }
- return view('mobile.app.person.attention_me', [
- 'content' => $res['content'],
- 'resume' => $resume,
- 'params' => $res['params'],
- 'wap_title' => '谁看过我',
- ]);
- }
- public function delAttention()
- {
- $res = $this->ResumeService->delAttention(request()->id, auth('web-member')->user());
- if ($res) {
- return $this->sendSuccessResponse('删除成功');
- } else {
- return $this->sendErrorResponse('删除失败');
- }
- }
- public function jobsApply(Request $request)
- {
- $resume = $this->ResumeService->myResumeAjax(auth('web-member')->user());
- $applyJobs = $this->personalJobsApplyService->getJobsApply(auth('web-member')->user(), $request->all());
- if ($request->ajax()) {
- if ($applyJobs['applyJobs']->lastPage() < $applyJobs['applyJobs']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_jobs_apply',
- [
- 'resume' => $resume,
- 'applyJobs' => $applyJobs['applyJobs'],
- ])->render(),
- 'params' => $applyJobs['params']]);
- }
- return view('mobile.app.person.jobs_apply', [
- 'resume' => $resume,
- 'applyJobs' => $applyJobs['applyJobs'],
- 'count' => $applyJobs['count'],
- 'params' => $applyJobs['params'],
- 'wap_title' => '求职反馈',
- ]);
- }
- public function order_list(Request $request)
- {
- $res = $this->memberPointService->order_list(auth('web-member')->user(), $request->all());
- if ($request->ajax()) {
- if ($res['order']->lastPage() < $res['order']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_order_list',
- [
- 'order' => $res['order'],
- ])->render(),
- 'params' => $res['params']]);
- }
- return view('mobile.app.person.service.order_list', [
- 'order' => $res['order'],
- 'params' => $res['params'],
- 'wap_title' => '我的订单',
- ]);
- }
- public function order_detail(Request $request)
- {
- $res = $this->memberPointService->order_detail($request->id, auth('web-member')->user());
- return view('mobile.app.person.service.order_detail', ['order' => $res, 'wap_title' => '订单详情']);
- }
- public function order_cancel(Request $request)
- {
- $res = $this->memberPointService->order_cancel($request->id, auth('web-member')->user());
- if ($res) {
- return $this->sendSuccessResponse('取消成功!');
- } else {
- return $this->sendErrorResponse('取消失败!');
- }
- }
- public function jobsF(Request $request)
- {
- $res = $this->personFavoriteService->jobsF(auth('web-member')->user());
- $resumes = $this->ResumeService->myResumeAjax(auth('web-member')->user());
- if ($request->ajax()) {
- if ($res->lastPage() < $res->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_jobsF', ['content' => $res])->render()]);
- }
- return view('mobile.app.person.jobs_favorites', ['content' => $res, 'resumes' => $resumes, 'wap_title' => '职位收藏夹']);
- }
- public function resumeApply()
- {
- $res = $this->personFavoriteService->resumeApply(request()->all(), auth('web-member')->user());
- if ($res['code'] == 1) {
- return $this->sendSuccessResponse($res['info']);
- } else {
- return $this->sendErrorResponse($res['info']);
- }
- }
- public function resumeApplyAjax()
- {
- $res = $this->ResumeService->myResumeAjax(auth('web-member')->user());
- $def_resume = Resume::where(['uid' => auth('web-member')->user()->id, 'def' => 1])->first();
- $html = view('mobile.app.person.ajax_tpl.ajax_apply_job', ['resumes' => $res, 'def_resume' => $def_resume])
- ->render();
- return $this->sendSuccessResponse($html);
- }
- public function attentionCom(Request $request)
- {
- $res = $this->personFavoriteService->attentionCom(auth('web-member')->user());
- if ($request->ajax()) {
- if ($res->lastPage() < $res->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_attention_com', ['content' => $res])->render()]);
- }
- return view('mobile.app.person.attention_com', ['content' => $res, 'wap_title' => '关注的企业']);
- }
- public function shieldCompany()
- {
- $shieldCompany = $this->ResumePrivacyService->getShieldCompany(auth('web-member')->user());
- return view('mobile.app.person.shield_company', ['shieldCompany' => $shieldCompany, 'wap_title' => '屏蔽企业']);
- }
- public function saveShieldCompany()
- {
- $res = $this->ResumePrivacyService->saveShieldCompany(request()->company_id, auth('web-member')->user());
- if ($res) {
- return $this->sendSuccessResponse($res);
- } else {
- return $this->sendErrorResponse('企业关键字添加失败', '', 400);
- }
- }
- public function memberSafe()
- {
- return view('mobile.app.person.per_security', [
- 'member' => $this->memberInfoService->memberSafe(auth('web-member')->user()),
- 'wap_title' => '账号安全',
- ]);
- }
- public function bind()
- {
- $qq = $this->memberInfoService->qq(auth('web-member')->user(), [1]);
- $weixin = $this->memberInfoService->weixin(auth('web-member')->user(), [2, 3, 4]);
- return view('mobile.app.person.per_binding', ['wap_title' => '账号绑定', 'qq' => $qq, 'weixin' => $weixin]);
- }
- public function perSecTel()
- {
- return view('mobile.app.person.per_security_tel', ['wap_title' => '手机认证']);
- }
- public function mobileAudit(PersonValidatorRequest $request)
- {
- $mobile = trim(request()->mobile);
- $id = trim(request()->id);
- if (!$this->memberService->findByField($id, $mobile)->isEmpty()) {
- return $this->sendErrorResponse('该手机已经认证!', '', 400);
- }
- $this->smsService->sendAuthSms($mobile, 'sms_auth_check');
- return response()->json(['code' => 1]);
- }
- public function mobileAuditCode(PersonValidatorRequest $request)
- {
- $mobile = trim(request()->mobile);
- $verifycode = trim(request()->verifycode);
- $res = $this->smsService->checkAuthSms($mobile, 'sms_auth_check', $verifycode);
- if (!$res) {
- return $this->sendErrorResponse('验证码错误!', '', 400);
- }
- $res = $this->memberInfoService->mobileAuditCode($mobile);
- if ($res['code'] == 1) {
- return $this->sendSuccessResponse($res['points']);
- } else {
- return $this->sendErrorResponse('手机认证失败!', '', 400);
- }
- }
- public function perSecEmail()
- {
- return view('mobile.app.person.per_security_email', ['wap_title' => '邮箱认证']);
- }
- public function emailAudit()
- {
- $email = trim(request()->email);
- $id = trim(request()->id);
- if (!$this->memberService->findByEmail($id, $email)->isEmpty()) {
- return $this->sendErrorResponse('该邮箱已经认证!', '', 400);
- }
- $this->emailService->setAuthTag('personal')
- ->setCallback('App\Services\Person\MemberInfoService', 'sendAuthEmailHook', [$email, auth('web-member')->user()])
- ->sendAuthMail($email, EmailService::TEMPLATE_VALIDATION);
- return response()->json(['status' => 1]);
- }
- public function perSecPwd()
- {
- return view('mobile.app.person.per_security_pwd', ['wap_title' => '修改密码']);
- }
- public function passwordInfo(PersonValidatorRequest $request)
- {
- $res = $this->memberInfoService->updatePassword($request->oldpassword,
- $request->password, $request->password1, auth('web-member')->user());
- return response()->json($res);
- }
- public function memberLog(Request $request)
- {
- $content = $this->memberInfoService->getMemberLog(auth('web-member')->user(), $request->route());
- if ($request->ajax()) {
- if ($content['last_page'] < $content['current_page']) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_member_log', ['content' => $content])->render()]);
- }
- return view('mobile.app.person.per_security_log')->with(['content' => $content, 'wap_title' => '会员登录日志']);
- }
- public function pms(Request $request)
- {
- if ($request->type == 1) {
- $res = $this->memberInfoService->mobileMsg(auth('web-member')->user());
- if ($request->ajax()) {
- if ($res->lastPage() < $res->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_pms_type', ['pms' => $res])->render()]);
- }
- } else {
- $res = $this->memberInfoService->pms(auth('web-member')->user());
- if ($request->ajax()) {
- if ($res->lastPage() < $res->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_pms', ['pms' => $res])->render()]);
- }
- }
- return view('mobile.app.person.pms_list', ['pms' => $res, 'wap_title' => '消息提醒']);
- }
- public function pmsShow(Request $request)
- {
- $res = Pms::find($request->id);
- return view('mobile.app.person.pms_show', ['pms' => $res, 'wap_title' => '系统消息']);
- }
- public function feedback()
- {
- return view('mobile.app.person.feedback', ['wap_title' => '意见反馈']);
- }
- public function feedbackCreate(Request $request)
- {
- $res = $this->memberInfoService->feedbackCreate($request->all());
- if ($res) {
- return $this->sendSuccessResponse('提交成功!');
- } else {
- return $this->sendErrorResponse('提交失败!', '', 400);
- }
- }
- public function msg(Request $request)
- {
- $res = $this->memberInfoService->mobileMsgShow(
- auth('web-member')->user(), $request->parent_id);
- if ($request->ajax()) {
- if ($res['res']->lastPage() < $res['res']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_msg_show', ['msg' => $res['res']])->render()]);
- }
- return view('mobile.app.person.msg', ['msg' => $res['res'], 'company' => $res['company'], 'wap_title' => '留言咨询']);
- }
- public function personJobfair(Request $request)
- {
- $jobApply = $this->jobfairPersonalJopApplyService->personJobfair();
- if ($request->ajax()) {
- if ($jobApply['interview']->lastPage() < $jobApply['interview']->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.jobfair',
- ['content' => $jobApply['interview']])->render()]);
- }
- return view('mobile.app.person.service.jobfair', ['content' => $jobApply['interview'], 'wap_title' => '招聘会']);
- }
- public function msgSend(Request $request)
- {
- $res = $this->memberInfoService->msgSend(auth('web-member')->user(), request()->all());
- if ($res) {
- return $this->sendSuccessResponse('留言成功!');
- } else {
- return $this->sendErrorResponse('留言失败!', '', 400);
- }
- }
- public function incrementStickSave()
- {
- $result = $this->ResumeService->incrementStickSave(request()->all(), auth('web-member')->user());
- if ($result['code'] == 1) {
- return $this->sendSuccessResponse($result['info']);
- } else {
- return $this->sendErrorResponse($result['info'], '', 400);
- }
- }
- public function incrementAddSave()
- {
- $result = $this->ResumeService->incrementAddSave(request()->all(), auth('web-member')->user());
- if ($result['code'] == 1) {
- return $this->sendSuccessResponse($result['info']);
- } else {
- return $this->sendErrorResponse($result['info'], '', 400);
- }
- }
- public function pay(Request $request)
- {
- $order = $this->memberPointService->pay($request->all(), auth('web-member')->user());
- $tradeNo = $this->payService->getTradeNo($order['order']->id);
- $res = $this->memberPointService->updateOrder($tradeNo, $order['input'], $order['order'], $request->route());
- if ($res['code'] == 'wechat') {
- if ($res['type'] == 'wap') {
- return $res['tradeCode'];
- } elseif ($res['type'] == 'official') {
- return json_encode(['tradeCode' => $res['tradeCode']]);
- } else {
- return json_encode(['tradeCode' => $res['tradeCode'], 'tradeNo' => $res['tradeNo']]);
- }
- } else {
- return $res['tradeCode'];
- }
- }
- public function payStatus(Request $request)
- {
- $res = $this->memberPointService->payStatus($request->tradeNo);
- if ($res) {
- return json_encode(['code' => 1]);
- } else {
- return json_encode(['code' => 0]);
- }
- }
- public function payAgain(Request $request)
- {
- $res = $this->memberPointService->payAgain(request()->id, $request->route());
- if ($res['code'] == 'wechat') {
- if ($res['type'] == 'wap') {
- return $res['tradeCode'];
- } else {
- return json_encode(['tradeCode' => $res['tradeCode'], 'tradeNo' => $res['tradeNo']]);
- }
- } else {
- return $res['tradeCode'];
- }
- }
- /**
- * 疗养套餐报名列表
- */
- public function recuperate(Request $request)
- {
- $res = $this->recuperateApplyService->list($request->input('status',null),$request->input('year',null), 8, ['recuperate']);
- // $year_arr=RecuperateTime::where('uid',auth('web-member')->id())->orderBy('year', 'DESC')->select('id','year','price')->get();
- if ($request->ajax()) {
- if ($res->count() == 0) {
- return response()->json(['status' => 0]);
- }
- return response()->json([
- 'status' => 1,
- 'data' => view('mobile.app.person.ajax_tpl.ajax_recuperate', ['order' => $res['order']])->render(),
- ]);
- }
- $return_data = [
- 'back_url'=>route('mobile.person.index'),
- 'list' => $res,
- 'params' => $request->all(),
- ];
- return view('mobile.app.person.recuperate', $return_data);
- }
- public function audit_qx(Request $request)
- {
- $id = $request->id;
- if (empty($id)) {
- return response()->json(['status'=>0,'msg'=>'数据异常']);
- }
- $uid = auth('web-member')->id();
- $result = RecuperateApply::where('id', '=', $id)->update(['status' => 3]);
- $auditData = array(
- 'type' => 1,
- 'admin_id' => $uid,
- 'sid' => $uid,
- 'content' => "取消活动"
- );
- RecuperateLog::create($auditData);
- if ($result) {
- return response()->json(['status'=>1,'msg'=>'活动已取消']);
- } else {
- return response()->json(['status'=>0,'msg'=>'该信息不存在或已审核']);
- }
- }
- /**
- * 中奖列表
- */
- public function lottery(Request $request)
- {
- $size = 8;
- $user_id = auth('web-member')->user()->id;
- $rst = LotteryWin::where('member_id',$user_id)->orderBy('status','asc')->orderBy('created_at','desc')->paginate($size);
- if ($request->ajax()) {
- if ($rst->lastPage() < $rst->currentPage()) {
- return response()->json(['status' => 0]);
- }
- return response()->json(['status' => 1, 'data' => view('mobile.app.person.ajax_tpl.ajax_lottery', ['list' => $rst])->render()]);
- }
- $mobile_dropload = false;
- if ($rst->total() > $size) {
- $mobile_dropload = true;
- }
- $return_data = [
- 'list' => $rst,
- 'current_url' => \Illuminate\Support\Facades\Request::getRequestUri(),
- 'wap_title' => '中奖列表',
- 'mobile_dropload' => $mobile_dropload,
- ];
- return view('mobile.app.person.lottery', $return_data);
- }
- }
|