pushCriteria(app(RequestCriteria::class)); } public function getSetmealList() { $where=[]; if (isMobile()){ //移动段不显示不允许申请的 $where['apply']=1; } $where['display']=1; return $this->model->where($where)->orderBy('show_order', 'desc')->get(); } public function getOneSetmeal($id) { return $this->model->where(['id'=>$id])->first(); } /** * 计算某一增值服务类型的最大折扣 */ public function getMaxDiscount($cat) { switch ($cat) { case 'download_resume': case 'sms': case 'stick': case 'emergency': case 'auto_refresh_jobs': case 'tpl': $field = 'discount_'.$cat; break; default: $field = 'discount_download_resume'; break; } $return = $this->model->select($field)->where($field, '>', 0)->min($field); return $this->formatDiscount($return); } /** * 获取某一套餐array下的某一服务类型的折扣 */ public function getIncrementDiscountByArray($cat, $setmeal) { switch ($cat) { case 'download_resume': case 'sms': case 'stick': case 'emergency': case 'auto_refresh_jobs': case 'tpl': $field = 'discount_'.$cat; break; default: $field = 'discount_download_resume'; break; } $return = $setmeal[$field]; return $this->formatDiscount($return); } /** * 获取某一套餐的所有增值服务项目中的最低折扣 */ public function getDiscountForSetmealOne($setmeal) { if (is_object($setmeal)) { (array)$setmeal; } $arr[0] = $setmeal['discount_download_resume']; $arr[1] = $setmeal['discount_sms']; $arr[2] = $setmeal['discount_stick']; $arr[3] = $setmeal['discount_emergency']; $arr[4] = $setmeal['discount_tpl']; $arr[5] = $setmeal['discount_auto_refresh_jobs']; unset($arr[array_search(0, $arr)]); $pos = array_search(min($arr), $arr); $return = $arr[$pos]; return $this->formatDiscount($return); } protected function formatDiscount($value) { $value_arr = explode(".", $value); if (count($value_arr) > 1) { if ($value_arr[1]==0) { return $value_arr[0]; } else { return $value; } } else { return $value_arr[0]; } } }