order(['priority' => 'desc', 'id' => 'desc']) ->select()->toArray(); array_unshift($catelist, ['value' => 0, 'text' => '不限岗位']); return view('jobs/index', [ 'type' => input('type', 0), 'catelist' => json_encode($catelist), ]); } /** * 岗位列表 */ public function listJobs() { $ppage = input('page/d', 1); $psize = input('size/d', 10); $map = []; $map[] = ['createtime', '<=', time()]; $map[] = ['status', 'in', '3,4']; $searchval = input('searchval/s', ""); $whereor = []; if (!empty($searchval)) { $whereor[] = ['title', 'like', '%' . $searchval . '%']; $lmap = []; $lmap[] = ['title', 'like', '%' . $searchval . '%']; $worklike = WorkerModel::where($lmap)->select(); $wkids = []; foreach ($worklike as $lk => $v) { $wkids[] = $v["id"]; } $whereor[] = ['workerid', 'in', $wkids]; } $cateid = input('cateid/s', ""); if (!empty($cateid)) { $map[] = ['cateid', '=', $cateid]; } $wtype = input('type/d', 0); if ($wtype != 0) { $map[] = ['wtype', '=', $wtype]; } $workerid = input('workerid/d', 0); if ($workerid != 0) { $map[] = ['workerid', '=', $workerid]; } $orderby = ['status' => 'asc', 'updatetime' => 'desc', 'id' => 'desc']; $list = ComjobsModel::with(['worker'])->where($map)->where(function ($q) use ($whereor) { $q->whereOr($whereor); })->order($orderby)->append(['wtype_text'])->page($ppage)->limit($psize)->select(); foreach ($list as $v) { $tags = []; foreach ($v['tags'] as $tag) { $tags = array_merge($tags, explode(',', $tag)); } $v['tags'] = $tags; } page_result(0, "", $list); } /** * 详情 */ public function detail() { $id = input('id', 0); if (empty($id)) { return $this->jump('该岗位不存在或已过期'); } $job = ComjobsModel::with('worker')->where('status', 'in', '3,4')->where('id', '=', $id)->append(['wtype_text'])->findOrEmpty(); if ($job->isEmpty()) { return $this->jump('该岗位不存在或已过期'); } $tags = []; foreach ($job['tags'] as $tag) { $tags = array_merge($tags, explode(',', $tag)); } $job['tags'] = $tags; $job['comdetails'] = addPByN($job['comdetails']); $job['requirement'] = addPByN($job['requirement']); $job['companydetails'] = addPByN($job['companydetails']); $job->inc('volume', 1)->update(); //收藏 $user_id = get_user_id(); $is_star = ComjobsStarModel::where('userid', $user_id)->where('comjobsid', $id)->find(); $star = empty($is_star) ? 'false' : 'true'; //报名 $is_log = ComjobsLogModel::where(['comjobsid' => $id, 'userid' => $user_id])->find(); $log = empty($is_log) ? 'false' : 'true'; //浏览记录 $workerlog = WorkerLogModel::where(['workerid' => $job->workerid, 'userid' => $user_id])->whereDay('createtime')->findOrEmpty(); if ($workerlog->isEmpty()) { WorkerLogModel::create([ 'workerid' => $job->workerid, 'userid' => $user_id, 'ltotal' => 1, 'createtime' => date("Y-m-d"), ]); } else { $workerlog->inc('ltotal', 1)->update(); } return view("jobs/detail", [ 'job' => $job, 'star' => $star, 'log' => $log, 'is_perfect' => $this->user->is_perfect, ]); } /** * 收藏 */ public function star() { $id = input('id', 0); $user_id = get_user_id(); $is_star = ComjobsStarModel::where('userid', $user_id)->where('comjobsid', $id)->find(); if (empty($is_star)) { ComjobsStarModel::create(['userid' => $user_id, 'comjobsid' => $id, 'createtime' => time()]); } else { $is_star->delete(); } page_result(0, "操作成功"); } /** * 报名 */ public function apply() { $comjobsid = input('id/d', 0); $comjobs = ComjobsModel::findOrEmpty($comjobsid); if ($comjobs->isEmpty()) { page_result(1, "招聘信息不存在"); } $userid = $this->user->id; $log = ComjobsLogModel::where(['comjobsid' => $comjobsid, 'userid' => $userid])->findOrEmpty(); if ($log->isEmpty()) { $log->save([ 'workerid' => $comjobs->workerid, 'comjobsid' => $comjobsid, 'userid' => $userid, 'status' => 1, 'remark' => "", 'createtime' => time(), ]); UserFollowModel::create([ 'userid' => $userid, 'ftype' => "招聘报名", 'fstatus' => 1, 'remark' => $comjobs->title, 'createtime' => time(), ]); page_result(0, "恭喜您,报名成功,我们会尽快给您安排面试上班!!!。"); } else { page_result(1, "请务重复报名"); } } }