$value) { if (!empty($value)) { switch ($key) { case 'userPro': $where[] = ['yzy_province', '=', $value]; break; case 'subType': $where[] = ['wenli', '=', $value]; break; case 'province': $where[] = ['province', 'in', ($value)]; break; case 'batch': $where[] = ['batch', 'in', ($value)]; break; } } } $count = self::where([['title','like','%'.$title . '%'],['level','=',3]])->cache(3600) ->count(); //查询在本省招生专业的数据 $result = self::field('title,pid,code') ->where([['title','like','%'.$title . '%'],['level','=',3]]) ->cache(3600) ->page($page,$limit) ->select(); empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!'; foreach($result as $key => $val){ //查询向本省招该专业的院校数量 $result[$key]['countSch'] = Db::table('yzy_major_plan')->where($where)->where([['majorCode','=',$val['code']],['year','=',$year]])->count(); $result[$key]['sumPlan'] = Db::table('yzy_major_plan')->where($where)->where([['majorCode','=',$val['code']],['year','=',$year]])->sum('planNum'); //获取类别 $majorType = self::field('title')->where('id','=',$val['pid'])->find(); $result[$key]['typeName'] = $majorType['title']; //获取专业相关信息 $resContent = Db::table('yzy_major_content')->field('batch,year_length,degree,sex_bili,year_length')->where('major_code','=',$val['code'])->find(); $result[$key]['learnYear'] = $resContent['year_length']; $result[$key]['batch'] = $resContent['batch']; $result[$key]['degree'] = $resContent['degree']; $result[$key]['sex_bili'] = $resContent['sex_bili']; } //分页数据 $info = [ 'limit' => $limit, 'page_current' => $page, 'page_sum' => ceil($count / $limit), ]; //组合返回 $list = [ 'msg' => $msg, 'count' => $count, 'info' => $info, 'res' => $result, ]; return $list; } /* * 专业搜索默认显示数据 * */ public static function getDefaultMajor($array){ //获取配置表的年份 $year = config('setsub.year'); $majorArr = config('major.defaultMajor'); //搜索条件 unset($array['title']); foreach ($array as $key => $value) { if (!empty($value)) { switch ($key) { case 'userPro': $where[] = ['yzy_province', '=', $value]; break; case 'subType': $where[] = ['wenli', '=', $value]; break; case 'province': $where[] = ['province', 'in', ($value)]; break; case 'batch': $where[] = ['batch', 'in', ($value)]; break; } } } //查询在本省招生专业的数据 $result = self::field('title,pid,code') ->where([['code','in',$majorArr],['level','=',3]]) ->cache(3600) ->select(); empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!'; foreach($result as $key => $val){ //查询向本省招该专业的院校数量 $result[$key]['countSch'] = Db::table('yzy_major_plan')->where($where)->where([['majorCode','=',$val['code']],['year','=',$year]])->count(); $result[$key]['sumPlan'] = Db::table('yzy_major_plan')->where($where)->where([['majorCode','=',$val['code']],['year','=',$year]])->sum('planNum'); //获取类别 $majorType = self::field('title')->where('id','=',$val['pid'])->find(); $result[$key]['typeName'] = $majorType['title']; //获取专业相关信息 $resContent = Db::table('yzy_major_content')->field('batch,year_length,degree,sex_bili,year_length')->where('major_code','=',$val['code'])->find(); $result[$key]['batch'] = $resContent['batch']; $result[$key]['learnYear'] = $resContent['year_length']; $result[$key]['degree'] = $resContent['degree']; $result[$key]['sex_bili'] = $resContent['sex_bili']; } $res['majorContent'] = $result; $res['majorTitle'] = config('major.major'); return $res; } /* * 查询外省向本省招收专业的学校 * */ public static function getMajorSch($data,$user_id,$page = 1, $limit = 5){ //获取配置表的年份 $year = 2018; $where[] = ['year','=',$year]; //搜索条件 unset($data['page']); foreach ($data as $key => $value) { if (!empty($value)) { switch ($key) { case 'code': $where[] = ['majorCode', '=', $value]; break; case 'userPro': $where[] = ['yzy_province', '=', $value]; break; case 'subType': $where[] = ['wenli', '=', $value]; break; } } } $count = Db::table('yzy_major_score') ->where($where) ->count(); //查询在本省招生专业的数据 $result = Db::table('yzy_major_score') ->field('id,sch_id,batchName,batch,majorCode,major,minScore,lowSort,enterNum,planNum,typeName,cost,sch_name,code') ->where($where) ->page($page,$limit) ->select(); empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!'; foreach($result as $key => $val){ $result[$key]['title'] = $val['major']; $result[$key]['lowestRank'] = $val['lowSort']; $result[$key]['tags'] = $val['typeName']; $result[$key]['title'] = $val['major']; unset($result[$key]['major']); unset($result[$key]['lowSort']); } //分页数据 $info = [ 'limit' => $limit, 'page_current' => $page, 'page_sum' => ceil($count / $limit), ]; //组合返回 $list = [ 'msg' => $msg, 'count' => $count, 'info' => $info, 'data' => $result, ]; return $list; } /* * 查询院校的专业 * */ public static function getSchMajorBy($data,$user_id){ //调用配置表年份 $year = config('setsub.year'); if($data['userPro'] == 1){ $tableMajor = $data['subType'] == 1 ? 'rec_js_wen_major':'rec_js_li_major'; }else{ $tableMajor = $data['subType'] == 1 ? 'rec_wen_major':'rec_li_major'; } //查询用户收藏的专业 $resCollect = []; if($user_id){ $resCollect = CollectMajor::getUserCollectMajor($user_id,$data['userPro'],$data['subType'],$data['score']); } $result = Db::table($tableMajor)->where('rec_id','=',$data['id'])->find(); if(empty($result)){ $arr = []; }else{ $res = json_decode($result['professions']); foreach ($res as $key => $val){ $arr[$key]['probability'] = $val->probability; $arr[$key]['title'] = $val->alias; $arr[$key]['cost'] = $val->cost; $arr[$key]['code'] = $val->code; $arr[$key]['enterNum'] = $val->enterNum; $arr[$key]['planNum'] = $val->planNum; $arr[$key]['majorCode'] = $val->majorCode; $arr[$key]['rec_id'] = $result['rec_id']; $resRank = json_decode($val->extended); $arr[$key]['lowestRank'] = $resRank[0]->ls; $arr[$key]['minScore'] = $resRank[0]->ms; $arr[$key]['is_collect'] = 0;//收藏默认0,后期修改 $resType = self::alias('a')->field('b.title') ->join('yzy_majors b','a.pid = b.id','left') ->where('a.code','=',$val->majorCode) ->find(); $arr[$key]['tags'] = $resType['title']; $arr[$key]['is_collect'] = 0; if(is_array($resCollect)){ if(in_array($data['sch_id'].'_'.$val->majorCode.'_'.$val->code,$resCollect)){ $arr[$key]['is_collect'] = 1; } } } } return $arr; } }