| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: michaelwu
 
-  * Date: 2018/10/30
 
-  * Time: 11:22
 
-  */
 
- namespace App\Http\Controllers\Web\Company;
 
- use App\Http\Controllers\Web\WebBaseController;
 
- use App\Repositories\CompanyContactsRepository;
 
- use App\Repositories\JobsRepository;
 
- use App\Repositories\MemberPointRepository;
 
- use App\Repositories\MemberSetmealRepository;
 
- use App\Repositories\QueueAutoRefreshRepository;
 
- use App\Repositories\RefreshLogRepository;
 
- use App\Repositories\SetmealRepository;
 
- use App\Services\Common\CategoryService;
 
- use App\Services\Common\MembersSetmealService;
 
- use App\Services\Common\SetmealIncrementsService;
 
- use App\Services\Company\CompanyService;
 
- use App\Services\Company\JobsService;
 
- use App\Services\Company\ServiceService;
 
- use App\Services\SubsiteService;
 
- use App\Validators\JobsValidatorRequest;
 
- use Illuminate\Http\Request;
 
- use Illuminate\Support\Facades\Cache;
 
- use Illuminate\Support\Facades\URL;
 
- class JobsController extends WebBaseController
 
- {
 
-     /**
 
-      * @var JobsService
 
-      */
 
-     protected $jobsService;
 
-     protected $categoryService;
 
-     protected $companyService;
 
-     protected $memberSetmealRepository;
 
-     protected $setmealIncrementsService;
 
-     protected $refreshLogRepository;
 
-     protected $memberPointRepository;
 
-     protected $setmealRepository;
 
-     protected $queueAutoRefreshRepository;
 
-     protected $serviceService;
 
-     protected $subsiteService;
 
-     protected $jobsRepository;
 
-     protected $companyContactsRepository;
 
-     protected $membersSetmealService;
 
-     /**
 
-      * JobsController constructor.
 
-      * @param JobsService $jobsService
 
-      * @param CategoryService $categoryService
 
-      * @param CompanyService $companyService
 
-      * @param $memberSetmealRepository
 
-      * @param $setmealIncrementsService
 
-      * @param $refreshLogRepository
 
-      * @param $memberPointRepository
 
-      * @param $setmealRepository
 
-      * @param $queueAutoRefreshRepository
 
-      * @param $serviceService
 
-      * @param $subsiteService
 
-      * @param $jobsRepository
 
-      * @param $companyContactsRepository
 
-      * @param $membersSetmealService
 
-      */
 
-     public function __construct(MembersSetmealService $membersSetmealService, JobsService $jobsService, CompanyContactsRepository $companyContactsRepository, JobsRepository $jobsRepository, SubsiteService $subsiteService, ServiceService $serviceService, QueueAutoRefreshRepository $queueAutoRefreshRepository, SetmealRepository $setmealRepository, MemberPointRepository $memberPointRepository, RefreshLogRepository $refreshLogRepository, CategoryService $categoryService, CompanyService $companyService, MemberSetmealRepository $memberSetmealRepository, SetmealIncrementsService $setmealIncrementsService)
 
-     {
 
-         $this->jobsService                = $jobsService;
 
-         $this->categoryService            = $categoryService;
 
-         $this->companyService             = $companyService;
 
-         $this->memberSetmealRepository    = $memberSetmealRepository;
 
-         $this->setmealIncrementsService   = $setmealIncrementsService;
 
-         $this->refreshLogRepository       = $refreshLogRepository;
 
-         $this->memberPointRepository      = $memberPointRepository;
 
-         $this->setmealRepository          = $setmealRepository;
 
-         $this->queueAutoRefreshRepository = $queueAutoRefreshRepository;
 
-         $this->serviceService             = $serviceService;
 
-         $this->subsiteService             = $subsiteService;
 
-         $this->jobsRepository             = $jobsRepository;
 
-         $this->companyContactsRepository  = $companyContactsRepository;
 
-         $this->membersSetmealService      = $membersSetmealService;
 
-     }
 
-     /**
 
-      * 管理职位
 
-      * @param null $type
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      */
 
-     public function jobsList(Request $request, $type = null)
 
-     {
 
-         $user            = auth('web-company')->user();
 
-         $type            = isset($request->type) ? $request->type : 0;
 
-         $jobs_list       = $this->jobsService->list($type, $user);
 
-         $jobs_total      = $this->jobsService->jobsTotal($user->id);
 
-         $company_setmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//会员套餐
 
-         $stick           = $this->setmealIncrementsService->getCat('stick');
 
-         $emergency       = $this->setmealIncrementsService->getCat('emergency');
 
-         $this->serviceService->freeSetmealIsOver($user);
 
-         return view('app.jobs.jobs_list', ['jobsList' => $jobs_list, 'type' => $type, 'jobsCount' => $jobs_total, 'company_setmeal' => $company_setmeal, 'stick' => $stick, 'emergency' => $emergency]);
 
-     }
 
-     /**
 
-      * 职位添加
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 
-      * @throws \App\Exceptions\ResponseException
 
-      */
 
-     public function jobsAdd($id = null)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         $jobsExist = $this->jobsRepository->jobsTotal(['company_id' => $user->id, 'id' => $id]);
 
-         if (empty($jobsExist) && !empty($id)) {
 
-             return $this->showMessage('没有这个职位!', route('jobs.list'), true);
 
-         }
 
-         //企业联系人数据
 
-         $companyContact = $this->companyContactsRepository->getContacts(['company_id' => $user->id]);
 
-         //查询该套餐可发布多少职位数及已发布多少职位
 
-         $jobs_total      = $this->jobsService->jobsTotal($user->id);
 
-         $company_setmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//会员套餐
 
-         //查询企业信息
 
-         $companyInfo = $this->companyService->getInfoById($user);
 
-         //分站信息
 
-         $subsite = $this->subsiteService->getSubsite($user);
 
-         $result  = [
 
-             'info'            => $companyInfo,
 
-             'jobsCount'       => $jobs_total,
 
-             'company_setmeal' => $company_setmeal,
 
-             'subsite'         => $subsite,
 
-             'companyContact'  => $companyContact,
 
-             'user'            => $user,
 
-         ];
 
-         if (isset($id) && $id) {
 
-             if (!$result['jobsInfo'] = $this->jobsService->jobsInfo($id)) {
 
-                 return $this->showMessage('请确认职位是否存在!', route('jobs.list'), true);
 
-             }
 
-             if ($result['jobsInfo']->subsites->isNotEmpty()) {
 
-                 $subsiteArr = $result['jobsInfo']->subsites->toArray();
 
-                 if ($subsiteArr) {
 
-                     foreach ($subsiteArr as $key => $val) {
 
-                         $result['sites'][] = $val['subsite_id'];
 
-                     }
 
-                 } else {
 
-                     $result['sites'][] = [];
 
-                 }
 
-             }
 
-         }
 
-         return view('app.jobs.jobs_add', $result);
 
-     }
 
-     /**异步获取企业联系人
 
-      * @param $id
 
-      * @return \Illuminate\Http\JsonResponse
 
-      */
 
-     public function ajaxGetComContact(Request $request)
 
-     {
 
-         $id = $request->id;
 
-         if (!$id) {
 
-             return response()->json(['status' => 0, 'msg' => '无此联系人ID', 'data' => '']);
 
-         }
 
-         $contact = $this->companyContactsRepository->find($id);
 
-         return response()->json(['status' => 1, 'msg' => '成功', 'data' => $contact]);
 
-     }
 
-     public function ajaxGetDistrict(Request $request)
 
-     {
 
-         $id          = $request->id;
 
-         $district_cn = get_district_cn($id);
 
-         return response()->json(['status' => 1, 'msg' => '成功', 'data' => $district_cn]);
 
-     }
 
-     /**
 
-      * 职位保存
 
-      * @param JobsValidatorRequest $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Prettus\Validator\Exceptions\ValidatorException
 
-      */
 
-     public function jobsSave(JobsValidatorRequest $request)
 
-     {
 
-         $user                 = auth('web-company')->user();
 
-         $data                 = $request->except('_token', '_method');
 
-         $data['wage_min']     = empty($data['wage_min']) ? 0 : $data['wage_min'];
 
-         $data['wage_max']     = empty($data['wage_max']) ? 0 : $data['wage_max'];
 
-         $data['map_x']        = empty($data['map_x']) ? '' : $data['map_x'];
 
-         $data['map_y']        = empty($data['map_y']) ? '' : $data['map_y'];
 
-         $data['is_deformity'] = empty($data['is_deformity']) ? 2 : $data['is_deformity'];
 
-         $data['health_type']  = empty($data['health_type']) ? 1 : $data['health_type'];
 
-         $data['is_health']    = $user['is_health'];
 
-         $data['is_ic']        = $user['is_ic'];
 
-         return $this->jobsService->jobsSave($data, $user);
 
-     }
 
-     /**
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function jobsAddToJobfair(Request $request)
 
-     {
 
-         if ($request->method() == 'POST') {
 
-             $user = $this->getLoginUser();
 
-             return $this->jobsService->jobsAddToJobfair($request, $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 \App\Exceptions\ResponseException
 
-      * @throws \Throwable
 
-      */
 
-     public function jobsRefresh(Request $request)
 
-     {
 
-         $cat        = $request->input('service_type', 'auto_refresh_jobs');
 
-         $project_id = $request->input('project_id');
 
-         $id         = $request->id;
 
-         if (!$id) {
 
-             return response()->json(['status' => 0, 'msg' => "请选择刷新职位!"]);
 
-         }
 
-         $res       = [];
 
-         $yid       = is_array($id) ? $id : explode(",", $id);
 
-         $jobsCount = count($yid);
 
-         $user      = auth('web-company')->user();
 
-         //有无开通刷新服务
 
-         $mySetmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         if (!$mySetmeal) {
 
-             return response()->json(['status' => 0, 'msg' => '您还没有开通服务,请<a target=\"_blank\" href=\"' . route('service.setmeal') . '\">开通</a>!', 'data' => ['show_footer' => 0]]);
 
-         }
 
-         //服务是否到期
 
-         if ($mySetmeal->expire == 1 && $mySetmeal->setmeal_id > 1) {
 
-             return response()->json(['status' => 0, 'msg' => '您的服务已经到期,请<a target="_blank" href="' . route('service.setmeal') . '">重新开通</a>!', 'data' => ['show_footer' => 0]]);
 
-         }
 
-         $where = [
 
-             'uid'   => $user->id,
 
-             'utype' => 1,
 
-             'type'  => 1006,
 
-             'mode'  => 2,
 
-         ];
 
-         //刷新间隔时间
 
- //        $refrestime = $this->refreshLogRepository->getLastRefreshDate($where);
 
- //        $duringtime = time() - strtotime($refrestime?$refrestime->created_at:0);
 
-         $space = config('aix.companyset.comset.other_set.refresh_jobs_space') * 60;
 
- //        if ($space > 0 && $duringtime <= $space) {
 
- //            return response()->json(['status' => 0, 'msg' => $space . "秒内不能重复刷新职位", 'data' => ['show_footer' => 0]]);
 
- //        }
 
-         foreach ($yid as $value) {
 
-             if (Cache::has('refresh_jobid_' . $value)) {
 
- //                $jobs_intersect  = array_intersect(Cache::get('refresh_jobid_'.$value), $yid);
 
- //                if ($jobs_intersect) {
 
-                 $refreshJobName = $this->jobsRepository->findWhereIn('id', [$value], ['jobs_name'])->toArray();
 
-                 return response()->json(['status' => 0, 'msg' => "【" . implode(',', array_column($refreshJobName, 'jobs_name')) . "】" . $space . "秒内不能重复刷新,请重新选择", 'data' => ['show_footer' => 0]]);
 
- //                }
 
-             }
 
-         }
 
-         if ($request->method() == 'POST') {
 
-             if (isExpire($mySetmeal)) {
 
-                 return response()->json(['status' => 0, 'msg' => "提醒:您的套餐已到期,请及时到我的套餐处升级套餐!"]);
 
-             }
 
-             $payment_name = $request->payment_name ? $request->payment_name : '';
 
-             if ($payment_name) {
 
-                 $is_deductible = $request->input('is_deductible', 0);
 
-                 if ($is_deductible == 0) {
 
-                     $deductible = 0;
 
-                 } else {
 
-                     $deductible = $request->input('deductible', '');
 
-                 }
 
-                 $myPoints               = $this->memberPointRepository->getComPointsById($user->id, $user->utype);
 
-                 $increment_info['name'] = '职位刷新';
 
-                 $params['jobs_id']      = $yid[0];
 
-                 $params['type']         = 'jobs_refresh';
 
-                 //修改吴正科的微信支付的DB写法
 
-                 $my_setmeal  = $this->membersSetmealService->getUserSetmeal($user, '1');    //会员套餐信息
 
-                 $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-                 if (empty($project_id)) { //就是单次刷新的支付
 
-                     $service_need_cash      = config('aix.companyset.comsume.comsume_set.refresh_jobs_price');
 
-                     $increment_info['name'] = "单次刷新职位";
 
-                 } else {
 
-                     $increment_info = $this->setmealIncrementsService->getIncrement($project_id);
 
-                     $service_need_cash = $my_discount > 0 ? round($increment_info->price * $my_discount / 10, 2) : $increment_info->price; //智能刷新所需积分
 
-                 }
 
-                 return $this->jobsService->callCashPay($user, $increment_info, $myPoints, 13, $payment_name, $service_need_cash, $is_deductible, $deductible, '', $params);
 
-             } else {
 
-                 //如果是积分兑换刷新或者直接免费刷新
 
-                 $r = $this->jobsService->jobsRefreshSave($yid, $user, $mySetmeal);
 
-                 if (!$r['status']) {
 
-                     return response()->json(['status' => 0, 'msg' => $r['msg']]);
 
-                 } else {
 
-                     return response()->json(['status' => 1, 'msg' => '刷新成功!']);
 
-                 }
 
-             }
 
-         }
 
-         //计算免费刷新次数
 
-         $todayCount = $this->refreshLogRepository->getTodayRefreshTimes($where);
 
-         if ($jobsCount > 1 && $todayCount >= $mySetmeal->refresh_jobs_free) {
 
-             return response()->json(['status' => 2, 'msg' => "您共选中了 <span class=\"font_yellow\">" . $jobsCount . "</span> 条职位,今天免费刷新次数已用完。<br>请单条刷新。", 'data' => ['show_footer' => 0]]);
 
-         } elseif ($jobsCount > 1 && ($todayCount + $jobsCount) > $mySetmeal->refresh_jobs_free) {
 
-             $surplus = $mySetmeal->refresh_jobs_free - $todayCount;
 
-             return response()->json(['status' => 2, 'msg' => "您共选中了 <span class=\"font_yellow\">" . $jobsCount . "</span> 条职位,今天免费刷新次数剩余 <span class=\"font_yellow\">" . $surplus . "</span> 次。<br>请单条刷新。", 'data' => ['show_footer' => 0]]);
 
-         }
 
-         $myPoints = $this->memberPointRepository->getPointsOne(auth('web-company')->user()->id, 1);
 
-         if ($todayCount >= $mySetmeal->refresh_jobs_free) {//免费刷新次数已到
 
-             $mode = 'points';
 
-             if ($myPoints->points < config('aix.companyset.comsume.comsume_set.refresh_jobs_price') * config('aix.companyset.points.points_set.payment_rate') * $jobsCount) {
 
-                 $mode = 'mix';
 
-             }
 
-         } else {
 
-             $mode = 'setmeal';
 
-         }
 
-         if ($mode == 'points' && config('aix.companyset.comsume.comsume_set.refresh_jobs_by_points') == 0) {
 
-             $mode = 'mix';
 
-         }
 
-         if ($mode == 'setmeal') {
 
-             $show_footer     = 1;
 
-             $res['freeTime'] = $mySetmeal->refresh_jobs_free - $todayCount;
 
-         } elseif ($mode == 'points') {
 
-             $show_footer = 0;
 
-         } else {
 
-             $show_footer         = 0;
 
-             $res['max_discount'] = $this->setmealRepository->getMaxDiscount('auto_refresh_jobs');
 
-             $res['needCash']     = config('aix.companyset.comsume.comsume_set.refresh_jobs_price') * $jobsCount;
 
-         }
 
-         $res['open_points_convert'] = config('aix.companyset.comsume.comsume_set.refresh_jobs_by_points');
 
-         if ($jobsCount == 1) {
 
-             $jobid             = $yid[0];
 
-             $condition['pid']  = $jobid;
 
-             $condition['type'] = 1;
 
-             $auto_refresh_log  = $this->queueAutoRefreshRepository->findData($condition);
 
-             $auto_refresh_log  = $auto_refresh_log ? 1 : 0;
 
-             $res['id']         = $jobid;
 
-         } else {
 
-             $auto_refresh_log = 0;
 
-             $res['id']        = implode(',', $yid);
 
-         }
 
-         $res['cat']              = 'auto_refresh_jobs';
 
-         $res['increment_arr']    = $this->serviceService->incrementAdd('auto_refresh_jobs', $request->all());
 
-         $res['auto_refresh_log'] = $auto_refresh_log;
 
-         $res['mySetmeal']        = $mySetmeal;
 
-         $res['mode']             = $mode;
 
-         $res['jobsCount']        = $jobsCount;
 
-         $res['more_times']       = $mySetmeal->refresh_jobs_free + config('aix.companyset.comsume.comsume_set.refresh_jobs_more') - $todayCount;   //此中refresh_jobs_more 代表触屏版的额外次数
 
-         $res['increment']        = $request->increment ? 1 : 0;
 
-         $res['refresh_points']   = config('aix.companyset.comsume.comsume_set.refresh_jobs_price') * config('aix.companyset.points.points_set.payment_rate') * $jobsCount;
 
-         $res['myPoints']         = $myPoints->points;
 
- //        dd($res);
 
-         return response()->json(['status' => 1, 'msg' => view('app.jobs.ajax.ajax_job_refresh', $res)->render(), 'data' => ['show_footer' => $show_footer]]);
 
-     }
 
-     /**
 
-      * 付费刷新
 
-      */
 
-     public function jobsPayRefresh(Request $request)
 
-     {
 
-         $jobs_id       = $request->jobs_id;
 
-         $is_deductible = $request->is_deductible;
 
-         $deductible    = $request->deductible;
 
-         $user          = auth('web-company')->user();
 
-         $mySetmeal     = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);
 
-         return $this->jobsService->jobRefreshPay($jobs_id, $user, $is_deductible, $deductible, $mySetmeal);
 
-     }
 
-     /**
 
-      * 职位关闭
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      */
 
-     public function jobsClose(Request $request)
 
-     {
 
-         if ($request->type && $request->type == 1) {
 
-             $user = auth('web-company')->user();
 
-             return $this->jobsService->jobsClose($request->id, $user);
 
-         }
 
-         $tip = "职位关闭后将会暂停招聘,您确定要关闭选中的职位吗?";
 
-         return view('app.company.ajax.ajax_warning', ['tip' => $tip]);
 
-     }
 
-     public function closeAll(Request $request)
 
-     {
 
-         if ($request->type && $request->type == 1) {
 
-             $user = auth('web-company')->user();
 
-             return $this->jobsService->jobsClose($request->id, $user);
 
-         }
 
-         $tip = "职位关闭后将会暂停招聘,您确定要关闭选中的职位吗?";
 
-         return view('app.company.ajax.ajax_warning', ['tip' => $tip]);
 
-     }
 
-     /**
 
-      * 恢复职位
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      */
 
-     public function jobsShow(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         if ($request->type && $request->type == 1) {
 
-             return $this->jobsService->jobsShow($request->id, $user);
 
-         }
 
-         $tip = "职位恢复后将会对外公开招聘,您确定要恢复选中的职位吗?";
 
-         return view('app.company.ajax.ajax_warning', ['tip' => $tip]);
 
-     }
 
-     /**职位删除
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      */
 
-     public function jobsDel(Request $request)
 
-     {
 
-         if ($request->type && $request->type == 1) {
 
-             $id   = $request->id;
 
-             $user = auth('web-company')->user();
 
-             return $this->jobsService->jobsDel($id, $user);
 
-         }
 
-         $tip = "被删除后将无法恢复,您确定要删除选中的职位吗?";
 
-         return view('app.company.ajax.ajax_warning', ['tip' => $tip]);
 
-     }
 
-     /**
 
-      * 删除所有职位
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View
 
-      */
 
-     public function delAll(Request $request)
 
-     {
 
-         if ($request->type && $request->type == 1) {
 
-             $id   = $request->id;
 
-             $user = auth('web-company')->user();
 
-             return $this->jobsService->jobsDel($id, $user);
 
-         }
 
-         $tip = "被删除后将无法恢复,您确定要删除选中的职位吗?";
 
-         return view('app.company.ajax.ajax_warning', ['tip' => $tip]);
 
-     }
 
-     /**紧急招聘
 
-      *
 
-      */
 
-     public function jobsEmergency(Request $request)
 
-     {
 
-         if (!$request->jobs_id) {
 
-             return response()->json(['status' => 0, 'msg' => '参数错误!']);
 
-         }
 
-         $user      = auth('web-company')->user();
 
-         $jobsExist = $this->jobsRepository->jobsHas($user, $request->jobs_id);
 
-         if (empty($jobsExist)) {
 
-             return response()->json(['status' => 0, 'msg' => "没有这个职位"]);
 
-         }
 
-         $res            = $this->serviceService->incrementAdd('emergency', $request->all());
 
-         $res['jobs_id'] = $request->jobs_id;
 
-         $html           = view('app.jobs.ajax.ajax_jobs_stick_emergency', $res)->render();
 
-         return response()->json(['status' => 1, 'msg' => $html]);
 
-     }
 
-     /**职位置顶
 
-      * @param Request $request
 
-      * @return \Illuminate\Http\JsonResponse
 
-      * @throws \Throwable
 
-      */
 
-     public function jobsStick(Request $request)
 
-     {
 
-         if (!$request->jobs_id) {
 
-             return response()->json(['status' => 0, 'msg' => '参数错误!']);
 
-         }
 
-         $user = auth('web-company')->user();
 
-         $jobsExist = $this->jobsRepository->jobsHas($user, $request->jobs_id);
 
-         if (empty($jobsExist)) {
 
-             return response()->json(['status' => 0, 'msg' => "没有这个职位"]);
 
-         }
 
-         $res            = $this->serviceService->incrementAdd('stick', $request->all());
 
-         $res['jobs_id'] = $request->jobs_id;
 
-         $html           = view('app.jobs.ajax.ajax_jobs_stick_emergency', $res)->render();
 
-         return response()->json(['status' => 1, 'msg' => $html]);
 
-     }
 
-     /**招聘效果统计===访客统计
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|mixed
 
-      * @throws \Throwable
 
-      */
 
-     public function statisticsVisitor(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         if ($request->ajax()) {
 
-             return $this->jobsService->statisticsVisitor($request, $user);
 
-         }
 
-         $company_setmeal = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//会员套餐
 
-         $res             = $this->jobsService->statisticsVisitor($request, $user);
 
-         $res['company_setmeal'] = $company_setmeal;
 
-         $jobs_total             = $this->jobsService->jobsTotal($user->id);
 
-         $res['jobsCount']       = $jobs_total;
 
- //                dd($res['view_time']);
 
-         return view('app.jobs.jobs_statistics_visitor', $res);
 
-     }
 
-     /**招聘效果统计===职位浏览
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|mixed
 
-      * @throws \Throwable
 
-      */
 
-     public function statisticsViewjobs(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         if ($request->ajax()) {
 
-             return $this->jobsService->statisticsViewjobs($request, $user);
 
-         }
 
-         $res                    = $this->jobsService->statisticsViewjobs($request, $user);
 
-         $company_setmeal        = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//会员套餐
 
-         $res['company_setmeal'] = $company_setmeal;
 
-         $jobs_total             = $this->jobsService->jobsTotal($user->id);
 
-         $res['jobsCount']       = $jobs_total;
 
-         return view('app.jobs.jobs_statistics_viewjobs', $res);
 
-     }
 
-     /**招聘效果统计===应聘统计
 
-      * @param Request $request
 
-      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|mixed
 
-      * @throws \Throwable
 
-      */
 
-     public function statisticsApply(Request $request)
 
-     {
 
-         $user = auth('web-company')->user();
 
-         if ($request->ajax()) {
 
-             return $this->jobsService->statisticsApply($request, $user);
 
-         }
 
-         $res = $this->jobsService->statisticsApply($request, $user);
 
-         $company_setmeal        = $this->memberSetmealRepository->getSetmealByUid($user->id, $user->utype);//会员套餐
 
-         $res['company_setmeal'] = $company_setmeal;
 
-         $jobs_total             = $this->jobsService->jobsTotal($user->id);
 
-         $res['jobsCount']       = $jobs_total;
 
-         return view('app.jobs.jobs_statistics_apply', $res);
 
-     }
 
- }
 
 
  |