find(); if (empty($agent)) { session('mobile.agent_id', null); jump('门店不存在'); } return view('worker/index', [ 'agent' => $agent, ]); } public function listRecruit() { $map = $this->dealLikeInput(['keyword' => 'title|company_name']); $map[] = ['status', '=', 1]; $list = OutRecruitModel::where($map) ->order(['priority' => 'desc', 'id' => 'desc']) ->limit(input('limit', 10)) ->page(input('page', 1)) ->select(); ajax_success($list); } public function recruitDetail() { $this->get_agent(); $id = input('id/d', 0); if (empty($id)) { jump('招聘不存在'); } $info = OutRecruitModel::find($id); if (empty($info) || $info['status'] != 1) { jump('该信息不存在或已下架'); } return view('worker/recruit_detail', ['info' => $info]); } /** * 报备 */ public function report() { $id = input('id/d', 0); if (empty($id)) { jump('招聘不存在'); } $info = OutRecruitModel::find($id); if (empty($info) || $info['status'] != 1) { jump('该信息不存在或已下架'); } $agent = $this->get_agent(); $broker = BrokerModel::field(['title as text', 'id as value'])->where([ ['agentid', '=', $agent['id']], ['status', '=', 1], ['type', '=', 3], ])->select(); return view('worker/report', [ 'broker_list' => $broker, 'info' => $info, ]); } public function reportPost() { $data = input('post.'); $agent = $this->get_agent(); try { validate(WorkerReportValidate::class)->check($data); } catch (ValidateException $e) { ajax_return(1, $e->getError()); } //简历 $resume = OutResumeModel::with(['broker'])->where('mobile', $data['mobile'])->find(); $resume && ajax_return(1, '您已有经纪人,请找经纪人报备!经纪人信息' . $resume['broker']['title'] . '(' . $resume['broker']['mobile'] . ')'); //报备记录 $report = OutRecruitReport::with(['broker'])->where('mobile', $data['mobile'])->where('recruit_id', $data['recruit_id'])->find(); $report && ajax_return(1, '您已有经纪人,请找经纪人报备!经纪人信息' . $report['broker']['title'] . '(' . $report['broker']['mobile'] . ')'); //添加报备信息 if (empty($data['brokerid'])) { $broker = BrokerModel::where([ ['agentid', '=', $agent['id']], ['status', '=', 1], ['type', '=', 3], ])->order(Db::raw('RAND()'))->find(); if (empty($broker)) { $data['brokerid'] = Config::getConfigValue('default_broker'); $broker = BrokerModel::find($data['brokerid']); } else { $data['brokerid'] = $broker['id']; } } else { $broker = BrokerModel::find($data['brokerid']); } $data['workerid'] = $broker['workerid']; $data['agentid'] = $broker['agentid']; $data['createtime'] = time(); OutRecruitReport::create($data); ajax_return(0, '报名成功,经纪人:' . $broker['title'] . '(' . $broker['mobile'] . ')', '/mobile/worker/index'); } /** * 经纪人 */ public function broker() { return view('worker/broker'); } public function listBroker() { $agent = $this->get_agent(); $list = BrokerModel::where('agentid', $agent['id']) ->where('status', 1) ->limit(input('limit', 10)) ->page(input('page', 1)) ->select(); ajax_success($list); } /** * 报备查询 */ public function reportFind() { $mobile = input('mobile'); if (empty($mobile)) { return view('worker/report_find'); } $report = OutRecruitReport::where('mobile', $mobile)->find(); if (empty($report)) { ajax_return(1, '暂无信息'); } $broker = BrokerModel::find($report['brokerid']); ajax_success($broker); } public function listReport() { $map = $this->dealEqualInput(['mobile']); $list = OutRecruitReport::with(['recruit']) ->where($map) ->order(['id' => 'desc']) ->limit(input('limit', 10)) ->page(input('page', 1)) ->select(); ajax_success($list); } private function get_agent() { $agent_id = session('mobile.agent_id'); if (empty($agent_id)) { jump('门店不存在'); } $agent = AgentModel::where([ ['id', '=', $agent_id], ['type', '=', 2], ['status', '=', 1], ])->find(); if (empty($agent)) { session('mobile.agent_id', null); jump('门店不存在'); } return $agent; } }