pushCriteria(app(RequestCriteria::class)); } /** * @param $id * @return mixed */ public function getCategory($id) { return $this->model->find($id); } public function getCategoryInfo($Groups_arr) { return $this->model->whereIn('alias', $Groups_arr)->select(['id','alias', 'demand'])->get()->toArray(); } public function getManyCategory($id) { return $this->model->whereIn('id', $id)->orderBy(\DB::raw('FIND_IN_SET(id, "' . implode(",", $id) . '"' . ")"))->get(); } public function getCategoriess() { //获取所有其它分类信息 $category = Cache::get('other_categories'); if ($category === null) { $categoryData = $this->model->select(array('id','alias','demand','category_name'))->orderBy('order', 'desc')->orderBy('id', 'ASC')->get()->toArray(); foreach ($categoryData as $key => $val) { //$category[$val['alias']][$val['id']] = $val['demand']; $category[$val['alias']][$val['id']] = $val; } if (array_key_exists('AIX_wage', $category)) { foreach ($category['AIX_wage'] as $key => $val) { if (preg_match_all('(\d+)', $val['demand'], $reg)) { $reg = $reg[0]; $min = $reg[0]%1000==0?(($reg[0]/1000).'K'):(round($reg[0]/1000, 1).'K'); if (count($reg)>1) { $max = $reg[1]?($reg[1]%1000==0?(($reg[1]/1000).'K'):(round($reg[1]/1000, 1).'K')):''; } else { $max = ''; } $max_k = $max ? '~'.$max :'以上'; $category['AIX_wage_k'][$key] = $min.$max_k.'/月'; if (config('aix.system.site_other.site_other.site_salary') == 1) { $minwage = $min; $maxwage = $max; } elseif (config('aix.system.site_other.site_other.site_salary') == 2) { if ($reg[0]>=10000) { if ($reg[0]%10000==0) { $minwage = ($reg[0] / 10000) . '万'; } else { $minwage = round($reg[0]/10000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '万', $minwage) : $minwage . '万'; } } else { if ($reg[0]%1000==0) { $minwage = ($reg[0]/1000).'千'; } else { $minwage = round($reg[0]/1000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '千', $minwage) : $minwage . '千'; } } if (count($reg)>1 && $reg[1] >= 10000) { if ($reg[1]%10000==0) { $maxwage = ($reg[1]/10000).'万'; } else { $maxwage = round($reg[1]/10000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '万', $maxwage) : $maxwage . '万'; } } elseif (count($reg)>1 && $reg[1]) { if ($reg[1]%1000==0) { $maxwage = ($reg[1]/1000).'千'; } else { $maxwage = round($reg[1]/1000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '千', $maxwage) : $maxwage . '千'; } } else { $maxwage = ''; } } $maxwage = $maxwage ? '~'.$maxwage :'以上'; $category['AIX_wage'][$key]['demand'] = $minwage.$maxwage.'/月'; } } } Cache::put('other_categories', $category, '86400'); } return $category; } public function getCategories() { //获取所有其它分类信息 $category = Cache::get('other_categories'); if ($category === null) { $categoryData = $this->model->select(array('id','alias','demand','category_name'))->orderBy('order', 'desc')->orderBy('id', 'ASC')->get()->toArray(); foreach ($categoryData as $key => $val) { $category[$val['alias']][$val['id']] = $val; } if (array_key_exists('AIX_wage', $category)) { foreach ($category['AIX_wage'] as $key => $val) { $category['AIX_wage'][$key]['origin_demand'] = $val['demand']; if (preg_match_all('(\d+)', $val['demand'], $reg)) { $reg = $reg[0]; $min = $reg[0]%1000==0?(($reg[0]/1000).'K'):(round($reg[0]/1000, 1).'K'); if (count($reg)>1) { $max = $reg[1]?($reg[1]%1000==0?(($reg[1]/1000).'K'):(round($reg[1]/1000, 1).'K')):''; } else { $max = ''; } $max_k = $max ? '~'.$max :'以上'; $category['AIX_wage_k'][$key] = $min.$max_k.'/月'; $category['AIX_wage'][$key]['k_demand'] = $min.$max_k.'/月'; //处理薪资单位是千的情况 if ($reg[0]>=10000) { if ($reg[0]%10000==0) { $minwage = ($reg[0] / 10000) . '万'; } else { $minwage = round($reg[0]/10000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '万', $minwage) : $minwage . '万'; } } else { if ($reg[0]%1000==0) { $minwage = ($reg[0]/1000).'千'; } else { $minwage = round($reg[0]/1000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '千', $minwage) : $minwage . '千'; } } if (count($reg)>1 && $reg[1] >= 10000) { if ($reg[1]%10000==0) { $maxwage = ($reg[1]/10000).'万'; } else { $maxwage = round($reg[1]/10000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '万', $maxwage) : $maxwage . '万'; } } elseif (count($reg)>1 && $reg[1]) { if ($reg[1]%1000==0) { $maxwage = ($reg[1]/1000).'千'; } else { $maxwage = round($reg[1]/1000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '千', $maxwage) : $maxwage . '千'; } } else { $maxwage = ''; } } $maxwage = $maxwage ? '~'.$maxwage :'以上'; $category['AIX_wage_c'][$key] = $minwage.$maxwage.'/月'; $category['AIX_wage'][$key]['c_demand'] = $minwage.$maxwage.'/月'; if (config('aix.system.site_other.site_other.site_salary') == 1) { $minwage = $min; $maxwage = $max; } elseif (config('aix.system.site_other.site_other.site_salary') == 2) { if ($reg[0]>=10000) { if ($reg[0]%10000==0) { $minwage = ($reg[0] / 10000) . '万'; } else { $minwage = round($reg[0]/10000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '万', $minwage) : $minwage . '万'; } } else { if ($reg[0]%1000==0) { $minwage = ($reg[0]/1000).'千'; } else { $minwage = round($reg[0]/1000, 1); $minwage = strpos($minwage, '.') ? str_replace('.', '千', $minwage) : $minwage . '千'; } } if (count($reg)>1 && $reg[1] >= 10000) { if ($reg[1]%10000==0) { $maxwage = ($reg[1]/10000).'万'; } else { $maxwage = round($reg[1]/10000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '万', $maxwage) : $maxwage . '万'; } } elseif (count($reg)>1 && $reg[1]) { if ($reg[1]%1000==0) { $maxwage = ($reg[1]/1000).'千'; } else { $maxwage = round($reg[1]/1000, 1); $maxwage = strpos($maxwage, '.') ? str_replace('.', '千', $maxwage) : $maxwage . '千'; } } else { $maxwage = ''; } } $maxwage = $maxwage ? '~'.$maxwage :'以上'; $category['AIX_wage'][$key]['demand'] = $minwage.$maxwage.'/月'; } } Cache::put('other_categories', $category, '86400'); } return $category; } public function getOriginCategory($where) { return $this->model->where($where)->first(); } public function getCategoryByAlias($data) { return $this->model->where($data)->get(); } }