| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2018/11/12
 
-  * Time: 19:09
 
-  */
 
- namespace App\Services\Common;
 
- use App\Repositories\SetmealIncrementsRepository;
 
- use App\Repositories\SetmealRepository;
 
- class SetmealIncrementsService
 
- {
 
-     protected $setmealIncrementsRepository;
 
-     protected $setmealRepository;
 
-     /**
 
-      * SetmealIncrementsService constructor.
 
-      * @param $setmealIncrementsRepository
 
-      * @param $setmealRepository
 
-      */
 
-     public function __construct(SetmealIncrementsRepository  $setmealIncrementsRepository, SetmealRepository $setmealRepository)
 
-     {
 
-         $this->setmealIncrementsRepository = $setmealIncrementsRepository;
 
-         $this->setmealRepository = $setmealRepository;
 
-     }
 
-     /**
 
-      * @param $cat stick emergency
 
-      * @return mixed
 
-      */
 
-     public function getCat($cat)
 
-     {
 
-         return $this->setmealIncrementsRepository->getCat($cat);
 
-     }
 
-     //获取折扣类型
 
-     public function getIncrementDiscountByArray($cat, $member_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 = $member_setmeal->$field;
 
-         $value_arr = explode(".", $return);
 
-         if (count($value_arr)>1) {
 
-             if ($value_arr[1]==0) {
 
-                 return $value_arr[0];
 
-             }
 
-         }
 
-         return $return;
 
-     }
 
-     //获取企业增值服务信息
 
-     public function getIncrementArr($member_setmeal, $cat)
 
-     {
 
-         $increment_arr = $this->setmealIncrementsRepository->getIncrementCache('download_resume');
 
-         if ($increment_arr) {
 
-             foreach ($increment_arr as $key => $value) {
 
-                 //如果是非免费套餐
 
-                 if ($member_setmeal->is_free==0) {
 
-                     $discount = $this->getIncrementDiscountByArray($cat, $member_setmeal);  ////获取折扣类型
 
-                     //当前基础套餐套餐需要付的价格,如果折扣为0,则价格与原始价格一致
 
-                     $increment_arr[$key]->my_price = $discount>0?round($value->price*$discount/10, 2):$value->price;
 
-                     //当前基础套餐的对应的折扣
 
-                     $increment_arr[$key]->my_discount = $discount;
 
-                     //单条价格
 
-                     $increment_arr[$key]->my_unit_price = round($increment_arr[$key]->my_price/$value->value, 2);
 
-                     //节省的数
 
-                     $increment_arr[$key]->my_saved_price = $value->price-$increment_arr[$key]->my_price;
 
-                 } else {
 
-                     $free_discount = $this->getIncrementDiscountByArray($cat, $member_setmeal);
 
-                     //免费会员需要付的价格
 
-                     $increment_arr[$key]->my_price = $free_discount>0?round($value->price*$free_discount/10, 2):$value->price;
 
-                     //免费会员单条价格
 
-                     $increment_arr[$key]->my_unit_price = round($increment_arr[$key]->my_price/$value->value, 2);
 
-                     //VIP会员价格,取出折扣最大的套餐折扣
 
-                     $vip_discount = $this->getMaxDiscount($cat);
 
-                     $increment_arr[$key]->vip_price = intval($vip_discount)>0?round($value->price*$vip_discount/10, 2):$value->price;
 
-                     //VIP会员单条价格
 
-                     $increment_arr[$key]->vip_unit_price = round($increment_arr[$key]->vip_price/$value->value, 2);
 
-                 }
 
-                 //换算积分
 
-                 $increment_arr[$key]->need_points = round($increment_arr[$key]->my_price*config('aix.companyset.points.points_set.payment_rate'));
 
-             }
 
-         }
 
-         return $increment_arr;
 
-     }
 
-     public function getMaxDiscount($cat)
 
-     {
 
-         return $this->setmealRepository->getMaxDiscount($cat);
 
-     }
 
-     public function getServiceUnit()
 
-     {
 
-         return $this->setmealIncrementsRepository->service_unit;
 
-     }
 
-     public function getIncrement($id, $cat = '')
 
-     {
 
- //        return $this->setmealIncrementsRepository->getIncrementCache('', $id);
 
-         return $this->setmealIncrementsRepository->getIncrement($id);
 
-     }
 
- }
 
 
  |