| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2018/11/12
 
-  * Time: 10:24
 
-  */
 
- namespace App\Services\Common;
 
- use App\Repositories\CompanyRepository;
 
- use App\Repositories\MemberHandselRepository;
 
- use App\Repositories\MemberPointRepository;
 
- use App\Repositories\MembersChargeLogRepository;
 
- use App\Repositories\MemberSetmealRecordRepository;
 
- use App\Repositories\MemberSetmealRepository;
 
- use App\Repositories\SetmealRepository;
 
- use Illuminate\Contracts\Logging\Log;
 
- use Illuminate\Support\Facades\DB;
 
- class MembersSetmealService
 
- {
 
-     protected $memberSetmealRepository;
 
-     protected $setmealRepository;
 
-     protected $memberPointRepository;
 
-     protected $memberHandselRepository;
 
-     protected $companyRepository;
 
-     protected $membersChargeLogRepository;
 
-     protected $memberSetmealRecordRepository;
 
-     /**
 
-      * MembersSetmealService constructor.
 
-      * @param $memberSetmealRepository
 
-      * @param $setmealRepository
 
-      * @param $memberPointRepository
 
-      * @param $memberHandselRepository
 
-      * @param $companyRepository
 
-      * @param $membersChargeLogRepository
 
-      */
 
-     public function __construct(MemberSetmealRepository $memberSetmealRepository, MembersChargeLogRepository $membersChargeLogRepository, CompanyRepository $companyRepository, MemberHandselRepository $memberHandselRepository, MemberPointRepository $memberPointRepository, SetmealRepository $setmealRepository
 
-     ,MemberSetmealRecordRepository $memberSetmealRecordRepository)
 
-     {
 
-         $this->memberSetmealRepository = $memberSetmealRepository;
 
-         $this->setmealRepository = $setmealRepository;
 
-         $this->memberPointRepository = $memberPointRepository;
 
-         $this->memberHandselRepository = $memberHandselRepository;
 
-         $this->companyRepository = $companyRepository;
 
-         $this->membersChargeLogRepository = $membersChargeLogRepository;
 
-         $this->memberSetmealRecordRepository=$memberSetmealRecordRepository;
 
-     }
 
-     /**注册赠送套餐
 
-      * @param $user
 
-      * @param $setmeal_id
 
-      * @return array
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     public function addMemberSetmeal($user, $setmeal_id)
 
-     {
 
-         $setsqlarr['uid']=$user->id;
 
-         $setmeal = $this->setmealRepository->find($setmeal_id);
 
-         $setsqlarr['expire']=0;
 
-         $setsqlarr['setmeal_id']=$setmeal->id;
 
-         $setsqlarr['setmeal_name']=$setmeal->setmeal_name;
 
-         $setsqlarr['starttime']=time();
 
-         $setsqlarr['days']=$setmeal->days;
 
-         if ($setmeal->days>0) {
 
-             $setsqlarr['endtime']=strtotime("".$setmeal->days." days");
 
-         } else {
 
-             $setsqlarr['endtime']=0;
 
-         }
 
-         $setsqlarr['expense']=$setmeal->expense;
 
-         $setsqlarr['jobs_meanwhile']=$setmeal->jobs_meanwhile;
 
-         $setsqlarr['refresh_jobs_free']=$setmeal->refresh_jobs_free;
 
-         $setsqlarr['download_resume']=$setmeal->download_resume;
 
-         $setsqlarr['download_resume_max']=$setmeal->download_resume_max;
 
-         $setsqlarr['jobfair_num']=$setmeal->jobfair_num;
 
-         $setsqlarr['added']=$setmeal->added;
 
-         $setsqlarr['setmeal_img']=$setmeal->setmeal_img;
 
-         $setsqlarr['show_apply_contact']=$setmeal->show_apply_contact;
 
-         $setsqlarr['show_contact_direct']=$setmeal->show_contact_direct;
 
-         $setsqlarr['is_free']=$setmeal->is_free;
 
-         $setsqlarr['discount_download_resume']=$setmeal->discount_download_resume;
 
-         $setsqlarr['discount_sms']=$setmeal->discount_sms;
 
-         $setsqlarr['discount_stick']=$setmeal->discount_stick;
 
-         $setsqlarr['discount_emergency']=$setmeal->discount_emergency;
 
-         $setsqlarr['discount_tpl']=$setmeal->discount_tpl;
 
-         $setsqlarr['discount_auto_refresh_jobs']=$setmeal->discount_auto_refresh_jobs;
 
-         if (false === $this->memberSetmealRepository->create($setsqlarr)) {
 
-             return array('state'=>false,'error'=>'数据添加失败');
 
-         } else {
 
-             //删除 是否过期 以及套餐图标
 
-             unset($setsqlarr['expire']);
 
-             unset($setsqlarr['setmeal_img']);
 
-             //往套餐记录里头添加
 
-             if($this->memberSetmealRecordRepository->create($setsqlarr)===false){
 
-                 return array('state'=>false,'error'=>'添加记录失败!');
 
-             }
 
-             //如果套餐有赠送积分,则直接更新用户积分表
 
-             if ($setmeal->set_points) {
 
-                 if ($this->memberPointRepository->reportDeal($user->id, 1, 1, $setmeal->set_points)) {
 
-                     // 写入会员积分操作日志
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['htype'] = 'setmeal_gifts';
 
-                     $handsel['htype_cn'] = '套餐内赠送';
 
-                     $handsel['operate'] = 1;
 
-                     $handsel['points'] = $setmeal->set_points;
 
-                     $this->memberHandselRepository->addNew($handsel);
 
-                 }
 
-             }
 
-             //如果套餐有赠送短信,则直接更新用户表的短信条数字段
 
-             if ($setmeal->set_sms) {
 
-                 $this->companyRepository->updataSmsNum($user->id, 1, $setmeal->set_sms);
 
-             }
 
-             $this->companyRepository->companySave(['setmeal_id'=>$setmeal->id, 'setmeal_name'=>$setmeal->setmeal_name], $user->id);
 
-         }
 
-         if ($setmeal_id>0) {
 
-             // 套餐变更记录
 
-             $this->membersChargeLogRepository->createLog($user, '注册会员系统自动赠送:'.$setmeal->setmeal_name, '0.00', 1, 1, 2);
 
-         }
 
-         return array('state'=>true);
 
-     }
 
-     public function getUserSetmeal($user, $utype)
 
-     {
 
-         return $this->memberSetmealRepository->getSetmealByUid($user->id, $utype);
 
-     }
 
-     /**
 
-      * $uid 会员uid
 
-      * $actio 套餐项
 
-      * $type 套餐项加减 (主要针对 发布职位默认为1是加,2为减)
 
-      */
 
-     public function actionUserSetmeal($uid, $action, $type = 1, $num = 1)
 
-     {
 
-         if ($type==1) {
 
-             return $this->memberSetmealRepository->incrementData(array('uid'=>$uid), $action, $num);
 
-         } elseif ($type==2) {
 
-             $usersetmeal = $this->memberSetmealRepository->getSetmealByUid($uid, $num);
 
-             if ($usersetmeal->$action > 0) {
 
-                 return $this->memberSetmealRepository->decrementData(array('uid'=>$uid), $action, $num);
 
-             } else {
 
-                 return $this->memberSetmealRepository->updateSetmeal(array($action=>0), $usersetmeal->id);
 
-             }
 
-         }
 
-     }
 
-     public function getSetmealByUid($uid, $utype)
 
-     {
 
-         return $this->memberSetmealRepository->getSetmealByUid($uid, $utype);
 
-     }
 
- }
 
 
  |