select(); $sinpage = SinpageModel::where(1)->find(); page_result(0, "", [ 'apptreaty' => $sinpage->apptreaty, 'workerall' => $workerall->isEmpty() ? null : $workerall, ]); } public function getIndexData() { $param = ParamModel::where(1)->find(); $slide = SlideModel::where('pagetab', '=', 'index')->order(['priority' => 'desc', 'id' => 'desc'])->limit(10)->select(); $navigation = NavigationModel::where('pagetab', '=', 'index')->order(['priority' => 'desc', 'id' => 'desc'])->select(); $article = ArticleModel::where([['status', '=', 1], ['priority', '>', 0], ['status', '=', 1], ['createtime', '<=', time()]])->order(['priority' => 'desc', 'id' => 'desc'])->limit(10)->select(); page_result(0, "", [ 'param' => $param, 'slide' => $slide, 'navigation' => $navigation, 'article' => $article, ]); } public function listComjobs() { ComjobsModel::where('enddate', '<', time() - 86400)->where('status', '=', 3)->update(['status' => 4]); $ppage = input('ppage/d', 1); $psize = input('psize/d', 20); $map[] = ['createtime', '<=', time()]; $map[] = ['priority', '>', 0]; $map[] = ['status', 'in', '3,4']; $plist = ComjobsModel::with(['worker'])->where($map)->order(['status' => 'asc', 'priority' => 'desc', 'updatetime' => 'desc', 'id' => 'desc'])->page($ppage)->limit($psize)->select(); //第三方id $third_ids = []; $third_lists = []; foreach ($plist as $l) { if (!empty($l['third_id'])) { $third_ids[] = $l['third_id']; } } if (!empty($third_ids)) { $third_lists = WorkerThird::where('id', 'in', $third_ids)->column('*', 'id'); } $plist = $plist->toArray(); foreach ($plist as $k => $v) { if (!empty($v['third_id'])) { $plist[$k]['worker']['title'] = $third_lists[$v['third_id']]['name']; } } page_result(0, "", [ 'plist' => $plist, 'pstatus' => $psize > count($plist) ? 'noMore' : 'more', ]); } /* ** * 附近职位 * */ public function listComjobsofnear() { $lat = input('lat', 0); //纬度 $lng = input('lng', 0); //经度 if (input('ppage/d') == '' or input('ppage/d') == 0) { $page = 1; } else { $page = input('ppage/d'); } if (input('psize/d') == '') { $limit = 20; } else { $limit = input('psize/d'); } $pagelistcount = $limit; //每页显示条数 $sql = distance_sql($lng, $lat); $row = Db::query("select * ," . $sql . "as distance from echo_comjobs where deletetime=0 and status in (3,4) order by distance limit " . $pagelistcount * ($page - 1) . "," . $pagelistcount); //第三方id和工作列表 $third_ids = []; $third_lists = []; $worker_ids = []; $worker_lists = []; foreach ($row as $l) { if (!empty($l['third_id'])) { $third_ids[] = $l['third_id']; } $worker_ids[] = $l["workerid"]; } if (!empty($third_ids)) { $third_lists = WorkerThird::where('id', 'in', $third_ids)->column('*', 'id'); } if (!empty($worker_ids)) { $worker_lists = WorkerModel::where('id', 'in', $worker_ids)->column('*', 'id'); } foreach ($row as $k => $v) { $row[$k]["tags"] = json_decode($v["tags"]); if (!empty($v['third_id'])) { $row[$k]["worker"]["title"] = $third_lists[$v['third_id']]['name']; } else { $workerinfo = $worker_lists[($v["workerid"])]; $row[$k]["worker"]["title"] = $workerinfo["title"]; } $row[$k]["distance"] = round(calcDistance($lat, $lng, $v["latitude"], $v["longitude"]), 2) . "千米"; } page_result(0, "", [ 'plist' => $row, 'pstatus' => $limit > count($row) ? 'noMore' : 'more', ]); } public function getRensheCode() { $type = input('type',''); if (empty($type)) { page_result(0, "", []); } $list = RensheCode::getList($type); page_result(0, "", $list); } public function getComCate() { $catelist = ComjobsCate::order(['priority' => 'desc', 'id' => 'desc'])->select(); page_result(0, "", $catelist); } }