| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2018/11/16
 
-  * Time: 15:13
 
-  */
 
- namespace App\Repositories;
 
- use App\Models\Setmeal;
 
- use Prettus\Repository\Criteria\RequestCriteria;
 
- use Prettus\Repository\Eloquent\BaseRepository;
 
- class SetmealRepository extends BaseRepository
 
- {
 
-     public function model()
 
-     {
 
-         return Setmeal::class;
 
-     }
 
-     public function boot()
 
-     {
 
-         $this->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];
 
-         }
 
-     }
 
- }
 
 
  |