103 lines
3.3 KiB
PHP
103 lines
3.3 KiB
PHP
<?php
|
||
/**
|
||
* Created by PhpStorm.
|
||
* User: Administrator
|
||
* Date: 2020/4/30
|
||
* Time: 0:28
|
||
*/
|
||
|
||
namespace app\api\model;
|
||
|
||
|
||
use think\Db;
|
||
use think\Model;
|
||
|
||
class NewMajor extends Model
|
||
{
|
||
/*
|
||
* 新高考向本省招收的专业学校
|
||
* */
|
||
public static function getNewMajorSch($array,$user_id,$page = 1, $limit = 10){
|
||
$where = [];
|
||
//搜索条件
|
||
unset($array['page']);
|
||
unset($array['type']);
|
||
unset($array['reType']);
|
||
unset($array['userPro']);
|
||
foreach ($array as $key => $value) {
|
||
if (!empty($value)) {
|
||
switch ($key) {
|
||
case 'code':
|
||
$where[] = ['majorCode', '=', ($value)];
|
||
break;
|
||
case 'score':
|
||
$where[] = ['myscore', '=', $value];
|
||
break;
|
||
case 'mySub':
|
||
$where[] = ['mykemu', '=', $value];
|
||
$val = preg_split('//', $value, -1, PREG_SPLIT_NO_EMPTY);
|
||
$where[] = ['chooseNums', 'in', ($val[0].','.$val[1].','.$val[2].','.$val[0].$val[1].','.$val[0].$val[2].','.$val[1].$val[2].','.$val[0].$val[1].$val[2].',999')];
|
||
break;
|
||
|
||
}
|
||
}
|
||
}
|
||
//计算总数
|
||
$count = Db::table('rec_zhejiang_majors')
|
||
->where($where)
|
||
->count();
|
||
|
||
|
||
//查询数据
|
||
$result = Db::table('rec_zhejiang_majors')
|
||
->field('collegeName,probability,rankOfCn,professionCode,is985,is211,issyl,provinceName,estimatedRanking,minScore,collegeId,id,batch,planNum,chooseCns,classify,professionName,majorCode')
|
||
->where($where)
|
||
->page($page, $limit)
|
||
->select();
|
||
|
||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||
//查询用户收藏的专业
|
||
$resCollect = [];
|
||
if($user_id){
|
||
$resCollect = CollectNewMajor::getUserNewMajor($user_id);
|
||
}
|
||
//查询位次和院校排名
|
||
foreach ($result as $key =>$val) {
|
||
$result[$key]['tags'] = $val['provinceName']." ".$val['classify'];
|
||
//判断211,985,双一流是否是1
|
||
if($val['is985'])
|
||
$result[$key]['tags'] = $result[$key]['tags']." "."985";
|
||
if($val['is211'])
|
||
$result[$key]['tags'] = $result[$key]['tags']." "."211";
|
||
if($val['issyl'])
|
||
$result[$key]['tags'] = $result[$key]['tags']." "."双一流";
|
||
//收藏赋值
|
||
$result[$key]['is_collect'] = 0;
|
||
if(is_array($resCollect)){
|
||
if(in_array($val['id']."_".$val['majorCode']."_".$val['professionCode'],$resCollect)){
|
||
$result[$key]['is_collect'] = 1;
|
||
}
|
||
}
|
||
$result[$key]['lowestRank'] = $result[$key]['estimatedRanking'];
|
||
}
|
||
|
||
|
||
|
||
//分页数据
|
||
$info = [
|
||
'limit' => $limit,
|
||
'page_current' => $page,
|
||
'page_sum' => ceil($count / $limit),
|
||
];
|
||
//组合返回
|
||
$list = [
|
||
'msg' => $msg,
|
||
'count' => $count,
|
||
'info' => $info,
|
||
'res' => $result
|
||
];
|
||
|
||
|
||
return $list;
|
||
}
|
||
} |