| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2018/11/28
 
-  * Time: 16:43
 
-  */
 
- namespace App\Services\Company;
 
- use App\Exceptions\ResponseException;
 
- use App\Models\Company;
 
- use App\Models\Jobs;
 
- use App\Models\MembersSetmeal;
 
- use App\Models\Tpl;
 
- use App\Repositories\CompanyRepository;
 
- use App\Repositories\JobsRepository;
 
- use App\Repositories\MemberHandselRepository;
 
- use App\Repositories\MemberLogRepository;
 
- use App\Repositories\MemberPointRepository;
 
- use App\Repositories\MembersChargeLogRepository;
 
- use App\Repositories\MemberSetmealRepository;
 
- use App\Repositories\MembersSetmealLogRepository;
 
- use App\Repositories\OrderRepository;
 
- use App\Repositories\PaymentRepository;
 
- use App\Repositories\QueueAutoRefreshRepository;
 
- use App\Repositories\SetmealIncrementsRepository;
 
- use App\Repositories\SetmealRepository;
 
- use App\Repositories\TaskLogRepository;
 
- use App\Repositories\TaskRepository;
 
- use App\Services\Common\MembersSetmealRecordService;
 
- use App\Services\Common\PayService;
 
- use Carbon\Carbon;
 
- use Illuminate\Contracts\Encryption\EncryptException;
 
- use Illuminate\Support\Facades\DB;
 
- use App\Repositories\TplRepository;
 
- use App\Repositories\MemberSetmealRecordRepository;
 
- use Illuminate\Support\Facades\Log;
 
- class ServiceService
 
- {
 
-     protected $taskRepository;
 
-     protected $memberPointRepository;
 
-     protected $taskLogRepository;
 
-     protected $memberHandselRepository;
 
-     protected $memberSetmealRepository;
 
-     protected $jobsRepository;
 
-     protected $setmealRepository;
 
-     protected $paymentRepository;
 
-     protected $orderRepository;
 
-     protected $memberLogRepository;
 
-     protected $membersChargeLogRepository;
 
-     protected $companyRepository;
 
-     protected $membersSetmealLogRepository;
 
-     protected $setmealIncrementsRepository;
 
-     protected $queueAutoRefreshRepository;
 
-     protected $tplRepository;
 
-     protected $memberSetmealRecordRepository;
 
-     /**
 
-      * ServiceService constructor.
 
-      * @param $taskRepository
 
-      * @param $memberPointRepository
 
-      * @param $taskLogRepository
 
-      * @param $memberHandselRepository
 
-      * @param $memberSetmealRepository
 
-      * @param $jobsRepository
 
-      * @param $setmealRepository
 
-      * @param $paymentRepository
 
-      * @param $orderRepository
 
-      * @param $memberLogRepository
 
-      * @param $membersChargeLogRepository
 
-      * @param $companyRepository
 
-      * @param $membersSetmealLogRepository
 
-      * @param $setmealIncrementsRepository
 
-      * @param $queueAutoRefreshRepository
 
-      * @param $tplRepository
 
-      *
 
-      */
 
-     public function __construct(TaskRepository $taskRepository,TplRepository $tplRepository,  QueueAutoRefreshRepository $queueAutoRefreshRepository,  SetmealIncrementsRepository $setmealIncrementsRepository,  MembersSetmealLogRepository $membersSetmealLogRepository,  CompanyRepository $companyRepository,  MembersChargeLogRepository $membersChargeLogRepository,  MemberLogRepository $memberLogRepository,  OrderRepository $orderRepository,  PaymentRepository $paymentRepository,  SetmealRepository $setmealRepository,  JobsRepository $jobsRepository,  MemberSetmealRepository $memberSetmealRepository,  MemberPointRepository $memberPointRepository,  TaskLogRepository $taskLogRepository, MemberHandselRepository $memberHandselRepository,MemberSetmealRecordRepository $memberSetmealRecordRepository,MembersSetmealRecordService $membersSetmealRecordService){
 
-         $this->taskRepository = $taskRepository;
 
-         $this->memberPointRepository = $memberPointRepository;
 
-         $this->taskLogRepository = $taskLogRepository;
 
-         $this->memberHandselRepository = $memberHandselRepository;
 
-         $this->memberSetmealRepository = $memberSetmealRepository;
 
-         $this->jobsRepository = $jobsRepository;
 
-         $this->setmealRepository = $setmealRepository;
 
-         $this->paymentRepository = $paymentRepository;
 
-         $this->orderRepository = $orderRepository;
 
-         $this->memberLogRepository = $memberLogRepository;
 
-         $this->membersChargeLogRepository = $membersChargeLogRepository;
 
-         $this->companyRepository = $companyRepository;
 
-         $this->membersSetmealLogRepository = $membersSetmealLogRepository;
 
-         $this->setmealIncrementsRepository = $setmealIncrementsRepository;
 
-         $this->queueAutoRefreshRepository = $queueAutoRefreshRepository;
 
-         $this->tplRepository = $tplRepository;
 
-         $this->memberSetmealRecordRepository=$memberSetmealRecordRepository;
 
-         $this->membersSetmealRecordService=$membersSetmealRecordService;
 
-     }
 
-     public function index($user)
 
-     {
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//套餐详细
 
-         $condition['company_id'] = $user->id;
 
-         $condition['display'] = 1;
 
-         $condition['valid'] = 1;
 
-         $condition[] = ['audit','<>',3];
 
-         $jobsCount = $this->jobsRepository->jobsTotal($condition);
 
-         $surplus_jobs = $mySetmeal->jobs_meanwhile-$jobsCount;
 
-         $mySetmeal->jobs_meanwhile =$surplus_jobs>0?$surplus_jobs:0;
 
-         if ($mySetmeal->endtime == 0) {
 
-             $mySetmeal->leave_days = '永久';
 
-         } else {
 
-             $tmpday = ceil((strtotime($mySetmeal->endtime) - time())/86400);
 
-             $minus = $tmpday<0?0:$tmpday;
 
-             $mySetmeal->leave_days = intval($minus);
 
-         }
 
-         $setmeal = $this->setmealRepository->findWhere(['display' => 1]);//会员套餐
 
-         foreach ($setmeal as $key => $val) {
 
-             $setmeal[$key]->discount = $this->setmealRepository->getDiscountForSetmealOne($val);
 
-             $setmeal[$key]->long = $val->days == 0 ? '永久' : $this->formatDays($val->days);
 
-         }
 
-         request()->offsetSet('id', $user->id);
 
-         $setmealRecords=$this->membersSetmealRecordService->SetmealRecord(true);
 
-         $this->freeSetmealIsOver($user);
 
-         $result = [
 
-             'user' => $user,
 
-             'mySetmeal' => $mySetmeal,
 
-             'setmeal' => $setmeal,
 
-             'setmealRecord'=>$setmealRecords,
 
-         ];
 
-         return $result;
 
-     }
 
-     /**
 
-      * 免费的会员是否过期了
 
-      */
 
-     public function freeSetmealIsOver($user){
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//套餐详细
 
-         session(["setmeal_message"=>""]);
 
-         if (strtotime($mySetmeal->endtime)<time() && $mySetmeal->endtime!=0){  //现在就判断到期时间了
 
-             if (request('look')!=true){ //通过url来判断是否已经看过
 
-                 session(["setmeal_message"=>"提醒:您的套餐已到期,请及时到我的套餐处升级套餐"]);
 
-             }
 
-         }
 
-     }
 
-     /**
 
-      * @param $request
 
-      * @return array
 
-      */
 
-     public function setmealDetail($request, $user)
 
-     {
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//套餐详细
 
-         $condition['company_id'] = $user->id;
 
-         $condition['display'] = 1;
 
-         $condition['valid'] = 1;
 
-         $condition[] = ['audit','<>',3];
 
-         $jobsCount = $this->jobsRepository->jobsTotal($condition);
 
-         $surplus_jobs = $mySetmeal->jobs_meanwhile-$jobsCount;
 
-         $mySetmeal->jobs_meanwhile =$surplus_jobs>0?$surplus_jobs:0;
 
-         if ($mySetmeal->endtime == 0) {
 
-             $mySetmeal->leave_days = '永久';
 
-         } else {
 
-             $tmpday = ceil((strtotime($mySetmeal->endtime) - time())/86400);
 
-             $minus = $tmpday<0?0:$tmpday;
 
-             $mySetmeal->leave_days = intval($minus);
 
-         }
 
-         $setmeal = $this->setmealRepository->findWhere(['display' => 1]);//会员套餐
 
-         foreach ($setmeal as $key => $val) {
 
-             $setmeal[$key]->discount = $this->setmealRepository->getDiscountForSetmealOne($val);
 
-             $setmeal[$key]->long = $val->days == 0 ? '永久' : $this->formatDays($val->days);
 
-         }
 
-         $starttime = isset($request['starttime'])?$request['starttime']:date('Y-m-d', time()-30*86400);
 
-         $endtime = isset($request['endtime'])?$request['endtime']:date('Y-m-d', time());
 
-         $where= [
 
-             ['created_at','>=',$starttime." 23:10:10"],
 
-             ['created_at','<=',$endtime." 23:10:10"],
 
-             ['log_uid','=',$user->id],
 
-             ['log_utype','=',$user->utype],
 
-         ];
 
-         $setmealDetail = $this->membersSetmealLogRepository->membersSetmealLog($where);
 
-         request()->offsetSet('id', $user->id);
 
-         $setmealRecords=$this->membersSetmealRecordService->SetmealRecord(true);
 
-         $result = [
 
-             'user' => $user,
 
-             'mySetmeal' => $mySetmeal,
 
-             'setmeal' => $setmeal,
 
-             'starttime'=>$starttime,
 
-             'endtime'=>$endtime,
 
-             'setmealDetail'=>$setmealDetail,
 
-             'setmealRecord'=>$setmealRecords,
 
-         ];
 
-         return $result;
 
-     }
 
-     /**
 
-      * 获取任务状态。
 
-      */
 
-     public function points($user, $type = 0)
 
-     {
 
-         $task = $this->memberPointRepository->getComTaskById($user->id);
 
-         foreach ($task as $key => $val) {
 
-             if ($key == 'task_logs') {
 
-                 $task_id = [];
 
-                 $task_id_w = [];
 
-                 foreach ($val as $k => $v) {
 
-                     if ($v['once'] != 1) {
 
-                         $task_id[] = $v['task_id'];
 
-                     } else {
 
-                         $task_id_w[] = $v['task_id'];
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         $count = [];
 
-         $task_id = array_unique($task_id);
 
-         foreach ($task_id as $k => $v) {
 
-             $count[$v] = $this->taskLogRepository->getTaskLogCount($user->id, $v, $user->utype);
 
-         }
 
-         $task_info = $this->taskRepository->getTaskById(array_keys($count));
 
-         $finshTask = [];  //已完成任务。
 
-         foreach ($count as $k1 => $v1) {
 
-             foreach ($task_info as $key1 => $val1) {
 
-                 if ($k1 == $val1->id) {
 
-                     if ($val1->times != -1) {
 
-                         if ($v1 == $val1->times) {
 
-                             $finshTask[$k1]['id'] = $val1->id;
 
-                             $finshTask[$k1]['title'] = $val1->title;
 
-                             $finshTask[$k1]['points'] = $val1->points;
 
-                             $finshTask[$k1]['type'] = '日常任务';
 
-                             $finshTask[$k1]['status'] = '已完成';
 
-                             $finshTask[$k1]['t_alias'] = $val1->t_alias;
 
-                             $finshTask[$k1]['count'] = '(*' . $v1 . ')';
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         $task_info_w = $this->taskRepository->getTaskById(($task_id_w));
 
-         foreach ($task_info_w as $ke => $va) {
 
-             $finshTask[$va->id]['id'] = $va->id;
 
-             $finshTask[$va->id]['title'] = $va->title;
 
-             $finshTask[$va->id]['points'] = $va->points;
 
-             $finshTask[$va->id]['type'] = '一次性任务';
 
-             $finshTask[$va->id]['status'] = '已完成';
 
-             $finshTask[$va->id]['t_alias'] = $va->t_alias;
 
-             $finshTask[$va->id]['count'] = '';
 
-         }
 
-         $task_ZZ = $this->taskRepository->getTaskByUtype($user->utype);
 
-         $task_info_z = [];
 
-         $sub_site = '';
 
-         if (get_subsite_id() > 0) {
 
-             $sub_site = 'jkq.';
 
-         }
 
-         foreach ($task_ZZ as $key => $val) {
 
-             if (!in_array($val->id, array_keys($finshTask))) {
 
-                 $task_info_z[$val->id]['id'] = $val->id;
 
-                 $task_info_z[$val->id]['title'] = $val->title;
 
-                 $task_info_z[$val->id]['points'] = $val->points;
 
-                 if ($val->once == 1) {
 
-                     $task_info_z[$val->id]['count'] = '';
 
-                     $task_info_z[$val->id]['type'] = '一次性任务';
 
-                 } else {
 
-                     $task_info_z[$val->id]['type'] = '日常任务';
 
-                     $hjk = $this->taskLogRepository->getTaskLogCount($user->id, $val->id, $user->utype);
 
-                     if (!$hjk) {
 
-                         $task_info_z[$val->id]['count'] = '';
 
-                     } else {
 
-                         $times = $val->times;
 
-                         $lasT = $times - $hjk;
 
-                         if ($times == -1) {
 
-                             $task_info_z[$val->id]['count'] = '';
 
-                         } else {
 
-                             $task_info_z[$val->id]['count'] = '(*'.$lasT.')';
 
-                         }
 
-                     }
 
-                 }
 
-                 if ($type) {
 
-                     if ($val->id == 17) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 18) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="javascript:;" url="' . route($sub_site."mobile.firm.sing") . '" data-type="sign" class="ajax_do" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 19) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.info") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 20) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."mobile.firm.com.img") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 21) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."mobile.resumes") . '" style="text-decoration: none;" target="_blank">去完成</a>';
 
-                     } elseif ($val->id == 22) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 23) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 25) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.com.binding") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 27) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.info") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 28) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.resume.apply") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 29) {
 
- //                        $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 30) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."mobile.firm.com.auth") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 31) {
 
- //                        $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 32) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."mobile.firm.com.psm.consult") . '" style="text-decoration: none;">去完成</a>';
 
-                     } else {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."mobile.firm.com.binding") . '" style="text-decoration: none;">去完成</a>';
 
-                     }
 
-                 } else {
 
-                     if ($val->id == 17) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 18) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="javascript:;" url="' . route($sub_site."com.sign") . '" data-type="sign" class="ajax_do" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 19) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.info") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 20) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."com.img") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 21) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."resumes") . '" style="text-decoration: none;" target="_blank">去完成</a>';
 
-                     } elseif ($val->id == 22) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 23) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 25) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 27) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.info") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 28) {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."resume.apply") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 29) {
 
- //                        $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 30) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."com.auth") . '" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 31) {
 
- //                        $task_info_z[$val->id]['status'] = '<a href="" style="text-decoration: none;">去完成</a>';
 
-                     } elseif ($val->id == 32) {
 
-                         $task_info_z[$val->id]['status'] = '<a href="' . route($sub_site."com.pms.consult") . '" style="text-decoration: none;">去完成</a>';
 
-                     } else {
 
-                         $task_info_z[$val->id]['status'] = '<a href=" ' . route($sub_site."com.security") . '" style="text-decoration: none;">去完成</a>';
 
-                     }
 
-                 }
 
-                 $task_info_z[$val->id]['t_alias'] = $val->t_alias;
 
-             }
 
-         }
 
-         $todayPoints = 0;
 
-         $rs = $this->taskLogRepository->getTodayPoints($user->id, $user->utype);
 
-         if ($rs) {
 
-             $todayPoints = $rs;
 
-         }
 
-         $onPoints = $this->taskLogRepository->getSinglePoints($user->id, $user->utype);
 
-         $dayPoints = $this->taskLogRepository->getDayPoints($user->id, $user->utype);
 
-         $arrAll = $this->taskRepository->getAllPoints($user->utype);
 
-         $allPoints = 0;
 
-         foreach ($arrAll as $key => $val) {
 
-             if ($val->once == 1) {
 
-                 $allPoints += $val->points;
 
-             } else {
 
-                 $allPoints += (abs($val->times)) * ($val->points);
 
-             }
 
-         }
 
-         $lastPoints = (int)$allPoints - $onPoints - $dayPoints > 0 ? (int)$allPoints - $onPoints - $dayPoints : 0;
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//套餐详细
 
-         return [
 
-             'w_finsh' => $task_info_z,
 
-             'finsh' => $finshTask,
 
-             'content' => $task,
 
-             'todayPoints' => $todayPoints,
 
-             'lastPoints' => $lastPoints,
 
-             'content' => $this->memberPointRepository->getComPointsById($user->id, $user->utype),
 
-             'mySetmeal' => $mySetmeal,
 
-         ];
 
-     }
 
-     /**积分收支明细
 
-      * @return array
 
-      */
 
-     public function pointsDetail($type, $user)
 
-     {
 
-         $getNum = $this->memberHandselRepository->getNum($user, 1);//累计获得
 
-         $useNum = $this->memberHandselRepository->getNum($user, 2);//累计消耗
 
-         $content = $this->memberHandselRepository->getMembersHandsel($user->id, $user->utype, $type);//积分操作记录
 
-         $companyPoint = $this->memberPointRepository->getComPointsById($user->id, $user->utype);
 
-         $points = $this->taskLogRepository->getTodayPoints($user->id, $user->utype);//今天获取积分
 
-         $todayPoints = $points ? $points : 0;
 
-         $onPoints = $this->taskLogRepository->getSinglePoints($user->id, $user->utype);//获取单次积分
 
-         $dayPoints = $this->taskLogRepository->getDayPoints($user->id, $user->utype); //获取日常积分
 
-         $arrAll = $this->taskRepository->getAllPoints($user->utype);
 
-         $allPoints = 0;
 
-         foreach ($arrAll as $key => $val) {
 
-             if ($val->once == 1) {
 
-                 $allPoints += $val->points;
 
-             } else {
 
-                 $allPoints += (abs($val->times)) * ($val->points);
 
-             }
 
-         }
 
-         $lastPoints = (int)$allPoints - $onPoints - $dayPoints > 0 ? (int)$allPoints - $onPoints - $dayPoints : 0;
 
-         $res = [
 
-             'content' => $content,
 
-             'points' => $todayPoints,
 
-             'lastPoints' => $lastPoints,
 
-             'companyPoint' => $companyPoint,
 
-             'getNum' => $getNum[0]->getTotalPoints,
 
-             'useNum' => $useNum[0]->getTotalPoints,
 
-             'type'=>$type
 
-         ];
 
-         return $res;
 
-     }
 
-     /**套餐升级
 
-      * @param $id
 
-      * @return array
 
-      * @throws ResponseException
 
-      */
 
-     public function setmealAdd($id, $user)
 
-     {
 
-         $setmeal = $this->setmealRepository->find($id);
 
-         if (!$setmeal) {
 
-             throw new ResponseException('请选择正确的套餐', '', 404);
 
-         }
 
-         //  购买套餐优惠
 
-         $setmeal->long = $this->formatDays($setmeal->days);
 
-         $setmeal->discount = $this->setmealRepository->getDiscountForSetmealOne($setmeal);
 
-         $offline = $this->paymentRepository->findWhere(['alias'=>'offline']);
 
-         $online = $this->paymentRepository->findWhere([['alias','<>','offline']]);
 
-         foreach ($offline as $key => &$val) {
 
-             if (!config("aix.system.pay.{$val->alias}.is_on")) {
 
-                 unset($offline[$key]);
 
-             }
 
-         }
 
-         foreach ($online as $key => &$val) {
 
-             if (!config("aix.system.pay.{$val->alias}.is_on")) {
 
-                 unset($online[$key]);
 
-             }
 
-         }
 
-         $mypoints = $this->memberPointRepository->getPointsById($user->id, $user->utype);
 
-         $result = [
 
-             'user' => $user,
 
-             'setmeal' => $setmeal,
 
-             'offline' => $offline,
 
-             'online' => $online,
 
-             'mypoints' => $mypoints->points,
 
-             'need_points' => $setmeal->expense * config('aix.companyset.points.points_set.payment_rate')
 
-         ];
 
-         return $result;
 
-     }
 
-     public function setmealAddMobile($user)
 
-     {
 
-         //我的套餐
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, 1);
 
-         //我的积分
 
-         $myPoints = $this->memberPointRepository->getPointsById($user->id, 1);
 
-         //套餐列表
 
-         $setmeal = $this->setmealRepository->getSetmealList();
 
-         foreach ($setmeal as $key => $val) {
 
-             $setmeal[$key]->long = $val->days==0?'永久':$this->formatDays($val->days);
 
-             $setmeal[$key]['discount'] = $this->setmealRepository->getDiscountForSetmealOne($val);
 
-             if (config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_discount_value')>0) {
 
-                 $setmeal[$key]->expense = config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_discount_value_type')==1?$val->expense/100*config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_discount_value'):$val->expense-config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_discount_value');
 
-             }
 
-             $setmeal[$key]->service_points = round($setmeal[$key]->expense*config('aix.companyset.points.points_set.payment_rate'));
 
-         }
 
-         $result = [
 
-             'user'=>$user,
 
-             'mySetmeal'=>$mySetmeal,
 
-             'myPoints'=>$myPoints,
 
-             'setmeal'=>$setmeal,
 
-         ];
 
-         return $result;
 
-     }
 
-     /**设置套餐
 
-      * @param $user
 
-      * @param $setmeal_id
 
-      * @return array
 
-      * @params 用来传递参数,后台修改到期时间,希望设置开始时间维当日期 by 李艳
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      * $params 参数使用地方 app/Admin/Controllers/Company/MembersSetmealController.php@update()
 
-      */
 
-     public function setMembersSetmeal($user, $setmeal_id,$params=null)
 
-     {
 
-         $setmeal = $this->setmealRepository->getOneSetmeal($setmeal_id);
 
-         if (!$setmeal) {
 
-             return ['status'=>0,'msg'=>'请选择正确的套餐'];
 
-         }
 
-         $mysetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         /**
 
-          * 9月11日发现BUG
 
-          * 当上个套餐,是免费会员的时候,并且结束时间是0,在此处转成时间戳的时候就会发生令人窒息的1970年
 
-          */
 
-         $before_end_time=$mysetmeal->endtime; //我现在的套餐的到期时间
 
-         if ($before_end_time==0){
 
-             $before_end_time=time();
 
-         }else{ //有老的异常数据,1970年的
 
-             if ($before_end_time<MembersSetmeal::ERROR_TIME){
 
-                 $before_end_time=time();//直接开始时间就是现在吧
 
-             }
 
-         }
 
-         $sqlData['starttime']=$before_end_time;
 
-         $sqlData['expire'] = 0;//如果$setmeal->is_free==1,说明是到期自动变为免费会员,标记过期 --- 其他会员降级 到期字段不变
 
-         $sqlData['setmeal_id'] = $setmeal->id;
 
-         $sqlData['setmeal_name'] = $setmeal->setmeal_name;
 
-         $sqlData['days'] = $setmeal->days;
 
-         if (!empty($params) && isset($params['starttime'])){ //传过来的是设置指定的开始时间
 
-             $sqlData['starttime']=$params['starttime'];
 
-         }
 
-         if ($setmeal->days > 0) {
 
-             //如果套餐未到期,判断是否叠加套餐服务时间
 
-             //配置文件开启套餐时间叠被动模式
 
-             if (config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition_time') == 1) {
 
-                 $sqlData['endtime'] = strtotime("+{$setmeal->days} day",$sqlData['starttime']);
 
-             } else {
 
-                 $sqlData['endtime'] = strtotime("".$setmeal->days." days");
 
-             }
 
-         } else {
 
-             $sqlData['endtime'] = 0;
 
-         }
 
-         $sqlData['expense']=$setmeal['expense'];
 
-         $sqlData['jobs_meanwhile'] = $setmeal->jobs_meanwhile;
 
-         $sqlData['refresh_jobs_free'] = $setmeal->refresh_jobs_free;
 
-         $sqlData['jobfair_num'] = $setmeal->jobfair_num;//招聘会场次
 
-         $sqlData['download_resume'] = $setmeal->download_resume;
 
-         //掠过免费会员
 
-         if ($setmeal_id!=MembersSetmeal::FREE_SetMember){
 
-             if (config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition') == 1) { //如果开通服务时叠加项目,就减掉已发布的职位数
 
-                 $map['company_id'] = $user->id;
 
-                 $sqlData['download_resume']=$mysetmeal->download_resume+$setmeal->download_resume;
 
-                 $sqlData['jobfair_num'] = $mysetmeal->jobfair_num+$setmeal->jobfair_num;//招聘会场次
 
-                 $sqlData['jobs_meanwhile'] = $mysetmeal->jobs_meanwhile+$setmeal->jobs_meanwhile;
 
-             }
 
-         }
 
-         $sqlData['download_resume_max'] = $setmeal->download_resume_max;
 
-         $sqlData['added'] = $setmeal->added;
 
-         $sqlData['setmeal_img'] = $setmeal->setmeal_img;
 
-         $sqlData['show_apply_contact'] = $setmeal->show_apply_contact;
 
-         $sqlData['is_free'] = $setmeal->is_free;
 
-         $sqlData['discount_download_resume'] = $setmeal->discount_download_resume;
 
-         $sqlData['discount_sms'] = $setmeal->discount_sms;
 
-         $sqlData['discount_stick'] = $setmeal->discount_stick;
 
-         $sqlData['discount_emergency'] = $setmeal->discount_emergency;
 
-         $sqlData['discount_tpl'] = $setmeal->discount_tpl;
 
-         $sqlData['discount_auto_refresh_jobs'] = $setmeal->discount_auto_refresh_jobs;
 
-         $sqlData['discount_auto_refresh_jobs'] = $setmeal->discount_auto_refresh_jobs;
 
-         $sqlData['discount_auto_refresh_jobs'] = $setmeal->discount_auto_refresh_jobs;
 
-         $sqlData['discount_auto_refresh_jobs'] = $setmeal->discount_auto_refresh_jobs;
 
-         $setmeal_jobs['setmeal_deadline']=$sqlData['endtime'];
 
-         $setmeal_jobs['deadline']=$setmeal_jobs['setmeal_deadline'];
 
-         $setmeal_jobs['setmeal_id']=$sqlData['setmeal_id'];
 
-         $setmeal_jobs['setmeal_name']=$sqlData['setmeal_name'];
 
-         DB::beginTransaction();//检查数据库事务(有错)
 
-         try{
 
-             //检查套餐的开始时间和结束时间是否正常
 
-             if($sqlData["starttime"]<MembersSetmeal::ERROR_TIME ||
 
-               ($sqlData["endtime"]<MembersSetmeal::ERROR_TIME && $sqlData["endtime"]!=0))
 
-             {
 
-                 throw new \Exception('系统出现异常!,请联系管理员!');
 
-             }
 
-             if (!$this->memberSetmealRepository->updateSetmeal($sqlData, $mysetmeal->id)) {
 
-                 throw new \Exception('更新会员套餐失败!');
 
-             }
 
-             //删除 是否过期 以及套餐图标
 
-             unset($sqlData['expire']);
 
-             unset($sqlData['setmeal_img']);
 
-             unset($sqlData['setmeal_deadline']);
 
-             $sqlData['uid'] = $user->id;
 
-             $sqlData['utype'] = $user->utype;
 
-             //往套餐记录里头添加
 
-             if($this->memberSetmealRecordRepository->create($sqlData)===false){
 
-                 throw new \Exception('添加记录失败!');
 
-             }
 
-             //如果套餐有赠送积分,则直接更新用户积分表
 
-             if ($setmeal->set_points) {
 
-                 $this->memberPointRepository->reportDeal($user->id, $user->utype, 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_id!=1 && config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition') == 1){
 
-                 $this->companyRepository->updataSmsNum($user->id, 1, $setmeal->set_sms);
 
-             }else{
 
-                 $this->companyRepository->SetSmsNum($user->id,$setmeal->set_sms);
 
-             }
 
-             $this->companyRepository->update(['setmeal_id'=>$setmeal->id, 'setmeal_name'=>$setmeal->setmeal_name], $user->id);
 
-             event_search_update(Company::class, (string)$user->id, 'update');
 
-             $this->jobsRepository->updateMap($user->id, $setmeal_jobs);
 
-             $condition = [['where', 'company_id', $user->id]];
 
-             event_search_update(Jobs::class, $condition, 'update');
 
-             //检查在招职位数是否超出限额,并根据后台配置做关闭处理
 
-             $this->checkJobsMeanwhile($user->id, $setmeal->jobs_meanwhile);
 
-             DB::commit();
 
-             return ['status'=>1];
 
-         }catch (\Exception $exception){
 
-             DB::rollBack();
 
-             return ['status'=>0,'msg'=>$exception->getMessage()];
 
-         }
 
-     }
 
-     /**设置免费会员套餐到期
 
-      * @param $user
 
-      * @param $setmeal_id
 
-      * @return array
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     public function setFreeMembersSetmeal($user)
 
-     {
 
-         $mysetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         if (!$this->memberSetmealRepository->updateSetmeal(['expire'=>1], $mysetmeal->id)) {
 
-             return ['status'=>0,'msg'=>'更新会员套餐失败!'];
 
-         }else{
 
-             return ['status'=>1];
 
-         }
 
-     }
 
-     /**处理职位
 
-      * @param $uid
 
-      * @param $num
 
-      */
 
-     public function checkJobsMeanwhile($uid, $num)
 
-     {
 
-         if (config('aix.companyset.setmeal_com.setmeal_com_set.hold_beyond_jobs') == 0) {
 
-             $yid = [];
 
-             $com_ids = [];
 
-             $jobs = $this->jobsRepository->jobsSelect($uid);
 
-             if (count($jobs) >$num) {
 
-                 foreach ($jobs as $key => $val) {
 
-                     if ($key >= $num) {
 
-                         $yid[] = $val->id;
 
-                         $com_ids[] = $val->company_id;
 
-                     }
 
-                 }
 
-             }
 
-             if (!empty($yid)) {
 
-                 $this->jobsRepository->closeJobs($yid);
 
-                 $condition = [['whereIn','id', $yid]];
 
-                 event_search_update(Jobs::class, $condition, 'update');
 
-                 event_search_update(Company::class, [['whereIn','id', $com_ids]], 'update');
 
-             }
 
-         }
 
-     }
 
-     /**更新订单号
 
-      * @param $order_insert_id
 
-      * @param $oid
 
-      * @return mixed
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     public function updateOid($order_insert_id, $oid)
 
-     {
 
-         $data['oid'] = $oid;
 
-         return $this->orderRepository->update($data, $order_insert_id);
 
-     }
 
-     /**支付成功页面
 
-      * @param $oid
 
-      * @return array
 
-      * @throws ResponseException
 
-      */
 
-     public function setmealFinish($oid)
 
-     {
 
-         if (!$oid) {
 
-             throw new ResponseException('订单ID有误', '', 404);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $order = $this->orderRepository->getOneOder($oid);
 
-         if (!$order) {
 
-             throw new ResponseException('参数错误', '', 404);
 
-         }
 
-         $mysetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         if (!$mysetmeal) {
 
-             throw new ResponseException('您的套餐信息有误', '', 404);
 
-         }
 
-         switch ($order->order_type){
 
-             case 1: //套餐升级
 
-                 $setmealIncr=$this->setmealRepository->find($order->setmeal);
 
-                 $setmealIncrDay=$setmealIncr->days;
 
-                 //理因到期时间
 
-                 $expireTimeBase=date("Y-m-d h:i:s",strtotime("+{$setmealIncrDay} day",$order->payment_time));
 
-                 $res['expireTime']=$expireTimeBase;
 
-                 break;
 
-             case 16:case 7:case 14:case 2:case 10:case 5://充值积分 随着会员到期而到期
 
-             $setmealIncrDay="无期限";
 
-             break;
 
-             case 15:
 
-             $setmealIncrDay="无期限";
 
-             break;
 
-             case 8:
 
-             case 9:
 
-             case 12:
 
-             case 13:
 
-                 $setmealIncr=$this->setmealIncrementsRepository->find($order->setmeal);
 
-                 $setmealIncrDay=$setmealIncr->value;
 
-                 //理因到期时间
 
-                 $expireTimeBase=date("Y-m-d H:i:s",strtotime("+{$setmealIncrDay} day",$order->payment_time));
 
-                 $expireTime=strtotime($expireTimeBase);
 
-                 //我会员的结束时间小于套餐的到期时间
 
-                 if (strtotime($expireTimeBase)>strtotime($mysetmeal->endtime)) {
 
-                     $expireTime=strtotime($mysetmeal->endtime);
 
-                 }
 
-                 if($mysetmeal->endtime==0){//免费的
 
-                     $expireTime=strtotime($expireTimeBase);
 
-                 }
 
-                 $res['expireTime']=date("Y-m-d H:i:s",$expireTime);
 
-                 break;
 
-             default:
 
-                 $setmealIncrDay="--";
 
-                 break;
 
-         }
 
-         $endtime = strtotime($mysetmeal->endtime) == 0?"永久":date('Y-m-d', strtotime($mysetmeal->endtime));
 
-         $res = [
 
-             'mysetmeal'=>$mysetmeal,
 
-             'order'=>$order,
 
-             'endtime'=>$endtime,
 
-             'open_time'=>date("Y-m-d H:i:s",$order->payment_time),
 
-             'setmealIncrDay'=>$setmealIncrDay
 
-         ];
 
-         return $res;
 
-     }
 
-     /**各项增值服务
 
-      * @return array
 
-      */
 
-     public function increment($user)
 
-     {
 
-         $cat = $this->setmealIncrementsRepository->getIncrementCategory();
 
-         $result = [];
 
-         $category = [];
 
-         foreach ($cat as $key => $val) {
 
-             $category[$val->cat] = $val->cat;
 
-             if ($val->cat=='jobs' || $val->cat=='jobfair_num') {
 
-                 $result[$val->cat] = 0;
 
-             } else {
 
-                 $result[$val->cat] =$this->setmealRepository->getMaxDiscount($val->cat);
 
-             }
 
-         }
 
-         $member_setmeal = 0;
 
-         $memberSetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         if($memberSetmeal){
 
-             $member_setmeal = $memberSetmeal->discount_tpl;
 
-         }
 
- //        $result['download_resume'] =$this->setmealRepository->getMaxDiscount('download_resume');
 
- //        $result['sms'] =$this->setmealRepository->getMaxDiscount('sms');
 
- //        $result['jobs_num'] =$this->setmealRepository->getMaxDiscount('jobs_num');
 
- //        $result['jobfair_num'] =$this->setmealRepository->getMaxDiscount('jobfair_num');
 
- //        $result['stick'] =$this->setmealRepository->getMaxDiscount('stick');
 
- //        $result['emergency'] =$this->setmealRepository->getMaxDiscount('emergency');
 
- //        $result['tpl'] =$this->setmealRepository->getMaxDiscount('tpl');
 
- //        $result['auto_refresh_jobs'] =$this->setmealRepository->getMaxDiscount('auto_refresh_jobs');
 
- //        return $result;
 
-         return $res=['result'=>$result,'category'=>$category,'member_setmeal'=>$member_setmeal];
 
-     }
 
-     /**增值服务提示框
 
-      * @return array
 
-      */
 
-     public function confirmPayIncrement($user)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $mysetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         $setmeal_end_days = '永久';
 
-         if (strtotime($mysetmeal->endtime) == 0) {
 
-             $tip = '您当前【'.$mysetmeal->setmeal_name.'】有效期 '.date('Y-m-d', $mysetmeal->starttime).'至永久。增值包有效期与会员有效期一致('.$setmeal_end_days.'),是否继续购买增值包?';
 
-         } else {
 
-             if (strtotime($mysetmeal->endtime) > time()) {
 
-                 $sub_day = sub_day(strtotime($mysetmeal->endtime), time());
 
-                 $sub_day = preg_replace('/(\d+)/', '<span class="font_yellow">\1</span>', $sub_day);
 
-                 $setmeal_end_days = $sub_day.'后到期';
 
-             } else {
 
-                 $setmeal_end_days = '已经到期';
 
-             }
 
-             $tip = "您当前【".$mysetmeal->setmeal_name."】有效期".date('Y-m-d', $mysetmeal->starttime)."至".date('Y-m-d', strtotime($mysetmeal->endtime))."。增值包有效期与会员有效期一致(".$setmeal_end_days."),是否继续购买增值包?";
 
-         }
 
-         return ['tip'=>$tip];
 
-     }
 
-     /**单个增值服务包内容
 
-      * @param $cat
 
-      * @param $request
 
-      * @return array
 
-      */
 
-     public function incrementAdd($cat, $request)
 
-     {
 
-         $catData = $this->setmealIncrementsRepository->cate_arr;
 
-         $service_unit = $this->setmealIncrementsRepository->service_unit;
 
-         $user = auth('web-company')->user();
 
-         $mysetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         $mypoints = $this->memberPointRepository->getComPointsById($user->id, $user->utype);
 
-         $increment_rule = [
 
-             'jobs'=>config('aix.companyset.business_set.points_set.jobs_num'),
 
-             'jobfair_num'=>config('aix.companyset.business_set.points_set.jobfair_num'),
 
-             'download_resume'=>config('aix.companyset.business_set.points_set.download_resume'),
 
-             'sms'=>config('aix.companyset.business_set.points_set.sms'),
 
-             'stick'=>config('aix.companyset.business_set.points_set.stick'),
 
-             'emergency'=>config('aix.companyset.business_set.points_set.emergency'),
 
-             'tpl'=>config('aix.companyset.business_set.points_set.tpl'),
 
-             'auto_refresh_jobs'=>config('aix.companyset.business_set.points_set.auto_refresh_jobs')
 
-         ];
 
-         $offline = $this->paymentRepository->findWhere(['alias'=>'offline']);
 
-         $online = $this->paymentRepository->findWhere([['alias','<>','offline']]);
 
-         foreach ($offline as $key => &$val) {
 
-             if (!config("aix.system.pay.{$val->alias}.is_on")) {
 
-                 unset($offline[$key]);
 
-             }
 
-         }
 
-         foreach ($online as $key => &$val) {
 
-             if (!config("aix.system.pay.{$val->alias}.is_on")) {
 
-                 unset($online[$key]);
 
-             }
 
-         }
 
-         if ($cat == 'tpl') {
 
-             $request_tpl = isset($request['tpl_id']) ? $request['tpl_id'] : 0;
 
-             $cate_arr = $this->incrementAddTpl($mysetmeal, $request_tpl);
 
-         } else {
 
-             $cate_arr = $this->incrementAddNormal($cat, $mysetmeal);
 
-         }
 
-         $result = [
 
-             'user'=>$user,
 
-             'mysetmeal'=>$mysetmeal,
 
-             'cate_arr'=>$cate_arr,
 
-             'catData'=>$catData,
 
-             'service_unit'=>$service_unit,
 
-             'cat'=>$cat,
 
-             'increment_rule'=>$increment_rule,
 
-             'online'=>$online,
 
-             'offline'=>$offline,
 
-             'mypoints'=>$mypoints,
 
-         ];
 
-         return $result;
 
-     }
 
-     /**
 
-      * 购买增值包 - 普通增值服务
 
-      */
 
-     protected function incrementAddNormal($cat, $mysetmeal)
 
-     {
 
-         $cate_arr = $this->setmealIncrementsRepository->findByField(['cat'=>$cat]);
 
-         foreach ($cate_arr as $key => $val) {
 
-             //如果是非免费套餐
 
-             if ($mysetmeal->is_free == 0) {
 
-                 $discount = $this->setmealRepository->getIncrementDiscountByArray($cat, $mysetmeal);
 
-                 //当前基础套餐套餐需要付的价格,如果折扣为0,则价格与原始价格一致
 
-                 $cate_arr[$key]->my_price = $discount>0?round($val->price*$discount/10, 2):$val->price;
 
-                 //当前基础套餐的对应的折扣
 
-                 $cate_arr[$key]->my_discount = $discount;
 
-                 //单条价格
 
-                 $cate_arr[$key]->my_unit_price = round($cate_arr[$key]->my_price/$val->value, 2);
 
-                 //节省的数
 
-                 $cate_arr[$key]->my_saved_price = $val->price-$cate_arr[$key]->my_price;
 
-             } else {
 
-                 $free_discount = $this->setmealRepository->getIncrementDiscountByArray($cat, $mysetmeal);
 
-                 //免费会员需要付的价格
 
-                 $cate_arr[$key]->my_price = $free_discount>0?round($val->price*$free_discount/10, 2):$val->price;
 
-                 //免费会员单条价格
 
-                 $cate_arr[$key]->my_unit_price = round($cate_arr[$key]->my_price/$val->value, 2);
 
-                 //VIP会员价格,取出折扣最大的套餐折扣
 
-                 $vip_discount = $this->setmealRepository->getMaxDiscount($cat);
 
-                 $cate_arr[$key]->vip_price = intval($vip_discount)>0?round($val->price*$vip_discount/10, 2):$val->price;
 
-                 //VIP会员单条价格
 
-                 $cate_arr[$key]->vip_unit_price = round($cate_arr[$key]->vip_price/$val->value, 2);
 
-             }
 
-             //换算积分
 
-             $cate_arr[$key]->need_points = round($cate_arr[$key]->my_price*config('aix.companyset.points.points_set.payment_rate')); // 原为round()
 
-         }
 
-         $jobs_list = [];
 
-         if ($cat=='stick' || $cat=='emergency' || $cat=='auto_refresh_jobs') {
 
-             $jobs_where['company_id'] = auth('web-company')->user()->id;
 
-             config('aix.companyset.comset.show_set.jobs_display') == 1 ? $jobs_where['audit'] = 1 : $jobs_where[] = ['audit','<>',3];
 
-             $jobs_where['valid'] = 1;
 
-             $jobs_list = $this->jobsRepository->findWhere($jobs_where);
 
-             if ($cat == 'auto_refresh_jobs') {
 
-                 foreach ($jobs_list as $key => $val) {
 
-                     $condition['pid'] = $val->id;
 
-                     $condition['type'] = 1;
 
-                     $condition['utype'] = auth('web-company')->user()->utype;
 
-                     $has_auto = $this->queueAutoRefreshRepository->findData($condition);
 
-                     $jobs_list[$key]->auto_refresh = $has_auto?1:0;
 
-                 }
 
-             }
 
-         }
 
-         $buy_cn = '';
 
-         switch ($cat) {
 
-             case 'stick':
 
-                 $buy_cn = '置顶';
 
-                 break;
 
-             case 'emergency':
 
-                 $buy_cn = '紧急';
 
-                 break;
 
-             case 'jobs':
 
-                 $buy_cn = '职位增值包';
 
-                 break;
 
-             case 'jobfair_num':
 
-                 $buy_cn = '招聘会场次';
 
-                 break;
 
-         }
 
-         return [
 
-             'cate_arr'=>$cate_arr,
 
-             'jobs_list'=>$jobs_list,
 
-             'buy_cn'=>$buy_cn,
 
-         ];
 
-     }
 
-     /**购买增值包 - 模版服务
 
-      * @param int $request_tpl
 
-      * @return bool
 
-      */
 
-     public function incrementAddTpl($mysetmeal, $request_tpl = 0)
 
-     {
 
-         if ($request_tpl >0) {
 
-             $condition['id'] = $request_tpl;
 
-         } else {
 
-             $condition['tpl_type'] = 1;
 
-         }
 
-         $cate_arr =$this->tplRepository->findTpl($condition);
 
-         foreach ($cate_arr as $key => $val) {
 
-             $discount = $this->setmealRepository->getIncrementDiscountByArray('tpl', $mysetmeal);
 
-             //当前基础套餐套餐需要付的价格,如果折扣为0,则价格与原始价格一致
 
-             $cate_arr[$key]->my_price = $discount>0?round($val->price/config('aix.companyset.points.points_set.payment_rate')*$discount/10, 2):($val->price/config('aix.companyset.points.points_set.payment_rate'));
 
-             //当前基础套餐的对应的折扣
 
-             $cate_arr[$key]->my_discount = $discount;
 
-             //换算积分
 
-             $cate_arr[$key]->need_points = $discount>0?round($val->price*$discount/10):$val->price; //原为round()
 
-             $cate_arr[$key]->id = $val->id;
 
- //            $cate_arr[$key]->thumb_dir = $val->dir;//模版位置
 
-         }
 
-         return ['cate_arr'=>$cate_arr];
 
-     }
 
-     public function pointsAdd()
 
-     {
 
-         $payment = $this->paymentRepository->get();
 
-         foreach ($payment as $key => $val) {
 
-             if (!config("aix.system.pay.{$val->alias}.is_on")) {
 
-                 unset($payment[$key]);
 
-             }
 
-         }
 
-         $result = [
 
-             'payment'=>$payment,
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return $result;
 
-     }
 
-     /**计算天数
 
-      * @param $days
 
-      * @return string
 
-      */
 
-     protected function formatDays($days)
 
-     {
 
-         if ($days < 30) {
 
-             return $days . '天';
 
-         } else {
 
-             return intval($days / 30) . '个月';
 
-         }
 
-     }
 
-     //添加会员操作日志
 
-     public function writeMembersLog($user, $type, $log_value)
 
-     {
 
-         return $this->memberLogRepository->createLog($user, $type, $log_value);
 
-     }
 
-     //添加积分操作日志
 
-     public function writeMemberHandselLog($data)
 
-     {
 
-         return $this->memberHandselRepository->create($data);
 
-     }
 
-     //清除积分
 
-     public function clearPoint($uid){
 
-         if (config("aix.companyset.points.points_set.clear_points")==1){
 
-             $point=$this->memberPointRepository->getPointsOne($uid,1);
 
-             if (empty($point->points)){ //如果积分就是空,就不清空了
 
-                 return null;
 
-             }
 
-             $this->memberPointRepository->updateNew($uid,1,['points'=>0]);
 
-             try{
 
-                 //添加消除记录
 
-                 $this->memberHandselRepository->addNew(['uid'=>$uid,'utype'=>1,
 
-                     "htype"=>"points_clear",
 
-                     "htype_cn"=>"套餐到期,清空积分",
 
-                     "operate"=>"2","points"=>$point->points]);
 
-             }catch (\Exception $exception){
 
-             }
 
-         }
 
-     }
 
-     //检查套餐到期的问题
 
-     public function checkMemberSetmeal(){
 
-         $condition = [
 
-             ['endtime','>', time()],//到期时间大于当前时间
 
-             ['utype','=',1],
 
-             ['expire','=',1]
 
-         ];
 
-         $or=[
 
-             ['endtime',0],
 
-             ['utype','=',1],
 
-             ['expire','=',1]
 
-         ];
 
-         $list = $this->memberSetmealRepository->checkSetmeals($condition,$or);
 
-         if (!empty($list)){
 
-             foreach ($list as $item) {
 
-                 $log=[
 
-                     'item'=>$item,
 
-                     'action'=>"修改了套餐是否到期"
 
-                 ];
 
-                 $this->memberLogRepository->addDebugLog($log);
 
-                 $this->memberSetmealRepository->updateSetmeal(['expire'=>0],$item->id);
 
-             }
 
-         }
 
-         return $list;
 
-     }
 
- }
 
 
  |