| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2018/11/16
 
-  * Time: 11:17
 
-  */
 
- namespace App\Http\Controllers\Mobile\Company;
 
- use Aix\Pay\Data\PayOrder;
 
- use App\Exceptions\ResponseException;
 
- use App\Http\Controllers\Mobile\MobileBaseController;
 
- use App\Models\Jobs;
 
- use App\Repositories\JobsRepository;
 
- use App\Repositories\MemberHandselRepository;
 
- use App\Repositories\MemberLogRepository;
 
- use App\Repositories\MembersChargeLogRepository;
 
- use App\Repositories\PromotionRepository;
 
- use App\Repositories\QueueAutoRefreshRepository;
 
- use App\Repositories\SetmealIncrementsRepository;
 
- use App\Repositories\TaskLogRepository;
 
- use App\Services\Common\MembersSetmealService;
 
- use App\Services\Common\OrderService;
 
- use App\Services\Common\PaymentService;
 
- use App\Services\Common\PayService;
 
- use App\Services\Common\SetmealIncrementsService;
 
- use App\Services\Common\SetmealService;
 
- use App\Services\Company\CompanyService;
 
- use App\Services\Company\ServiceService;
 
- use App\Services\Person\MemberPointService;
 
- use Illuminate\Http\Request;
 
- use Illuminate\Support\Facades\DB;
 
- use Illuminate\Support\Facades\Log;
 
- use SimpleSoftwareIO\QrCode\Facades\QrCode;
 
- class ServiceController extends MobileBaseController
 
- {
 
-     protected $serviceService;
 
-     protected $membersSetmealService;
 
-     protected $payService;
 
-     protected $setmealService;
 
-     protected $memberPointService;
 
-     protected $orderService;
 
-     protected $memberLogRepository;
 
-     protected $memberHandselRepository;
 
-     protected $membersChargeLogRepository;
 
-     protected $paymentService;
 
-     protected $setmealIncrementsService;
 
-     protected $companyService;
 
-     protected $queueAutoRefreshRepository;
 
-     protected $jobsRepository;
 
-     protected $promotionRepository;
 
-     protected $setmealIncrementsRepository;
 
-     protected $taskLogRepository;
 
-     /**
 
-      * ServiceController constructor.
 
-      * @param $serviceService
 
-      * @param $membersSetmealService
 
-      * @param $payService
 
-      * @param $setmealService
 
-      * @param $memberPointService
 
-      * @param $orderService
 
-      * @param $memberLogRepository
 
-      * @param $memberHandselRepository
 
-      * @param $membersChargeLogRepository
 
-      * @param $paymentService
 
-      * @param $setmealIncrementsService
 
-      * @param $companyService
 
-      * @param $queueAutoRefreshRepository
 
-      * @param $jobsRepository
 
-      * @param $promotionRepository
 
-      * @param $setmealIncrementsRepository
 
-      * @param $taskLogRepository
 
-      */
 
-     public function __construct(ServiceService $serviceService,TaskLogRepository $taskLogRepository, SetmealIncrementsRepository $setmealIncrementsRepository, PromotionRepository $promotionRepository, JobsRepository $jobsRepository, QueueAutoRefreshRepository $queueAutoRefreshRepository, CompanyService $companyService, SetmealIncrementsService $setmealIncrementsService, PaymentService $paymentService, MembersChargeLogRepository $membersChargeLogRepository, MemberHandselRepository $memberHandselRepository, MemberLogRepository $memberLogRepository, OrderService $orderService, MemberPointService $memberPointService, MembersSetmealService $membersSetmealService, PayService $payService, SetmealService $setmealService)
 
-     {
 
-         $this->serviceService = $serviceService;
 
-         $this->membersSetmealService = $membersSetmealService;
 
-         $this->payService = $payService;
 
-         $this->setmealService = $setmealService;
 
-         $this->memberPointService = $memberPointService;
 
-         $this->orderService = $orderService;
 
-         $this->memberLogRepository = $memberLogRepository;
 
-         $this->memberHandselRepository = $memberHandselRepository;
 
-         $this->membersChargeLogRepository = $membersChargeLogRepository;
 
-         $this->paymentService = $paymentService;
 
-         $this->setmealIncrementsService = $setmealIncrementsService;
 
-         $this->companyService = $companyService;
 
-         $this->queueAutoRefreshRepository = $queueAutoRefreshRepository;
 
-         $this->jobsRepository = $jobsRepository;
 
-         $this->promotionRepository = $promotionRepository;
 
-         $this->setmealIncrementsRepository = $setmealIncrementsRepository;
 
-         $this->taskLogRepository = $taskLogRepository;
 
-     }
 
-     /**我的套餐
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function index()
 
-     {
 
-         $user = auth('web-company')->user();//企业信息
 
-         $res = $this->serviceService->index($user);
 
-         return view('mobile.app.company.service.setmeal.index', $res);
 
-     }
 
-     public function setmealDetail(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();//企业信息
 
-         $res = $this->serviceService->setmealDetail($request->all(), $user);
 
-         if ($request->ajax()) {
 
-             if ($res['setmealDetail']->lastPage() < $res['setmealDetail']->currentPage()) {
 
-                 return response()->json(['status'=>0]);
 
-             }
 
-             return response()->json(['status'=>1,'data'=>view('mobile.app.company.service.setmeal.ajax.ajax_setmeal_detail', ['setmealDetail'=>$res['setmealDetail']])->render()]);
 
-         }
 
-         $res['wap_title']='我的套餐';
 
-         return view('mobile.app.company.service.setmeal.setmeal_detail', $res);
 
-     }
 
-     /**积分任务
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function points()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $myPoints = $this->memberPointService->getPoints($user->id, 1);
 
-         $signCount = $this->taskLogRepository->getTaskLogCount($user->id, 18, $user->utype);
 
-         $res = [
 
-             'myPoints' =>$myPoints,
 
-             'signCount' =>$signCount,
 
-             'wap_title'=>'我的积分'
 
-         ];
 
-         return view('mobile.app.company.service.points.index', $res);
 
-     }
 
-     public function pointsTask()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $res = $this->serviceService->points($user, 1);
 
-         $res['wap_title'] ='积分任务';
 
-         return view('mobile.app.company.service.points.points_task', $res);
 
-     }
 
-     /**积分明细
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      * @throws \Throwable
 
-      */
 
-     public function pointsDetail(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $type = $request->type?$request->type:1;
 
-         $res = $this->serviceService->pointsDetail($type, $user);
 
-         if ($request->ajax()) {
 
-             if ($res['content']->lastPage() < $res['content']->currentPage()) {
 
-                 return response()->json(['status'=>0]);
 
-             }
 
-             return response()->json(['status'=>1,'data'=>view('mobile.app.company.service.points.ajax.ajax_points_list', ['content'=>$res['content'],'type'=>$res['type']])->render()]);
 
-         }
 
-         $res['wap_title']='积分明细';
 
-         return view('mobile.app.company.service.points.points_list', $res);
 
-     }
 
-     /**套餐升级
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function setmealAdd()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $setmeal = $this->serviceService->setmealAddMobile($user);
 
-         $setmeal['wap_title'] = '套餐升级';
 
-         if (request()->ajax()) {
 
-             return response()->json(['status'=>1,'data'=>$setmeal]);
 
-         }
 
-         return view('mobile.app.company.service.setmeal.setmeal_add', $setmeal);
 
-     }
 
-     /**套餐弹窗
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function paySetmeal()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $mysetmeal = $this->membersSetmealService->getSetmealByUid($user->id, $user->utype);
 
-         if (config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition') == 0 && config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition_time') == 0) {   //项目和时间都不叠加
 
-             $tip = '您当前是【' . $mysetmeal->setmeal_name . '】重新开通套餐<br /><span class="font_yellow">1. 原有套餐资源以新开套餐资源为准;</span><br /><span class="font_yellow">2. 原有会员服务时长以新开套餐时长为准;</span><br />确定要重新开通套餐吗?';
 
-         } elseif (config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition') == 0 && config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition_time') == 1) { //项目不叠加时间叠加
 
-             $tip = '您当前是【' . $mysetmeal->setmeal_name . '】重新开通套餐<br /><span class="font_yellow">您的原套餐资源会被新开通的套餐资源覆盖</span><br />确定要重新开通套餐吗?';
 
-         } elseif (config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition') == 1 && config('aix.companyset.setmeal_com.setmeal_com_set.is_superposition_time') == 0) { //项目叠加时间不叠加
 
-             $tip = '您当前是【' . $mysetmeal->setmeal_name . '】重新开通套餐<br /><span class="font_yellow">您的会员服务时长将以新开套餐服务时长为准</span><br />确定要重新开通套餐吗?';
 
-         } else {
 
-             $tip = '您当前是【' . $mysetmeal->setmeal_name . '】重新开通套餐<br /><span class="font_yellow">您的套餐资源和会员时长将叠加</span><br />确定要重新开通套餐吗?';
 
-         }
 
-         return response()->json(['status' => 1, 'data' => ['html' => view('app.company.ajax.ajax_warning', ['tip' => $tip])->render()]]);
 
-     }
 
-     /**会员套餐
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     public function setmealAddSave(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         //检查未处理订单数
 
-         $order_pay_type = 1;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $setmeal_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         if ($is_deductible == 0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = $request->input('amount', '');
 
-         if ($amount == 0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($setmeal_id == 0) {
 
-             return response()->json(['status' => 0, 'msg' => "请选择套餐"]);
 
-         }
 
-         $setmealInfo = $this->setmealService->getSetmealOne($setmeal_id);//套餐详情
 
-         $mypoints = $this->memberPointService->getPoints($user->id, $user->utype);
 
-         $amount = $setmealInfo->expense;
 
-         $service_need_points = round($amount * config('aix.companyset.points.points_set.payment_rate'));
 
-         if (!config('aix.companyset.setmeal_com.setmeal_com_set.setmeal_by_points')) {
 
-             $is_deductible = 0;
 
-             $deductible = 0;
 
-             $pay_type = 'cash';
 
-         }
 
-         if ($pay_type == 'points') {
 
-             DB::beginTransaction();
 
-             try {
 
-                 if ($mypoints->points < $service_need_points) {
 
-                     throw new \Exception('积分不足,请使用其他方式支付!');
 
-                 }
 
-                 $set_setmeal = $this->serviceService->setMembersSetmeal($user, $setmeal_id);
 
-                 if (!$set_setmeal['status']) {
 
-                     throw new \Exception($set_setmeal['msg']);
 
-                 }
 
-                 $description = '购买服务:' . $setmealInfo->setmeal_name . ';积分支付:' . $service_need_points . "积分";
 
-                 $order = $this->orderService->addOrder($user, 1, $setmealInfo->expense, 0, $service_need_points, $setmealInfo->setmeal_name, 'points', '积分支付', $description, 2, 0, $setmeal_id, time(), '');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //生成会员日志
 
-                 $this->memberLogRepository->createLog($user, 9001, [$oid, '积分支付','']);
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'points_buy_setmeal';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $setmealInfo->setmeal_name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $setmealInfo->setmeal_name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status' => 0, 'msg' => $e->getMessage()]);
 
-             }
 
-             return response()->json(['status' => 1, 'data' => $oid]);
 
-         } else {
 
-             if ($is_deductible == 1 && $mypoints->points < $deductible) {
 
-                 throw new ResponseException('积分不足,请使用其他方式支付!');
 
-             }
 
-             if ($is_deductible == 1 && $deductible > 0) {
 
-                 $description = $setmealInfo->setmeal_name . ';积分抵扣:' . $deductible . '积分';
 
-             }
 
-             //移动端啥折扣都不打 🤪
 
-             $service_need_cash=$setmealInfo->expense;
 
-             $points_price=round($deductible/config('aix.companyset.points.points_set.payment_rate'),2); //积分抵扣的钱
 
-             $service_need_cash-=$points_price;//都需要减去积分抵扣的钱
 
-             $service_need_cash=round($service_need_cash,2);
 
-             $paysetarr['ordtotal_fee'] = $service_need_cash;
 
-             $payment = $this->paymentService->returnPayment($payment_name);
 
-             $description = '购买服务:' . $setmealInfo->setmeal_name . ';' . $payment->name . $paysetarr['ordtotal_fee'];
 
-             if ($deductible > 0 && $is_deductible == 1) {
 
-                 $description .= ';积分支付:' . $deductible . '积分';
 
-             }
 
-             $params = [
 
-                 'setmeal_id'=>$setmealInfo->id,
 
-                 'setmeal_name'=>$setmealInfo->setmeal_name,
 
-                 'company_id'=>$user->id,
 
-                 'utype'=>$user->utype,
 
-                 'companyname'=>$user->companyname,
 
-                 'amount'=>$paysetarr['ordtotal_fee'],
 
-                 'points'=>$deductible,
 
-                 'payment'=>$payment_name,
 
-                 'username'=>$user->username,
 
-                 'subsite_id'=>$user->subsite_id,
 
-             ];
 
-             $insert_id = $this->orderService->addOrder($user, 1, $setmealInfo->expense, $paysetarr['ordtotal_fee'], $deductible, $setmealInfo->setmeal_name, $payment_name, $payment->name, $description, 1, $deductible, $setmeal_id, 0, serialize($params));
 
-             $tradeNo = $this->payService->getTradeNo($insert_id->id);
 
-             if (!$this->serviceService->updateOid($insert_id->id, $tradeNo)) {
 
-                 throw new ResponseException('生成订单号失败');
 
-             }
 
-             $payOrder = new PayOrder();
 
-             $payOrder->trade_no = $tradeNo;
 
-             $payOrder->subject = '购买' . $setmealInfo->setmeal_name;
 
-             $payOrder->detail = $description;
 
-             $payOrder->price = $paysetarr['ordtotal_fee'] ;
 
-             $payOrder->callback = "App\Services\Common\OrderService.updateCompany";
 
-             if ($payment_name == 'wechat') {
 
-                 if (!is_weixin()) {
 
-                     $type = 'wap';
 
-                 } else {
 
-                     //预留
 
-                     $type="official";
 
-                     $payOrder->openid = $this->payService->getPayOpenid();
 
-                     $payOrder->return_url = route('mobile.firm.service.order.index');
 
-                     $result = $this->payService->pay($payment_name, $type, $payOrder);
 
-                     return response()->json(['status'=>1, 'msg' => $result]);
 
-                 }
 
-                 $payOrder->return_url=route('mobile.common.orderWechat', ['oid'=>$payOrder->trade_no]);
 
-             } else {
 
-                 $type = 'wap';
 
-                 $payOrder->return_url=route('mobile.firm.service.order.index');
 
-             }
 
-             return  $this->payService->pay($payment_name, $type, $payOrder);
 
-         }
 
-     }
 
-     /**订单状态
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      */
 
-     public function checkOrderStatus(Request $request)
 
-     {
 
-         $tradeNo = $request->tradeNo;
 
-         if (!$tradeNo) {
 
-             return response()->json(['status' => 0, 'msg' => "订单号错误!"]);
 
-         }
 
-         return $this->orderService->getOrderbyTradeNo($tradeNo);
 
-     }
 
-     /**
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function paySetmealStatus()
 
-     {
 
-         $tip = '请在新打开的支付页面完成付款';
 
-         $description = '付款完成前请不要关闭此窗口,付款后请根据您的情况点击下面的按钮,如果在支付中遇到问题请到<a target="_blank" href="">帮助中心</a>。';
 
-         return response()->json(['status' => 1, 'html' => view('app.company.ajax.ajax_warning', ['tip' => $tip, 'description' => $description])->render()]);
 
-     }
 
-     /**增值服务
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function increment()
 
-     {
 
-         $res = $this->serviceService->increment(auth('web-company')->user());
 
-         $res['wap_title'] = '增值服务';
 
-         return view('mobile.app.company.service.increment.index', $res);
 
-     }
 
-     /**各增值包
 
-      * @param Request $request
 
-      * @param $cat
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      * @throws ResponseException
 
-      */
 
-     public function incrementAdd(Request $request, $cat)
 
-     {
 
-         switch ($cat) {
 
-             case 'download_resume':
 
-             case 'sms':
 
-             case 'jobs':
 
-             case 'jobfair_num':
 
-                 $display_tpl = "resume_sms";
 
-                 break;
 
-             case 'stick':
 
-             case 'emergency':
 
-                 $display_tpl = 'stick_emergency';
 
-                 break;
 
-             case 'tpl':
 
-                 $display_tpl = 'tpl';
 
-                 break;
 
-             case 'auto_refresh_jobs':
 
-                 $display_tpl = 'auto_refresh_jobs';
 
-                 break;
 
-             default:
 
-                 throw new ResponseException('参数错误');
 
-                 break;
 
-         }
 
-         $res = $this->serviceService->incrementAdd($cat, $request->all());
 
-         return view("app.company.increment.increment_add_{$display_tpl}", $res);
 
-     }
 
-     /**增值服务 === 提示框内容
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function confirmPayIncrement()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $res = $this->serviceService->confirmPayIncrement($user);
 
-         return response()->json(['status'=>1, 'msg'=>'success','data'=>['html'=>view('app.company.ajax.ajax_warning', $res)->render()]]);
 
-     }
 
-     /**增值服务保存
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      */
 
-     public function incrementPaySave(Request $request)
 
-     {
 
-         $service_type = $request->input('service_type', '');
 
-         if (!$service_type) {
 
-             return response()->json(['status'=>0,'msg'=>"参数错误"]);
 
-         }
 
-         switch ($service_type) {
 
-             case 'download_resume':
 
-                 $fun = 'DownloadResume';
 
-                 break;
 
-             case 'sms':
 
-                 $fun = 'Sms';
 
-                 break;
 
-             case 'jobs':
 
-                 $fun = 'Jobs';
 
-                 break;
 
-             case 'jobfair_num':
 
-                 $fun = 'JobfairNum';
 
-                 break;
 
-             case 'stick':
 
-                 $fun = 'Stick';
 
-                 break;
 
-             case 'emergency':
 
-                 $fun = 'Emergency';
 
-                 break;
 
-             case 'tpl':
 
-                 $fun = 'Tpl';
 
-                 break;
 
-             case 'auto_refresh_jobs':
 
-                 $fun = 'AutoRefreshJobs';
 
-                 break;
 
-         }
 
-         $func_name = "increment".$fun;
 
-         $incrment_arr = ['download_resume','jobs','jobfair_num','sms','stick','emergency','tpl','auto_refresh_jobs'];
 
-         if (!in_array($service_type, $incrment_arr)) {
 
-             return response()->json(['status'=>0,'msg'=>"参数错误"]);
 
-         } else {
 
-             return $this->$func_name($request);
 
-         }
 
-     }
 
-     /**简历包
 
-      * @param $request
 
-      * @return array|\Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementDownloadResume($request)
 
-     {
 
-         $cat = $request->input('service_type', 'download_resume');
 
-         $order_pay_type = 6;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', 0);
 
-         }
 
-         $amount = floatval($request->input('amount', 0));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $points_price=round($deductible/config('aix.companyset.points.points_set.payment_rate'),2); //积分抵扣的钱
 
-         /**
 
-          * 修改吴正科的DB 写法
 
-          * 没有折扣价格怎么就变成了原价了,积分不要吗
 
-          * 还有个在配置文件中的购买增值服务优惠
 
-          */
 
-         if ($pay_type=='points') {      //积分支付,就是算出原价*固定折扣*套餐折扣
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //增值包套餐所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' =>'积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 //会员套餐添加增值包数量
 
-                 $setmeal_rst = $this->membersSetmealService->actionUserSetmeal(array('uid'=>$user->id, 'utype'=>1), $cat, 1, $increment_info->value);
 
-                 if (!$setmeal_rst) {
 
-                     throw new \Exception('修改会员套餐失败!');
 
-                 }
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, '', '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_download_resume';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status'=>0, 'msg' => $e->getMessage()]);
 
-             }
 
-             return response()->json(['status'=>1, 'msg' => '积分兑换成功!','data'=>$oid]);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return response()->json(['status'=>1, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, "", $is_deductible, $deductible, '', '', 0, $project_id,$my_discount);
 
-         }
 
-     }
 
-     /**短信包
 
-      * @param $request
 
-      * @return array|\Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementSms($request)
 
-     {
 
-         $cat = $request->input('service_type', 'sms');
 
-         $order_pay_type = 7;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', 0);
 
-         }
 
-         $amount = floatval($request->input('amount', 0.0));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $service_need_cash = $my_discount > 0 ?round($increment_info->price*$my_discount/10, 2):$increment_info->price; //增值包套餐金额
 
-         $points_price=round($deductible/config('aix.companyset.points.points_set.payment_rate'),2); //积分抵扣的钱
 
-         if ($pay_type=='points') {      //积分支付
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //增值包套餐所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 $companySms = $this->companyService->incSms($user->id, 1, $increment_info->value);
 
-                 if (!$companySms) {
 
-                     throw new \Exception('会员短信数量增加失败!');
 
-                 }
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, '', '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_download_resume';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return array( 'status'=>0, 'msg' => $e->getMessage());
 
-             }
 
-             return array( 'status'=>1, 'msg' => '积分兑换成功!','data'=>$oid);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return array( 'status'=>0, 'msg' => '积分不足,请使用其他方式支付!');
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', '', 0, $project_id, $my_discount);
 
-         }
 
-     }
 
-     protected function incrementJobfairNum($request)
 
-     {
 
-         $cat = $request->input('service_type', 'jobfair_num');
 
-         $order_pay_type = 7;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = floatval($request->input('amount', ''));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $service_need_cash = $my_discount > 0 ?round($increment_info->price*$my_discount/10, 2):$increment_info->price; //增值包套餐金额
 
-         if ($pay_type=='points') {      //积分支付
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //增值包套餐所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 $companySms = $this->membersSetmealService->actionUserSetmeal($user->id, 'jobfair_num', 1, $increment_info->value);
 
-                 if (!$companySms) {
 
-                     throw new \Exception('会员招聘会场次数量增加失败!');
 
-                 }
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, '', '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_jobfair_num';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return array( 'status'=>0, 'msg' => $e->getMessage());
 
-             }
 
-             return array( 'status'=>1, 'msg' => '积分兑换成功!','data'=>$oid);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return array( 'status'=>0, 'msg' => '积分不足,请使用其他方式支付!');
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', '', 0, $project_id, '专享'.$my_discount.'折优惠');
 
-         }
 
-     }
 
-     /**购买职位增值包
 
-      * @param $request
 
-      * @return array|\Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementJobs($request)
 
-     {
 
-         $cat = $request->input('service_type', 'jobs');
 
-         $order_pay_type = 7;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points'); //支付类型
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = floatval($request->input('amount', ''));  //这个就是前台传来的应该支付的价格
 
-         if ($amount==0) { //等于0就是积分支付
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         if ($my_discount > 0){
 
-             $service_need_cash=round($increment_info->price*$my_discount/10, 2);
 
-         }else{
 
-             $service_need_cash=$increment_info->price; //增值包套餐金额
 
-         }
 
-         if ($pay_type=='points') {      //积分支付
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //增值包套餐所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 $companySms = $this->membersSetmealService->actionUserSetmeal($user->id, 'jobs_meanwhile', 1, $increment_info->value);
 
-                 if (!$companySms) {
 
-                     throw new \Exception('会员可发布职位数量增加失败!');
 
-                 }
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, '', '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_jobs';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return array( 'status'=>0, 'msg' => $e->getMessage());
 
-             }
 
-             return array( 'status'=>1, 'msg' => '积分兑换成功!','data'=>$oid);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return array( 'status'=>0, 'msg' => '积分不足,请使用其他方式支付!');
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', '', 0, $project_id, $my_discount);
 
-         }
 
-     }
 
-     /**
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * 微信JSAP支付
 
-      */
 
-     public function JSApPay(){
 
-         $payment_name="wechat";
 
-         $type="official";
 
-         $payOrder = new PayOrder();
 
-         $payOrder->trade_no = $this->payService->getTradeNo(100);
 
-         $payOrder->subject = "订单测试";
 
-         $payOrder->openid = $this->payService->getPayOpenid();
 
-         $payOrder->detail = "订单详情";
 
-         $payOrder->price = 0.01;
 
-         $payOrder->callback = "App\Services\Common\OrderService.updateCompany";
 
-         $payOrder->return_url = route('service.order.index');
 
-         $result = $this->payService->pay($payment_name, $type, $payOrder);
 
-         return response()->json($result);
 
-     }
 
-     /**职位置顶
 
-      * @param $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementStick($request)
 
-     {
 
-         $cat = $request->input('service_type', 'stick');
 
-         $order_pay_type = 8;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         $jobs_id = $request->input('jobs_id', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = floatval($request->input('amount', ''));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         if (!$jobs_id) {
 
-             return response()->json(['status'=>0, 'msg'=>"请选择职位!"]);
 
-         }
 
-         if (!$this->jobsRepository->find($jobs_id)) {
 
-             return response()->json(['status'=>0,'msg'=>'该职位不存在!']);
 
-         }
 
-         if ($this->jobsRepository->getInfo(['stick'=>1,'id'=>$jobs_id,])) {
 
-             return response()->json(['status'=>0,'msg'=>'该职位已置顶!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $service_need_cash = $my_discount > 0 ?round($increment_info->price*$my_discount/10, 2):$increment_info->price; //置顶所需积分
 
-         if ($pay_type=='points') {      //积分支付
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //置顶所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 $promotionsqlarr['companyid']=$user->id;
 
-                 $promotionsqlarr['jobid']=$jobs_id;
 
-                 $promotionsqlarr['ptype'] = 1;
 
-                 $promotionsqlarr['days']=$increment_info->value;
 
-                 $promotionsqlarr['starttime']=time();
 
-                 $promotionsqlarr['endtime']=strtotime("{$increment_info->value} day");
 
-                 $promotion_insert_id = $this->promotionRepository->create($promotionsqlarr);
 
-                 if (!$promotion_insert_id) {
 
-                     throw new \Exception('职位置顶添加失败!');
 
-                 }
 
-                 $stick_time = time();
 
-                 $this->jobsRepository->update(['stime'=>$stick_time, 'stick'=>1], $jobs_id);
 
-                 $params_array = array('days'=>$increment_info['value']);
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 $params_array['jobs_id'] = $jobs_id;
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, serialize($params_array), '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_download_resume';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                     //会员日志(order 、setmeal)
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status'=>0, 'msg' => $e->getMessage()]);
 
-             }
 
-             event_search_update(Jobs::class, (string)$jobs_id, 'update');
 
-             return response()->json(['status'=>1, 'msg' => '积分兑换成功!','data'=>$oid]);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!!']);
 
-             }
 
-             $params['jobs_id'] = $jobs_id;
 
-             $params['days'] = $increment_info['value'];
 
-             $nowtime = time();
 
-             $params['starttime'] = $nowtime;
 
-             for ($i=0; $i < $params['days']*4; $i++) {
 
-                 $timespace = 3600*6*$i;
 
-                 if ($i+1==$params['days']*4) {
 
-                     $params['endtime'] = $nowtime+$timespace;
 
-                 }
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', $params, 0, $project_id, $my_discount);
 
-         }
 
-     }
 
-     /**简历包
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function resume()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('download_resume', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'简历包',
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'download_resume',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return view('mobile.app.company.service.increment.resume', $res);
 
-     }
 
-     /**短信包
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function sms()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('sms', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'短信包',
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'sms',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return view('mobile.app.company.service.increment.sms', $res);
 
-     }
 
-     /**职位包
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function jobsNum()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('jobs', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'职位包',
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'jobs',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate')
 
-         ];
 
-         return view('mobile.app.company.service.increment.jobs_num', $res);
 
-     }
 
-     /**招聘会包
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function jobfairNum()
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('jobfair_num', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'招聘会包',
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'jobfair_num',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate')
 
-         ];
 
-         return view('mobile.app.company.service.increment.jobfair_num', $res);
 
-     }
 
-     /**职位置顶
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function stick(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $job_id = $request->id?$request->id:0;
 
-         $where['company_id'] = $user->id;
 
-         if (config('aix.companyset.comset.show_set.jobs_display') == 1) {
 
-             $where['audit'] = 1;
 
-         }
 
-         $joblist = $this->jobsRepository->findWhere($where)->toArray();
 
-         $joblist1 = array_column($joblist, 'stick', 'id');
 
-         if ($job_id) {
 
-             $jobs_buy = $joblist1[$job_id]['stick']?1:0;
 
-         } else {
 
-             $jobs_buy=0;
 
-         }
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('stick', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'职位置顶',
 
-             'jobs_buy'=>$jobs_buy,
 
-             'job_id'=>$job_id,
 
-             'joblist'=>$joblist,
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'stick',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return view('mobile.app.company.service.increment.stick', $res);
 
-     }
 
-     /**职位紧急
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function emergency(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $job_id = $request->id?$request->id:0;
 
-         $where['company_id'] = $user->id;
 
-         if (config('aix.companyset.comset.show_set.jobs_display') == 1) {
 
-             $where['audit'] = 1;
 
-         }
 
-         $joblist = $this->jobsRepository->findWhere($where)->toArray();
 
-         $joblist1 = array_column($joblist, 'emergency', 'id');
 
-         if ($job_id) {
 
-             $jobs_buy = $joblist1[$job_id]['emergency']?1:0;
 
-         } else {
 
-             $jobs_buy=0;
 
-         }
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('emergency', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'职位紧急',
 
-             'jobs_buy'=>$jobs_buy,
 
-             'job_id'=>$job_id,
 
-             'joblist'=>$joblist,
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'emergency',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return view('mobile.app.company.service.increment.emergency', $res);
 
-     }
 
-     /**自动刷新
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function autoRefresh(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $job_id = $request->id?$request->id:0;
 
-         $where['company_id'] = $user->id;
 
-         if (config('aix.companyset.comset.show_set.jobs_display') == 1) {
 
-             $where['audit'] = 1;
 
-         }
 
-         $joblist = $this->jobsRepository->findWhere($where)->toArray();
 
-         $joblist1 = array_column($joblist, 'stick', 'id');
 
-         if ($job_id) {
 
-             $jobs_buy = $joblist1[$job_id]['stick']?1:0;
 
-         } else {
 
-             $jobs_buy=0;
 
-         }
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, 1);    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $cat_arr = $this->getServiceList('auto_refresh_jobs', $my_setmeal);
 
-         $res = [
 
-             'wap_title'=>'自动刷新',
 
-             'jobs_buy'=>$jobs_buy,
 
-             'job_id'=>$job_id,
 
-             'joblist'=>$joblist,
 
-             'mysetmeal'=>$my_setmeal,
 
-             'mypoint'=>$my_point,
 
-             'cat_arr'=>$cat_arr,
 
-             'cat'=>'auto_refresh_jobs',
 
-             'payment_rate'=>config('aix.companyset.points.points_set.payment_rate'),
 
-         ];
 
-         return view('mobile.app.company.service.increment.auto_refresh', $res);
 
-     }
 
-     /**
 
-      * 获取某项增值服务列表
 
-      */
 
-     protected function getServiceList($cat, $mysetmeal)
 
-     {
 
-         $increment_arr = $this->setmealIncrementsRepository->getIncrementCache($cat);
 
-         foreach ($increment_arr as $key => $value) {
 
-             $free_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $mysetmeal);
 
-             if (config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value') > 0) {
 
-                 $value->price = config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_type')==1?$value->price/100*config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value'):$value->price-config('aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value');
 
-                 $value->price = $value->price<0?0:$value->price;
 
-             }
 
-             //当前会员需要付的价格
 
-             $increment_arr[$key]->service_price = $free_discount>0?round($value->price*$free_discount/10, 2):$value->price;
 
-             //VIP会员价格,取出折扣最大的套餐折扣
 
-             $vip_discount = $this->setmealIncrementsService->getMaxDiscount($cat);
 
-             $increment_arr[$key]->vip_price = intval($vip_discount)>0?round($value->price*$vip_discount/10, 2):$value->price;
 
-             //换算积分
 
-             $increment_arr[$key]->service_points = round($increment_arr[$key]->service_price*config('aix.companyset.points.points_set.payment_rate'));
 
-         }
 
-         return $increment_arr;
 
-     }
 
-     /**职位紧急
 
-      * @param $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementEmergency($request)
 
-     {
 
-         $cat = $request->input('service_type', 'emergency');
 
-         $order_pay_type = 9;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         $jobs_id = $request->input('jobs_id', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = floatval($request->input('amount', ''));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         if (!$jobs_id) {
 
-             return response()->json(['status'=>0, 'msg'=>"请选择职位!"]);
 
-         }
 
-         if (!$this->jobsRepository->find($jobs_id)) {
 
-             return response()->json(['status'=>0,'msg'=>'该职位不存在!']);
 
-         }
 
-         if ($this->jobsRepository->getInfo(['emergency'=>1,'id'=>$jobs_id,])) {
 
-             return response()->json(['status'=>0,'msg'=>'该职位已紧急!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $service_need_cash = $my_discount > 0 ?round($increment_info->price*$my_discount/10, 2):$increment_info->price; //智能刷新所需积分
 
-         if ($pay_type=='points') {      //积分支付
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //智能刷新所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 $promotionsqlarr['companyid']=$user->id;
 
-                 $promotionsqlarr['jobid']=$jobs_id;
 
-                 $promotionsqlarr['ptype'] = 2;
 
-                 $promotionsqlarr['days']=$increment_info->value;
 
-                 $promotionsqlarr['starttime']=time();
 
-                 $promotionsqlarr['endtime']=strtotime("{$increment_info->value} day");
 
-                 $promotion_insert_id = $this->promotionRepository->create($promotionsqlarr);
 
-                 if (!$promotion_insert_id) {
 
-                     throw new \Exception('职位紧急添加失败!');
 
-                 }
 
-                 $this->jobsRepository->update(['emergency'=>1], $jobs_id);
 
-                 $params_array = array('days'=>$increment_info['value']);
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 $params_array['jobs_id'] = $jobs_id;
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, serialize($params_array), '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_download_resume';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status'=>0, 'msg' => $e->getMessage()]);
 
-             }
 
-             event_search_update(Jobs::class, (string)$jobs_id, 'update');
 
-             return response()->json(['status'=>1, 'msg' => '积分兑换成功!','data'=>$oid]);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!!']);
 
-             }
 
-             $params['jobs_id'] = $jobs_id;
 
-             $params['days'] = $increment_info['value'];
 
-             $nowtime = time();
 
-             $params['starttime'] = $nowtime;
 
-             for ($i=0; $i < $params['days']*4; $i++) {
 
-                 $timespace = 3600*6*$i;
 
-                 if ($i+1==$params['days']*4) {
 
-                     $params['endtime'] = $nowtime+$timespace;
 
-                 }
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', $params, 0, $project_id, $my_discount);
 
-         }
 
-     }
 
-     /**企业模版
 
-      * @param $request
 
-      * @return ServiceController
 
-      */
 
-     protected function incrementTpl($request)
 
-     {
 
-         return $this->sendErrorResponse('开发中。。。', 404);
 
-     }
 
-     /**智能刷新
 
-      * @param $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function incrementAutoRefreshJobs($request)
 
-     {
 
-         $cat = $request->input('service_type', 'auto_refresh_jobs');
 
-         $order_pay_type = 12;
 
-         $payment_name = $request->input('payment_name', '');
 
-         $pay_type = $request->input('pay_type', 'points');
 
-         $project_id = $request->input('project_id', 0);
 
-         $is_deductible = $request->input('is_deductible', 0);
 
-         $jobs_id = $request->input('jobs_id', 0);
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         } else {
 
-             $deductible = $request->input('deductible', '');
 
-         }
 
-         $amount = floatval($request->input('amount', ''));
 
-         if ($amount==0) {
 
-             $pay_type = 'points';
 
-         }
 
-         if ($project_id==0) {
 
-             return response()->json(['status'=>0, 'msg' => '请选择增值包套餐!']);
 
-         }
 
-         if (!$jobs_id) {
 
-             return response()->json(['status'=>0, 'msg'=>"请选择职位!"]);
 
-         }
 
-         if ($this->queueAutoRefreshRepository->findData(['type'=>1, 'pid'=>$jobs_id])) {
 
-             return response()->json(['status'=>0,'msg'=>'该职位已预约刷新!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($project_id);       //获取所选简历增值包信息
 
-         $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-         $service_need_cash = $my_discount > 0 ?round($increment_info->price*$my_discount/10, 2):$increment_info->price; //智能刷新所需积分
 
-         if ($pay_type=='points') {      //积分支付
 
-             $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-             if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-             if ($my_discount > 0){ //如果有折扣
 
-                 //先打自己套餐的折扣,再打固定的折扣
 
-                 $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-             }else{
 
-                 $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-             }
 
-             $service_need_points = round($service_need_cash*config('aix.companyset.points.points_set.payment_rate'));   //智能刷新所需积分
 
-             if ($my_point->points < $service_need_points) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!']);
 
-             }
 
-             //操作事务开始
 
-             DB::beginTransaction();
 
-             try {
 
-                 //添加自动刷新记录
 
-                 $days = $increment_info->value;
 
-                 $params_array['days'] = $days;
 
-                 $nowtime = time();
 
-                 $params_array['days'] = $nowtime;
 
-                 $params_array['starttime'] = $nowtime;
 
-                 for ($i=0; $i < $days*4; $i++) {
 
-                     $timespace = 3600*6*$i;
 
-                     $this->queueAutoRefreshRepository->create(['uid'=>$user->id,'pid'=>$jobs_id,'type'=>1,'refreshtime'=>$nowtime+$timespace]);
 
-                     if ($i+1==$days*4) {
 
-                         $params_array['endtime'] = $nowtime+$timespace;
 
-                     }
 
-                 }
 
-                 $params_array['jobs_id'] = $jobs_id;
 
-                 $description1 = '购买服务:'.$increment_info->name.';积分支付:'.$service_need_points.'积分';
 
-                 $stime = time();
 
-                 //添加订单信息
 
-                 $order = $this->orderService->addOrder($user, $order_pay_type, $service_need_cash, 0, $service_need_points, $increment_info->name, $payment_name, '积分支付', $description1, 2, 0, $project_id, $stime, serialize($params_array), '专享'.$my_discount.'折优惠');
 
-                 if (!$order) {
 
-                     throw new \Exception('生成订单失败!');
 
-                 }
 
-                 $oid = $this->payService->getTradeNo($order->id);//订单号
 
-                 if (!$this->serviceService->updateOid($order->id, $oid)) {
 
-                     throw new \Exception('生成订单号失败!');
 
-                 }
 
-                 //会员日志:添加创建增值服务订单日志
 
-                 $log_rst1 = $this->serviceService->writeMembersLog($user, '9001', [$oid,'积分兑换','']);
 
-                 //修改会员积分
 
-                 if (false === $p_rst = $this->memberPointService->reportDeal($user->id, $user->utype, 2, $service_need_points)) {
 
-                     throw new \Exception('修改会员积分失败!');
 
-                 } else {
 
-                     $handsel['uid'] = $user->id;
 
-                     $handsel['utype'] = $user->utype;
 
-                     $handsel['htype'] = 'increment_download_resume';
 
-                     $handsel['htype_cn'] = '购买增值包:' . $increment_info->name;
 
-                     $handsel['operate'] = 2;
 
-                     $handsel['points'] = $service_need_points;
 
-                     if (!$this->memberHandselRepository->addNew($handsel)) { //添加积分操作记录
 
-                         throw new \Exception('添加积分操作记录失败!');
 
-                     }
 
-                     $notes = date('Y-m-d H:i:s', time()) . "通过积分兑换成功开通{ $increment_info->name}";
 
-                 }
 
-                 DB::commit();
 
-             } catch (\Exception $e) {
 
-                 DB::rollback();
 
-                 return response()->json(['status'=>0, 'msg' => $e->getMessage()]);
 
-             }
 
-             return response()->json(['status'=>1, 'msg' => '积分兑换成功!','data'=>$oid]);
 
-         } else {
 
-             if ($is_deductible==1 && $my_point->points<$deductible) {
 
-                 return response()->json(['status'=>0, 'msg' => '积分不足,请使用其他方式支付!!']);
 
-             }
 
-             $params['jobs_id'] = $jobs_id;
 
-             $params['days'] = $increment_info['value'];
 
-             $nowtime = time();
 
-             $params['starttime'] = $nowtime;
 
-             for ($i=0; $i < $params['days']*4; $i++) {
 
-                 $timespace = 3600*6*$i;
 
-                 if ($i+1==$params['days']*4) {
 
-                     $params['endtime'] = $nowtime+$timespace;
 
-                 }
 
-             }
 
-             return $this->callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name, $service_need_cash, $is_deductible, $deductible, '', $params, 0, $project_id, $my_discount);
 
-         }
 
-     }
 
-     /**购买积分
 
-      * @return ServiceController|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function pointsAdd()
 
-     {
 
-         if (!config('aix.companyset.points.points_set.enable_com_buy_points')) {
 
-             return $this->showMessage('企业充值入口关闭!', route('mobile.firm.service.points'));
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $myPoints = $this->memberPointService->getPoints($user->id, 1);
 
-         $res = $this->serviceService->pointsAdd();
 
-         $res['mypoints'] = $myPoints;
 
-         $res['wap_title']='充值积分';
 
-         return view('mobile.app.company.service.points.points_add', $res);
 
-     }
 
-     public function pointsSave(Request $request)
 
-     {
 
-         if (!config('aix.companyset.points.points_set.enable_com_buy_points')) {
 
-             return $this->showMessage('企业充值未开启,请联系网站管理员!', route('mobile.firm.service.points'));
 
-         }
 
-         $payment_name = $request->input('payment_name', '');
 
-         $points = $request->input('points', 0);
 
-         if (!$points) {
 
-             return response()->json(['status'=>0, 'msg'=>"请输入要购买的积分数量!"]);
 
-         } elseif ($points < config('aix.companyset.points.points_set.com_buy_points_min')) {
 
-             $points = config('aix.companyset.points.points_set.com_buy_points_min');
 
-         }
 
-         $service_need_cash = round($points/config('aix.companyset.points.points_set.payment_rate'), 2);
 
-         $paymenttpye = $this->paymentService->returnPayment($payment_name);
 
-         if (!$paymenttpye) {
 
-             return array( 'status'=>0, 'msg' => '支付方式错误!');
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $description = '购买积分';
 
-         $params['points'] = $points;
 
-         $params['cash'] = $service_need_cash;
 
-         $params['rate'] = config('aix.companyset.points.points_set.payment_rate');
 
-         $order = $this->orderService->addOrder($user, 2, $service_need_cash, $service_need_cash, 0, '购买积分', $payment_name, $paymenttpye->name, $description, 1, 0, 0, 0, serialize($params));
 
-         $tradeNo = $this->payService->getTradeNo($order->id);
 
-         if (!$this->serviceService->updateOid($order->id, $tradeNo)) {
 
-             throw new ResponseException('生成订单号失败!');
 
-         }
 
-         $payOrder = new PayOrder();
 
-         $payOrder->trade_no = $tradeNo;
 
-         $payOrder->subject = '购买积分';
 
-         $payOrder->detail = $description;
 
-         $payOrder->price = $service_need_cash;
 
-         $payOrder->callback = "App\Services\Common\OrderService.pointsSave";
 
-         if ($payment_name == 'wechat') {
 
-             if (!is_weixin()) {
 
-                 $type = 'wap';
 
-             } else {
 
-                 //预留
 
-             }
 
-             $payOrder->return_url=route('mobile.common.orderWechat', ['oid'=>$payOrder->trade_no]);
 
-         } else {
 
-             $type = 'wap';
 
-             $payOrder->return_url=route('mobile.firm.service.order.index');
 
-         }
 
-         return  $this->payService->pay($payment_name, $type, $payOrder);
 
-     }
 
-     /**现金支付
 
-      * @param $resume_id
 
-      * @param $my_setmeal
 
-      * @param $my_point
 
-      * @param $increment_info
 
-      * @param $order_pay_type
 
-      * @param string $payment_name
 
-      * @param string $amount
 
-      * @param $is_deductible
 
-      * @param int $deductible
 
-      * @param string $description
 
-      * @param string $params
 
-      * @param int $points
 
-      * @param int $stemeal
 
-      * @param string $discount
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     protected function callCashPay($my_setmeal, $my_point, $increment_info, $order_pay_type, $payment_name = '', $amount = '0.0', $is_deductible, $deductible = 0, $description = '', $params = '', $points = 0, $stemeal = 0, $discount = '')
 
-     {
 
-         //获取支付方式
 
-         $paymenttpye = $this->paymentService->returnPayment($payment_name);
 
-         if (!$paymenttpye) {
 
-             return array( 'status'=>0, 'msg' => '支付方式错误!');
 
-         }
 
-         if (!config("aix.system.pay.{$payment_name}.is_on")) {
 
-             if ($payment_name == 'alipay') {
 
-                 return "支付方式未开启!请联系客服电话:【".config('aix.system.pay.offline.service_tel')."】";
 
-             } else {
 
-                 return array( 'status'=>0, 'msg' => "支付方式未开启!请联系客服电话:【".config('aix.system.pay.offline.service_tel')."】");
 
-             }
 
-         }
 
-         if ($my_point->points < $deductible) {
 
-             return array( 'status'=>0, 'msg' => '积分不足,请使用其他方式支付!');
 
-         }
 
-         if ($is_deductible==0) {
 
-             $deductible = 0;
 
-         }
 
-         $points_price=round($deductible/config('aix.companyset.points.points_set.payment_rate'),2); //积分抵扣的钱
 
-         /**
 
-          * 修改吴正科的DB 写法
 
-          * 没有折扣价格怎么就变成了原价了,积分不要吗
 
-          * 还有个在配置文件中的购买增值服务优惠
 
-          */
 
-         $mobile_discount=config("aix.mobile.mobile_set.mobile_set.mobile_setmeal_increment_discount_value")/100;//移动段固定折扣
 
-         if ($mobile_discount==0){$mobile_discount=1;} //没有配置,就为1 除了是不变的
 
-         $my_discount=$discount;
 
-         if ($my_discount > 0){ //如果有折扣
 
-             //先打自己套餐的折扣,再打固定的折扣
 
-             $service_need_cash=($increment_info->price*$my_discount/10)*$mobile_discount;
 
-         }else{
 
-             $service_need_cash=($increment_info->price)*$mobile_discount; //增值包套餐金额
 
-         }
 
-         $service_need_cash=round($service_need_cash,2);//去掉多余小数点
 
-         $service_need_cash-=$points_price;//都需要减去积分抵扣的钱
 
-         $service_need_cash=round($service_need_cash,2);
 
-         $paysetarr['ordtotal_fee']=$service_need_cash;
 
-         if ($description=='') {
 
-             $description = '购买服务:'.$increment_info->name;
 
-         }
 
-         $description .= ';'.$paymenttpye->name.$paysetarr['ordtotal_fee'].'元';
 
-         if ($deductible>0) {
 
-             $description .= ';积分支付:'.$deductible.'积分';
 
-         }
 
-         $stime = time();
 
-         $user = auth('web-company')->user();
 
-         //生成订单
 
-         $order = $this->orderService->addOrder($user, $order_pay_type, $amount, $paysetarr['ordtotal_fee'], $description, $increment_info->name, $payment_name, $paymenttpye->name, $description, 1, $deductible, $stemeal, 0, serialize($params), '专享'.$my_discount.'折优惠');
 
-         $tradeNo = $this->payService->getTradeNo($order->id);
 
-         if (!$this->serviceService->updateOid($order->id, $tradeNo)) {
 
-             throw new ResponseException('生成订单号失败!');
 
-         }
 
-         $payOrder = new PayOrder();
 
-         $payOrder->trade_no = $tradeNo;
 
-         $payOrder->subject = '购买' . $increment_info->name;
 
-         $payOrder->detail = $description;
 
-         $payOrder->price = $paysetarr['ordtotal_fee'];
 
-         $payOrder->callback = "App\Services\Common\OrderService.incrementSave";
 
-         if ($payment_name == 'wechat') {
 
-             if (!is_weixin()) {
 
-                 $type = 'wap';
 
-             } else { //如果在微信浏览器中
 
-                 $type="official";
 
-                 $payOrder->openid = $this->payService->getPayOpenid();
 
-                 $payOrder->return_url = route('service.order.index');
 
-                 $result = $this->payService->pay($payment_name, $type, $payOrder);
 
-                 return response()->json(['status'=>1, 'msg' => $result]);
 
-                 //预留
 
-             }
 
-             $payOrder->return_url=route('mobile.common.orderWechat', ['oid'=>$payOrder->trade_no]);
 
-         } else {
 
-             $type = 'wap';
 
-             $payOrder->return_url=route('mobile.firm.service.order.index');
 
-         }
 
-         return  $this->payService->pay($payment_name, $type, $payOrder);
 
-     }
 
-     /**订单列表
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      * @throws \Throwable
 
-      */
 
-     public function orderList(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $res = $this->orderService->orderList($request->all(), $user);
 
-         if ($request->ajax()) {
 
-             if ($res['orderList']->lastPage() < $res['orderList']->currentPage()) {
 
-                 return response()->json(['status'=>0]);
 
-             }
 
-             return response()->json(['status'=>1,'data'=>view('mobile.app.company.order.ajax.ajax_order_list', ['orderList'=>$res['orderList'],'pay_status_choose'=>$res['pay_status_choose'],'order_type'=>$res['order_type']])->render()]);
 
-         }
 
-         $res['wap_title']='订单列表';
 
-         return view('mobile.app.company.order.index', $res);
 
-     }
 
-     /**删除订单
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function orderDel(Request $request)
 
-     {
 
-         $id = $request->id?$request->id:0;
 
-         if (!$id) {
 
-             return response()->json(['status'=>0,'msg'=>'参数错误']);
 
-         }
 
-         if ($request->method()=='POST') {
 
-             $user = auth('web-company')->user();
 
-             return $this->orderService->orderDel($id,$user);
 
-         }
 
-         $tip='订单被删除后无法恢复,您确定要删除该订单吗?';
 
-         return response()->json(['status'=>1, 'msg'=>'', 'data'=>['html'=>view('app.company.ajax.ajax_warning', ['tip'=>$tip])->render()]]);
 
-     }
 
-     /**订单取消
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function orderCancel(Request $request)
 
-     {
 
-         $id = $request->id?$request->id:0;
 
-         $user = auth('web-company')->user();
 
-         if (!$id) {
 
-             return response()->json(['status'=>0,'msg'=>'参数错误']);
 
-         }
 
-         if ($request->method() == 'POST') {
 
-             return $this->orderService->orderCancel($id, $user);
 
-         }
 
-         $tip='您确定要取消该订单吗?';
 
-         $description='如果您在支付过程中遇到问题,可以联系网站客服,联系电话:'.config('aix.system.site.site.bootom_tel').'。';
 
-         return response()->json(['status'=>1, 'msg'=>'', 'data'=>['html'=>view('app.company.ajax.ajax_warning', ['tip'=>$tip, 'description'=>$description])->render()]]);
 
-     }
 
-     /**订单详情
 
-      * @param $id
 
-      * @return ServiceController|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      * @throws ResponseException
 
-      */
 
-     public function orderDetail($id)
 
-     {
 
-         if (!$id) {
 
-             return $this->showMessage('参数错误!', 404);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $res = $this->orderService->orderDetail($id, $user);
 
-         if ($res['order']->is_pay==2 || $res['order']->is_pay==3) {
 
-             $tpl = 'order_detail';
 
-         } else {
 
-             $tpl = 'order_detail_nopay';
 
-         }
 
-         return view("mobile.app.company.order.{$tpl}", $res);
 
-     }
 
-     /**索要发票
 
-      * @param Request $request
 
-      * @return array|\Illuminate\Http\JsonResponse
 
-      */
 
-     public function invoiceSave(Request $request)
 
-     {
 
-         $data = $request->except('_token');
 
-         $user = auth('web-company')->user();
 
-         return $this->orderService->invoiceSave($data, $user);
 
-     }
 
-     /**重新支付
 
-      * @param int $id
 
-      * @return ServiceController|\Illuminate\Http\JsonResponse
 
-      * @throws ResponseException
 
-      */
 
-     public function orderPayRepeat($id = 0)
 
-     {
 
-         if (!$id) {
 
-             return $this->showMessage('参数错误!', 404);
 
-         }
 
-         return $this->orderService->mobileOrderPayRepeat($id);
 
-     }
 
-     /**
 
-      * 电子票据
 
-      */
 
- //    public function enote($id = 0)
 
- //    {
 
- //        if (!$id) {
 
- //            return response()->json(['status'=>0, 'msg'=>"参数错误!"]);
 
- //        }
 
- //        $res = $this->orderService->enote($id);
 
- //        return response()->json(['status'=>1,'msg'=>'获取数据成功!','data'=>['html'=>view('app.company.ajax.ajax_enote', $res)->render()]]);
 
- //    }
 
-     /**订单支付成功
 
-      * @param $oid
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      * @throws ResponseException
 
-      */
 
-     public function setmealFinish($oid)
 
-     {
 
-         $res = $this->serviceService->setmealFinish($oid);
 
-         return view('app.company.service.order_finish', $res);
 
-     }
 
- }
 
 
  |