| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: wuzhenke
 
-  * Date: 2019/1/24
 
-  * Time: 17:26
 
-  */
 
- namespace App\Repositories\Jobfair;
 
- use App\Models\Jobfair\Jobfair;
 
- use Prettus\Repository\Eloquent\BaseRepository;
 
- class JobfairRepository extends BaseRepository
 
- {
 
-     public function model()
 
-     {
 
-         return Jobfair::class;
 
-     }
 
-     public function firstJobfair($where)
 
-     {
 
-         return $this->model->when(get_subsite_id()>0,function($query){
 
-             $query->whereHas('subsite', function ($query) {
 
-                 $query->where('subsite_id', get_subsite_id());
 
-             });
 
-         })->where($where)->where(function ($query) {
 
-             $query->where('showendtime', 0)->orWhere('showendtime', '>=', time());
 
-         })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->first();
 
-     }
 
-     public function findJobfair($where)
 
-     {
 
-         return $this->model->with(['floorPlan'=>function ($query) {
 
-             $query->orderBy('order_list', 'desc');
 
-         }])->where($where)->where(function ($query) use ($where) {
 
-             $query->where('showendtime', '>=', time())->orWhere('showendtime', 0);
 
-         })->first();
 
-     }
 
-     public function allJobfair($where, $page, $pageCount,$search_type,$key)
 
-     {
 
-         return $this->model->when(get_subsite_id()>0,function($query){
 
-             $query->whereHas('subsite', function ($query) {
 
-                 $query->where('subsite_id', get_subsite_id());
 
-             });
 
-         })->when($search_type == 'jobs',function($query) use ($key){
 
-             $query->whereHas('putJobs',function($query) use ($key){
 
-                 $query->whereHas('jobs',function($query) use ($key){
 
-                     $query->where('jobs_name','like', '%'.$key.'%')->where('audit',1)->where('display',1);
 
-                 })->whereHas('jobfair_company',function ($query){
 
-                     $query->where('audit',1);
 
-                 });
 
-             });
 
-         })->when($search_type == 'company',function($query) use ($key){
 
-             $query->whereHas('jobfairCompany',function($query) use ($key){
 
-                 $query->whereHas('companys',function($query) use ($key){
 
-                     $query->where('companyname','like', '%'.$key.'%');
 
-                 });
 
-             });
 
-         })
 
-             ->where($where)->Where(function ($query) use ($where) {
 
-             $query->where('showendtime', 0)->orWhere('showendtime', '>=', time());
 
-         })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->offset($page*$pageCount)->limit($pageCount)->get();
 
-     }
 
-     public function Aioalljobfair($page)
 
-     {
 
-         return $this->model->when(get_subsite_id()>0,function($query){
 
-             $query->whereHas('subsite', function ($query) {
 
-                 $query->where('subsite_id', get_subsite_id());
 
-             });
 
-         })->Where(function ($query) {
 
-             $query->where('showendtime', 0)->orWhere('showendtime', '>=', time());
 
-         })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->paginate($page);
 
-     }
 
-     public function findOne($where)
 
-     {
 
-         return $this->model->with('jobfairCompany')->where($where)->where(function ($query) use ($where) {
 
-             $query->where('showendtime', '>=', time())->orWhere('showendtime', 0);
 
-         })->first();
 
-     }
 
-     public function getJobfairList($com_id)
 
-     {
 
-         return $this->model->with(['jobfairCompany'=>function ($query) use ($com_id){
 
-             $query->where('company_id',$com_id);
 
-         }])->where(function ($query) {
 
-             $query->where('showendtime', '>=', time())->orWhere('showendtime', 0);
 
-         })->where(['display'=>1])->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')
 
-             ->orderBy('predetermined_end', 'desc')->paginate(10);
 
-     }
 
-     public function getBlacklistCompany()
 
-     {
 
-         return $this->model->whereHas('jobfairCom',function ($query) {
 
-             $query->where('type', 0)->where('black_status', 0)->where('audit', 1)->where('created_at', '>', date('Y-m-d H:i:s', strtotime('-30 days')));
 
-         })->where('holddate_end', '<', time())->get();
 
-     }
 
-     //允许预定的招聘会
 
-     public function getJobfairOpen()
 
-     {
 
-         return $this->model->where('predetermined_status', 1)->get();
 
-     }
 
-     //正在开启的招聘会
 
-     public function getOpenJobfair($where = [])
 
-     {
 
-         return $this->model->where($where)->get();
 
-     }
 
-     //正在开启的招聘会
 
-     public function getOneOpenJobfair($where = [])
 
-     {
 
-         return $this->model->where($where)->first();
 
-     }
 
-     //企业预定开启的招聘会
 
-     public function getCompanyOpenJobfair($where = [],$company_where)
 
-     {
 
-         return $this->model->whereHas('jobfairCompany',function ($query) use ($company_where) {
 
-             $query->where($company_where);
 
-         })->where($where)->get();
 
-     }
 
-     //正在开启的招聘会
 
-     public function getOneCompanyOpenJobfair($where = [],$company_where)
 
-     {
 
-         return $this->model->whereHas('jobfairCompany',function ($query) use ($company_where) {
 
-             $query->where($company_where);
 
-         })->where($where)->first();
 
-     }
 
-     public function getJobfairs($where = array(), $order = array(), $limit = '')
 
-     {
 
-         $rst = $this->model->when(get_subsite_id()>0,function($query){
 
-             $query->whereHas('subsite', function ($query) {
 
-                 $query->where('subsite_id', get_subsite_id());
 
-             });
 
-         })->where($where)->where(function ($query) {
 
-             $query->where('showendtime', 0)->orWhere('showendtime', '>=', time());
 
-         });
 
-         if ($order) {
 
-             if (is_array($order)) {
 
-                 foreach ($order as $k => $v) {
 
-                     $rst->orderBy($k, $v);
 
-                 }
 
-             } else {
 
-                 $rst->orderbyRaw($order);
 
-             }
 
-         }
 
-         if ($limit) {
 
-             $rst->limit($limit);
 
-         }
 
-         return $rst->get();
 
-     }
 
-     public function getJobfairNum($where)
 
-     {
 
-         return $this->model->where($where)->count();
 
-     }
 
-     public function getStatisticsJobfairs($where)
 
-     {
 
-         return $this->model->withTrashed()->where($where)->get();
 
-     }
 
- }
 
 
  |