123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- namespace App\Repositories;
- use App\Models\CompanyDownResume;
- use Illuminate\Support\Facades\DB;
- use Prettus\Repository\Eloquent\BaseRepository;
- use Prettus\Repository\Criteria\RequestCriteria;
- /**
- * Class MemberRepositoryEloquent.
- *
- * @package namespace App\Repositories;
- */
- class CompanyDownResumeRepository extends BaseRepository
- {
- /**
- * Specify Model class name
- *
- * @return string
- */
- public function model()
- {
- return CompanyDownResume::class;
- }
- /**
- * Boot up the repository, pushing criteria
- */
- public function boot()
- {
- $this->pushCriteria(app(RequestCriteria::class));
- }
- public function getDownResume($data)
- {
- return $this->model->where($data)->first();
- }
- public function resumeDownDel($ids, $where)
- {
- return $this->model->where($where)->whereIn('id', $ids)->delete();
- }
- /**下载简历列表
- * @param $where
- * @param $map
- * @param $page
- * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
- */
- public function downResume($where, $map, $page)
- {
- return $this->model->with('resumes')->where($map)->where($where)->orderBy("is_reply", "asc")->orderBy('down_addtime', 'desc')->paginate($page, ['*']);
- }
- /**获取简历ID
- * @param $id
- * @return mixed
- */
- public function getResumeId($id)
- {
- return $this->model->whereIn('id', $id)->select(['resume_id'])->get()->toArray();
- }
- /**企业标记简历
- * @param $id
- * @param $data
- * @return mixed
- */
- public function companyLabelResume($id, $data)
- {
- return $this->model->where('id', $id)->update($data);
- }
- //获取已下载简历数量
- public function getDownResumeNums($where)
- {
- return $this->model->where($where)->count();
- }
- //获取简历下载信息集合
- public function getDowmResumes($where, $whereIn = array(), $arr_filed = 'resume_id')
- {
- $list = array();
- if ($whereIn) {
- reset($whereIn);
- $rst = $this->model->where($where)->whereIn(key($whereIn), $whereIn[key($whereIn)])->get();
- } else {
- $rst = $this->model->where($where)->get();
- }
- if ($rst->toArray()) {
- foreach ($rst as $k => $v) {
- $list[$v->$arr_filed] = $v;
- }
- }
- return $list;
- }
- public function getStateArr()
- {
- return $this->model->getStateArr();
- }
- public function updateData($where, $set_data)
- {
- return $this->model->where($where)->update($set_data);
- }
- public function getDownResumes($where = array(), $orderby = array(), $limit = '')
- {
- /*$rst = $this->model->with('resumes')->where($where);
- if ($orderby) {
- foreach ($orderby as $k => $v) {
- $rst->orderBy($k, $v);
- }
- }
- if ($limit) {
- $rst->limit($limit);
- }
- return $rst->get();*/
- $rst = $this->model->with('resumes')->whereHas('subsite_resume', function ($query) { $query->where('subsite_id', get_subsite_id());})->where($where);
- if ($orderby) {
- foreach ($orderby as $k => $v) {
- $rst->orderBy($k, $v);
- }
- }
- if ($limit) {
- $rst->limit($limit);
- }
- return $rst->get();
- }
- public function getResumeNumGroup($where, $group_by, $subsite_id)
- {
- return $this->model->where($where)->select(DB::raw('count(id),DATE(created_at)'))->when($subsite_id!=-1, function($query) use($subsite_id) {
- $query->whereHas('companys', function ($query) use($subsite_id) {
- $query->where(['subsite_id'=>$subsite_id]);
- });
- })->groupBy($group_by)->get();
- }
- public function getPluck($where,$column)
- {
- return $this->model->where($where)->pluck($column);
- }
- }
|