first commit
This commit is contained in:
1
芳林公司项目/www.zhiyuanhelp.com/application/api/model/.pydio
Normal file
1
芳林公司项目/www.zhiyuanhelp.com/application/api/model/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
a294644e-0e11-4dea-ac7d-2e3eb2172436
|
||||
33
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Batchs.php
Normal file
33
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Batchs.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/13
|
||||
* Time: 23:29
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Model;
|
||||
|
||||
class Batchs extends Model
|
||||
{
|
||||
protected $table = 'yzy_batchs';
|
||||
|
||||
/*
|
||||
* 根据省份和年份,文理、分数查询最新批次
|
||||
* @param provinceID int 省份ID
|
||||
* */
|
||||
public static function getBatchsByProvince($provinceID,$score,$subType = 0){
|
||||
//获取配置表的年份
|
||||
$year = config('setsub.year');
|
||||
$result = self::field('batch,batchName')->where([['yzy_province','=',$provinceID],['year','=',$year],['batch','<>',0],
|
||||
['score','<=',$score],['wenli','=',$subType]])->group('batchName')->order('batch asc')->select()->toArray();
|
||||
//判断数组是否大于3,批次大于3的话去掉最低批次
|
||||
if(count($result)>2){
|
||||
array_pop($result);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/21
|
||||
* Time: 19:37
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use app\lib\exception\ParamException;
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
|
||||
class CollectMajor extends Model
|
||||
{
|
||||
protected $table = 'user_collect_major';
|
||||
|
||||
/*
|
||||
* 收藏专业
|
||||
* @param userID int 用户id
|
||||
* @param data 收藏内容
|
||||
* @return | bool
|
||||
* */
|
||||
public static function addUserCollectMajor($userID, $data)
|
||||
{
|
||||
|
||||
$data['user_id'] = $userID;
|
||||
$data['add_time'] = time();
|
||||
$result = self::insertGetId($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 检查是否已收藏过该专业
|
||||
* */
|
||||
public static function checkMyCollectMajor($sch_id,$userPro,$majorCode,$subType,$score,$userID)
|
||||
{
|
||||
$result = self::where([['user_id', '=', $userID],['sch_id', '=', $sch_id],['is_collect', '=', 1],['userPro','=',$userPro],['majorCode','=',$majorCode],['subType','=',$subType],['score','=',$score]])->count();
|
||||
if($result){
|
||||
throw new ParamException([
|
||||
'code' => 401,
|
||||
'msg' => '已收藏过该专业',
|
||||
'errorCode' => 10001
|
||||
]);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据用户id查询用户收藏的全部专业学校id
|
||||
* */
|
||||
public static function getUserCollectMajor($userID,$userPro,$subType,$score)
|
||||
{
|
||||
$result = self::field('majorCode,sch_id,code')->where([['user_id', '=', $userID], ['is_collect', '=', 1],['userPro','=',$userPro],['subType','=',$subType],['score','=',$score]])->select()->toArray();
|
||||
if ($result) {
|
||||
foreach($result as $key => $val){
|
||||
$result[$key]['majorCode'] = $val['sch_id']."_".$val['majorCode']."_".$val['code'];
|
||||
}
|
||||
$result = array_column($result, 'majorCode');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 移除收藏的专业
|
||||
* */
|
||||
public static function delMyCollectMajor($id, $userID)
|
||||
{
|
||||
$result = self::where([['id', '=', $id], ['user_id', '=', $userID]])->update(['is_collect' => 2]);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 查询我收藏的专业
|
||||
* */
|
||||
public static function getMyCollectMajor($data,$userID,$page = 1, $limit = 10)
|
||||
{
|
||||
$where [] = empty($data['score'])?
|
||||
[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1]]:[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1],['score','=',$data['score']]];
|
||||
//统计收藏专业数量
|
||||
$count = self::where($where)->count();
|
||||
//查询专业数据
|
||||
$result = self::where($where)
|
||||
->page($page, $limit)->select();
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'res' => $result,
|
||||
];
|
||||
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/27
|
||||
* Time: 15:28
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use app\lib\exception\ParamException;
|
||||
use think\Model;
|
||||
|
||||
class CollectNewMajor extends Model
|
||||
{
|
||||
protected $table = 'user_collect_new_major';
|
||||
|
||||
/*
|
||||
* 新高考收藏专业
|
||||
* @param userID int 用户id
|
||||
* @param data 收藏内容
|
||||
* @return | bool
|
||||
* */
|
||||
public static function addUserNewMajor($userID, $data)
|
||||
{
|
||||
|
||||
$data['user_id'] = $userID;
|
||||
$data['add_time'] = time();
|
||||
$result = self::insertGetId($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 检查是否已收藏过该专业
|
||||
* */
|
||||
public static function checkMyNewMajor($plan_id, $userID)
|
||||
{
|
||||
$result = self::where([['plan_id', '=', $plan_id], ['user_id', '=', $userID],['is_collect','=',1]])->count();
|
||||
if($result){
|
||||
throw new ParamException([
|
||||
'code' => 401,
|
||||
'msg' => '已收藏过该专业',
|
||||
'errorCode' => 10001
|
||||
]);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据用户id查询用户收藏的全部专业学校id
|
||||
* */
|
||||
public static function getUserNewMajor($userID)
|
||||
{
|
||||
$result = self::field('plan_id,professionCode,majorCode')->where([['user_id', '=', $userID], ['is_collect', '=', 1]])->select()->toArray();
|
||||
if ($result) {
|
||||
foreach($result as $key => $val){
|
||||
$result[$key]['majorCode'] = $val['plan_id']."_".$val['majorCode']."_".$val['professionCode'];
|
||||
}
|
||||
$result = array_column($result, 'majorCode');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考移除收藏的专业
|
||||
* */
|
||||
public static function delMyNewMajor($id, $userID)
|
||||
{
|
||||
$result = self::where([['id', '=', $id], ['user_id', '=', $userID]])->update(['is_collect' => 2]);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考查询我收藏的专业
|
||||
* */
|
||||
public static function getMyNewMajor($data,$userID,$page = 1, $limit = 10)
|
||||
{
|
||||
$where [] = empty($data['score'])?
|
||||
[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1]]:[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1],['score','=',$data['score']]];
|
||||
//统计收藏专业数量
|
||||
$count = self::where([['user_id', '=', $userID], ['is_collect', '=', 1]])->count();
|
||||
//查询专业数据
|
||||
$result = self::where([['user_id', '=', $userID],['is_collect', '=', 1]])
|
||||
->page($page, $limit)->select();
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'res' => $result,
|
||||
];
|
||||
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/27
|
||||
* Time: 16:49
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use app\lib\exception\ParamException;
|
||||
use think\Model;
|
||||
|
||||
class CollectNewSch extends Model
|
||||
{
|
||||
protected $table = 'user_collect_new_school';
|
||||
|
||||
/*
|
||||
* 新高考收藏院校
|
||||
* @param userID int 用户id
|
||||
* @param data 收藏内容
|
||||
* @return | bool
|
||||
* */
|
||||
public static function addUserNewSch($userID, $data)
|
||||
{
|
||||
|
||||
$data['user_id'] = $userID;
|
||||
$data['add_time'] = time();
|
||||
$result = self::insertGetId($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 检查是否已收藏过该院校
|
||||
* */
|
||||
public static function checkMyNewSch($plan_id, $userID)
|
||||
{
|
||||
$result = self::where([['user_id', '=', $userID],['plan_id', '=', $plan_id],['is_collect','=',1]])->count();
|
||||
if($result){
|
||||
throw new ParamException([
|
||||
'code' => 401,
|
||||
'msg' => '已收藏过该院校',
|
||||
'errorCode' => 10001
|
||||
]);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据用户id查询用户收藏的全部专业学校id
|
||||
* */
|
||||
public static function getNewUserSch($userID)
|
||||
{
|
||||
$result = self::field('plan_id')->where([['user_id', '=', $userID], ['is_collect', '=', 1]])->select()->toArray();
|
||||
if ($result) {
|
||||
$result = array_column($result, 'plan_id');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考移除收藏的院校
|
||||
* */
|
||||
public static function delMyNewSch($id, $userID)
|
||||
{
|
||||
$result = self::where([['id', '=', $id], ['user_id', '=', $userID]])->update(['is_collect' => 2]);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 新高考查询我收藏的院校
|
||||
* */
|
||||
public static function getMyNewSch($data,$userID,$page = 1, $limit = 10)
|
||||
{
|
||||
$where [] = empty($data['score'])?
|
||||
[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1]]:[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1],['score','=',$data['score']]];
|
||||
//统计收藏院校数量
|
||||
$count = self::where($where)->count();
|
||||
//查询院校数据
|
||||
$result = self::where($where)
|
||||
->page($page, $limit)->select();
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'res' => $result,
|
||||
];
|
||||
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
280
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Major.php
Normal file
280
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Major.php
Normal file
@@ -0,0 +1,280 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/20
|
||||
* Time: 19:39
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
|
||||
class Major extends Model
|
||||
{
|
||||
protected $table = 'yzy_majors';
|
||||
|
||||
/*
|
||||
* 通过title搜索专业数据
|
||||
* */
|
||||
public static function getMajorInfoByTitle($array,$page,$limit = 10){
|
||||
//获取配置表的年份
|
||||
$year = config('setsub.year');
|
||||
$title = $array['title'];
|
||||
//搜索条件
|
||||
unset($array['page']);
|
||||
unset($array['type']);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
103
芳林公司项目/www.zhiyuanhelp.com/application/api/model/NewMajor.php
Normal file
103
芳林公司项目/www.zhiyuanhelp.com/application/api/model/NewMajor.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/27
|
||||
* Time: 19:26
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use app\api\model\CollectNewMajor;
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
|
||||
class NewSchMajor extends Model
|
||||
{
|
||||
|
||||
/*
|
||||
* 新高考查询学校专业
|
||||
* */
|
||||
public static function getNewSchoolMajors($array,$user_id){
|
||||
|
||||
unset($array['userPro']);
|
||||
|
||||
$result = Db::table('rec_zhejiang_schs_majors')->field('rec_id,professions')->where('rec_id','=',$array['id'])->find();
|
||||
|
||||
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
//查询用户收藏的专业
|
||||
$resCollect = [];
|
||||
if($user_id){
|
||||
$resCollect = CollectNewMajor::getUserNewMajor($user_id);
|
||||
}
|
||||
if(empty($result)){
|
||||
$arr = [];
|
||||
}else{
|
||||
$res = json_decode($result['professions']);
|
||||
foreach ($res as $key => $val){
|
||||
|
||||
$arr[$key]['probability'] = $val->probability;
|
||||
$arr[$key]['professionName'] = $val->professionName;
|
||||
$arr[$key]['cost'] = $val->cost;
|
||||
$arr[$key]['professionCode'] = $val->professionCode;
|
||||
$arr[$key]['enterNum'] = $val->enterNum;
|
||||
$arr[$key]['planNum'] = $val->planNum;
|
||||
$arr[$key]['majorCode'] = $val->majorCode;
|
||||
$arr[$key]['recommendType'] = $val->recommendType;
|
||||
$arr[$key]['chooseCns'] = $val->chooseCns;
|
||||
$arr[$key]['rec_id'] = $result['rec_id'];
|
||||
$arr[$key]['lowestRank'] = $val->minSort;;
|
||||
$arr[$key]['minScore'] = $val->minScore;
|
||||
$arr[$key]['is_collect'] = 0;//收藏默认0,后期修改
|
||||
if(is_array($resCollect)){
|
||||
if(in_array($result['rec_id'].'_'.$val->majorCode.'_'.$val->professionCode,$resCollect)){
|
||||
$arr[$key]['is_collect'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $arr;
|
||||
}
|
||||
}
|
||||
47
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Order.php
Normal file
47
芳林公司项目/www.zhiyuanhelp.com/application/api/model/Order.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/17
|
||||
* Time: 18:02
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Model;
|
||||
|
||||
class Order extends Model
|
||||
{
|
||||
protected $table = 'orders';
|
||||
/*
|
||||
* 下单时判断订单是否已支付
|
||||
* */
|
||||
public static function checkOrder($user_id,$score,$userPro,$vipType,$subType = 0, $mySub = 0){
|
||||
$resOrder = self::field('id,status')->where([['user_id','=',$user_id],['stu_yzy_province','=',$userPro],['score','=',$score],
|
||||
['wenli','=',$subType],['mykemu','=',$mySub],['vip','=',$vipType]])->find();
|
||||
return $resOrder;
|
||||
}
|
||||
|
||||
/*
|
||||
* 个人中心订单数据查询
|
||||
* @param $userID int 用户id
|
||||
* @param $status int 支付状态
|
||||
* */
|
||||
public static function getOrders($userID,$status){
|
||||
$result = self::field('vip,stu_yzy_province,province_title,score,mykemustr,mykemu,wenli,stu_province')->where([['user_id','=',$userID],['status','=',$status]])->select();
|
||||
foreach ($result as $key => $val){
|
||||
if($val['wenli']){
|
||||
$result[$key]['subTypeName'] = config('setsub.subTypeName')[$val['wenli']];
|
||||
}
|
||||
|
||||
if($val['mykemu']){
|
||||
$result[$key]['subName'] = $val['mykemustr'];
|
||||
unset($val['mykemustr']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/15
|
||||
* Time: 9:20
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Model;
|
||||
|
||||
class ProScoreRank extends Model
|
||||
{
|
||||
protected $table = 'yzy_weici';
|
||||
|
||||
/*
|
||||
* 根据省份,文理科,分数查询用户排名
|
||||
* @param $data['province'] int 省份code
|
||||
* @param $data['subType'] int 文理科或其他0
|
||||
* @param $data['score'] int 分数
|
||||
* return @array
|
||||
* */
|
||||
public static function getProRankByScore($data){
|
||||
//调用配置里面的年份
|
||||
$year = config('setsub.year');
|
||||
|
||||
$result = self::field('lowestRank,minScore')->where([['yzy_province','=',$data['province']],
|
||||
['wenli','=',$data['subType']],['year','=',$year],['minScore','<=',$data['score']],['maxScore','>=',$data['score']]])->cache(3600)->find();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/13
|
||||
* Time: 19:36
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Model;
|
||||
|
||||
class Province extends Model
|
||||
{
|
||||
protected $table = 'yzy_province';
|
||||
|
||||
/*
|
||||
* 获取区域
|
||||
* return array
|
||||
* */
|
||||
public static function getAreaInfo($type = 1){
|
||||
$res = self::field('id,code,title,real_code')->order('firsts ASC')->cache(3600)->select()->toArray();
|
||||
|
||||
if($type == 2) {
|
||||
foreach ($res as $key => $val) {
|
||||
if ($val['title'] == "西藏") {
|
||||
unset($res[$key]);
|
||||
}
|
||||
}
|
||||
$res = array_values($res);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,456 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/26
|
||||
* Time: 14:36
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use think\Db;
|
||||
use think\facade\Log;
|
||||
use think\Model;
|
||||
|
||||
class RecZhejiangMajor extends Model
|
||||
{
|
||||
|
||||
/*
|
||||
* 新高考专业查询
|
||||
* */
|
||||
public static function getNewMajorBy($array,$page = 1,$limit =10 ,$user_id,$vipType)
|
||||
{
|
||||
$where = [];
|
||||
//方便统计总数定义推荐类型
|
||||
$whereType = [];
|
||||
//推薦類型默認0
|
||||
$type = 0;
|
||||
$year = config('setsub.year');
|
||||
//默认排序条件
|
||||
$sort = 'dataType desc';
|
||||
//搜索条件
|
||||
unset($array['is_login']);
|
||||
unset($array['page']);
|
||||
unset($array['type']);
|
||||
unset($array['userPro']);
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
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;
|
||||
case 'reType':
|
||||
$type = $value;
|
||||
$value = $value - 1;
|
||||
//未购买权限limit-1
|
||||
if (($value == 0 || $value == 1) && ($limit == 2 || $limit == 5)) {
|
||||
$limit = $limit - 1;
|
||||
}
|
||||
$whereType[] = ['dataType', '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$value = changeCode($value);
|
||||
$where[] = ['provinceId', 'in', ($value)];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
|
||||
case 'schoolType':
|
||||
$where[] = ['collegeType', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
case 'sort':
|
||||
$sort = config('setsub.sort')[$value];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算总数
|
||||
if($vipType == 1){
|
||||
$count = Db::table('rec_zhejiang_majors')
|
||||
->where($where)
|
||||
->where($whereType)//提上去加索引
|
||||
->count();
|
||||
}else{
|
||||
$count = $limit;
|
||||
}
|
||||
//查询院校总数,可保底,稳妥,冲
|
||||
$resNum = self::getMajorNum($where,$limit,$vipType,$type);
|
||||
|
||||
//查询数据
|
||||
$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)
|
||||
->where($whereType)
|
||||
->page($page, $limit)
|
||||
->order($sort)
|
||||
->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,
|
||||
'countSchool' => $resNum
|
||||
];
|
||||
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
//获取新高考專業总数和保底,稳妥、推荐
|
||||
public static function getMajorNum($where,$limit,$vipType,$type){
|
||||
$arrNomalCount = array();
|
||||
$arrNomalCount[1] = 0;
|
||||
$arrNomalCount[2] = 0;
|
||||
$arrNomalCount[3] = 0;
|
||||
$arrLimitCount = array();
|
||||
$result = array();
|
||||
$cacheTime = empty($vipType)?3600:false;
|
||||
//总数
|
||||
$arrNomalCount[0] = Db::table('rec_zhejiang_majors')
|
||||
->where($where)->cache($cacheTime)
|
||||
->count();
|
||||
if($vipType == 0){
|
||||
//保底数量
|
||||
$arrNomalCount[3] = Db::table('rec_zhejiang_majors')
|
||||
->where($where)->where('dataType','=',2)->cache($cacheTime)
|
||||
->count();
|
||||
//稳妥数量
|
||||
$arrNomalCount[2] = Db::table('rec_zhejiang_majors')
|
||||
->where($where)->where('dataType','=',1)->cache($cacheTime)
|
||||
->count();
|
||||
//冲刺数量
|
||||
$arrNomalCount[1] = Db::table('rec_zhejiang_majors')
|
||||
->where($where)->where('dataType','=',0)->cache($cacheTime)
|
||||
->count();
|
||||
|
||||
//未购买权限的底部数据
|
||||
$arrLimitCount['3'] = $arrNomalCount[3] - $limit;
|
||||
$arrLimitCount['3']= $arrLimitCount['3']>0? $arrLimitCount['3']:0;
|
||||
$arrLimitCount['2'] = $arrNomalCount[2] - $limit;
|
||||
$arrLimitCount['2']= $arrLimitCount['2']>0? $arrLimitCount['2']:0;
|
||||
$arrLimitCount['1'] = $arrNomalCount[1] - $limit;
|
||||
$arrLimitCount['1']= $arrLimitCount['1']>0? $arrLimitCount['1']:0;
|
||||
|
||||
}else{
|
||||
if($type){
|
||||
$arrNomalCount[$type] = Db::table('rec_zhejiang_majors')
|
||||
->where($where)->where('dataType','=',$type-1)
|
||||
->count();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$result['topNumCount'] = $arrNomalCount;
|
||||
$result['bottomNumCount'] = $arrLimitCount;
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 新高考院校查询
|
||||
* */
|
||||
public static function getNewMajorSch($array,$page = 1,$limit =10 ,$user_id,$vipType)
|
||||
{
|
||||
$where = [];
|
||||
$year = config('setsub.year');
|
||||
//默认排序条件
|
||||
$sort = "id ASC";
|
||||
//搜索条件
|
||||
unset($array['is_login']);
|
||||
unset($array['page']);
|
||||
unset($array['type']);
|
||||
unset($array['reType']);
|
||||
unset($array['userPro']);
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
case 'score':
|
||||
$where[] = ['myscore', '=', $value];
|
||||
break;
|
||||
case 'mySub':
|
||||
$where[] = ['mykemu', '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$value = changeCode($value);
|
||||
$where[] = ['provinceId', 'in', ($value)];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
case 'schoolType':
|
||||
$where[] = ['collegeType', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
case 'sort':
|
||||
$sort = config('setsub.sort')[$value];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$hideCount = 0;
|
||||
//计算总数
|
||||
if($vipType == 1){
|
||||
$count = Db::table('rec_zhejiang_schs')
|
||||
->where($where)
|
||||
->count();
|
||||
}else{
|
||||
$count = $limit;
|
||||
$hideCount = Db::table('rec_zhejiang_schs')
|
||||
->where($where)
|
||||
->count();
|
||||
$hideCount = $hideCount - $limit;
|
||||
$hideCount = $hideCount<0?0:$hideCount;
|
||||
}
|
||||
|
||||
//查询数据
|
||||
$result = Db::table('rec_zhejiang_schs')
|
||||
->field('collegeName,rankOfCn,provinceName,collegeId,id,planNum,classify,collegeCode,majorNum')
|
||||
->where($where)
|
||||
->page($page, $limit)
|
||||
->order($sort)
|
||||
->select();
|
||||
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//查询用户收藏的专业
|
||||
$resCollect = [];
|
||||
if($user_id){
|
||||
$resCollect = CollectNewSch::getNewUserSch($user_id);
|
||||
}
|
||||
//查询位次和院校排名
|
||||
foreach ($result as $key =>$val) {
|
||||
$result[$key]['logo'] = '';
|
||||
$result[$key]['tags'] = $val['provinceName']." ".$val['classify'];
|
||||
$result[$key]['is_sch'] = 1;
|
||||
//收藏赋值
|
||||
$result[$key]['is_collect'] = 0;
|
||||
if(is_array($resCollect)){
|
||||
if(in_array($val['id'],$resCollect)){
|
||||
$result[$key]['is_collect'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$result[$key]['lowestRank'] = Db::table('yzy_zj_major_score')->where([['sch_id','=',$val['collegeId']],['year','=',$year]])->min('estimatedRanking');
|
||||
$result[$key]['minScore'] = Db::table('yzy_zj_major_score')->where([['sch_id','=',$val['collegeId']],['year','=',$year]])->min('minScore');
|
||||
}
|
||||
|
||||
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'res' => $result,
|
||||
'hideCount' => $hideCount
|
||||
];
|
||||
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 根据条件获取新高考专业数量
|
||||
* */
|
||||
public static function getNewMajorCount($array)
|
||||
{
|
||||
$where = [];
|
||||
//搜索条件
|
||||
unset($array['is_login']);
|
||||
unset($array['type']);
|
||||
unset($array['userPro']);
|
||||
unset($array['page']);
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
case 'score':
|
||||
$where[] = ['myscore', '=', $value];
|
||||
break;
|
||||
case 'mySub':
|
||||
$where[] = ['mykemu', '=', $value];
|
||||
$val = $mySub = 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;
|
||||
case 'reType':
|
||||
$where[] = ['dataType', '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$value = changeCode($value);
|
||||
$where[] = ['provinceId', 'in', ($value)];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
case 'schoolType':
|
||||
$where[] = ['collegeType', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算总数
|
||||
|
||||
$count = Db::table('rec_zhejiang_majors')
|
||||
->where($where)
|
||||
->count();
|
||||
return $count;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据条件获取新高考院校数量
|
||||
* */
|
||||
public static function getNewSchoolCount($array)
|
||||
{
|
||||
$where = [];
|
||||
//搜索条件
|
||||
unset($array['is_login']);
|
||||
unset($array['type']);
|
||||
unset($array['userPro']);
|
||||
unset($array['page']);
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
case 'score':
|
||||
$where[] = ['myscore', '=', $value];
|
||||
break;
|
||||
case 'mySub':
|
||||
$where[] = ['mykemu', '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$value = changeCode($value);
|
||||
$where[] = ['provinceId', 'in', ($value)];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
case 'schoolType':
|
||||
$where[] = ['collegeType', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算总数
|
||||
$count = Db::table('rec_zhejiang_schs')
|
||||
->where($where)
|
||||
->count();
|
||||
return $count;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/24
|
||||
* Time: 10:57
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Model;
|
||||
|
||||
class SchScore extends Model
|
||||
{
|
||||
protected $table = 'yzy_sch_score';
|
||||
|
||||
/*
|
||||
* 查询往年学院录取情况
|
||||
* */
|
||||
public static function getSchEnrollByYear($data){
|
||||
|
||||
$result = self::field('year,batchName,enterNum,minScore,lowSort')
|
||||
->where([['province','=',$data['userPro']],['sch_id','=',$data['sch_id']],['wenli','=',$data['subType']],['batch','=',$data['batch']]])
|
||||
->order('year desc')->select();
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,304 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/15
|
||||
* Time: 16:58
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Db;
|
||||
use think\facade\Log;
|
||||
use think\Model;
|
||||
use app\api\model\UserCollect;
|
||||
|
||||
class SchoolChoice extends Model
|
||||
{
|
||||
/*
|
||||
* 院校查询
|
||||
* */
|
||||
public static function getSchoolByCondition($array,$page = 1,$limit =10 ,$user_id,$vipType){
|
||||
if($array['userPro'] == 1){
|
||||
$table = 'rec_js';
|
||||
$tableMajor = 'rec_js_major';
|
||||
}else{
|
||||
$table = $array['subType'] == 1 ? 'rec_wen':'rec_li';
|
||||
$tableMajor = $array['subType'] == 1 ? 'rec_wen_major':'rec_li_major';
|
||||
}
|
||||
$where = [];
|
||||
//方便统计总数定义推荐类型
|
||||
$whereType = [];
|
||||
//推薦類型默認0
|
||||
$type = 0;
|
||||
$year = config('setsub.year');
|
||||
//默认排序条件
|
||||
$sort = 'recommendType desc';
|
||||
//搜索条件
|
||||
unset($array['is_login']);
|
||||
unset($array['page']);
|
||||
unset($array['type']);
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
case 'userPro':
|
||||
$where[] = ['yzy_province', '=', $value];
|
||||
break;
|
||||
case 'subType':
|
||||
$where[] = ['wenli', '=', $value];
|
||||
break;
|
||||
case 'score':
|
||||
$where[] = [$key, '=', $value];
|
||||
break;
|
||||
case 'reType':
|
||||
//未购买权限limit-1
|
||||
if(($value == 1 || $value ==2) && ($limit == 2 || $limit ==5)){
|
||||
$limit = $limit - 1;
|
||||
}
|
||||
$type = $value;
|
||||
$whereType[] = ['recommendType', '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$where[] = ['sch_province', 'in', ($value)];
|
||||
break;
|
||||
case 'chooseLevel':
|
||||
$where[] = ['mykemu', '=', $value];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
case 'schoolType':
|
||||
$where[] = ['sch_cate_id', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is_985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is_211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
case 'sort':
|
||||
$sort = config('setsub.sort')[$value];
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算总数
|
||||
if($vipType == 1){
|
||||
$count = Db::table($table)
|
||||
->where($where)
|
||||
->where($whereType)
|
||||
->count();
|
||||
}else{
|
||||
$count = $limit;
|
||||
}
|
||||
|
||||
|
||||
//查询院校总数,可保底,稳妥,冲
|
||||
$resNum = self::getSchoolNum($where,$limit,$vipType,$table,$type);
|
||||
//查询数据
|
||||
$result = Db::table($table)->alias('a')
|
||||
->field('alias,probability,rankOfCn,sch_province_title,sch_cate_title,is_985,is_syl,is_211,tags,sch_province,sch_id,id,enterNum,batch,batch_title,recommendType,majorNum')
|
||||
->where($where)
|
||||
->where($whereType)
|
||||
->page($page, $limit)
|
||||
->order($sort)
|
||||
->select();
|
||||
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//查询用户收藏的院校
|
||||
$resCollect = [];
|
||||
if($user_id){
|
||||
$resCollect = UserCollect::getUserCollect($user_id,1);
|
||||
}
|
||||
|
||||
//查询位次和院校排名
|
||||
foreach ($result as $key =>$val){
|
||||
$result[$key]['logo'] = '';
|
||||
|
||||
$result[$key]['tags'] = $val['sch_province_title']." ".$val['sch_cate_title'];
|
||||
//判断211,985,双一流是否是1
|
||||
if($val['is_985'])
|
||||
$result[$key]['tags'] = $result[$key]['tags']." "."985";
|
||||
if($val['is_211'])
|
||||
$result[$key]['tags'] = $result[$key]['tags']." "."211";
|
||||
if($val['is_syl'])
|
||||
$result[$key]['tags'] = $result[$key]['tags']." "."双一流";
|
||||
$resSeat = Db::table('yzy_sch_score')->field('lowSort as lowestRank,minScore')
|
||||
->where([
|
||||
['province','=',$array['userPro']],
|
||||
['wenli','=',$array['subType']],
|
||||
['batch','=',$val['batch']],
|
||||
['sch_id','=',$val['sch_id']],
|
||||
['year','=',$year]
|
||||
])->find();
|
||||
|
||||
$result[$key]['lowestRank'] = $resSeat['lowestRank'];
|
||||
$result[$key]['minScore'] = $resSeat['minScore'];
|
||||
|
||||
|
||||
//收藏赋值
|
||||
$result[$key]['is_collect'] = 0;
|
||||
if(is_array($resCollect)){
|
||||
if(in_array($val['id'],$resCollect)){
|
||||
$result[$key]['is_collect'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'res' => $result,
|
||||
'countSchool' => $resNum
|
||||
];
|
||||
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
//获取院校总数和保底,稳妥、推荐
|
||||
public static function getSchoolNum($where,$limit,$vipType,$table,$type){
|
||||
$arrNomalCount = array();
|
||||
$arrNomalCount[1] = 0;
|
||||
$arrNomalCount[2] = 0;
|
||||
$arrNomalCount[3] = 0;
|
||||
$arrLimitCount = array();
|
||||
$result = array();
|
||||
$cacheTime = empty($vipType)?3600:false;
|
||||
//总数
|
||||
$arrNomalCount[0] = Db::table($table)
|
||||
->where($where)->cache($cacheTime)
|
||||
->count();
|
||||
if($vipType == 0){
|
||||
//保底数量
|
||||
$arrNomalCount[3] = Db::table($table)
|
||||
->where($where)->where('recommendType','=',3)->cache($cacheTime)
|
||||
->count();
|
||||
//稳妥数量
|
||||
$arrNomalCount[2] = Db::table($table)
|
||||
->where($where)->where('recommendType','=',2)->cache($cacheTime)
|
||||
->count();
|
||||
//冲刺数量
|
||||
$arrNomalCount[1] = Db::table($table)
|
||||
->where($where)->where('recommendType','=',1)->cache($cacheTime)
|
||||
->count();
|
||||
|
||||
//未购买权限的底部数据
|
||||
$arrLimitCount['3'] = $arrNomalCount[3] - $limit;
|
||||
$arrLimitCount['3']= $arrLimitCount['3']>0? $arrLimitCount['3']:0;
|
||||
$arrLimitCount['2'] = $arrNomalCount[2] - $limit;
|
||||
$arrLimitCount['2']= $arrLimitCount['2']>0? $arrLimitCount['2']:0;
|
||||
$arrLimitCount['1'] = $arrNomalCount[1] - $limit;
|
||||
$arrLimitCount['1']= $arrLimitCount['1']>0? $arrLimitCount['1']:0;
|
||||
|
||||
}else{
|
||||
if($type){
|
||||
$arrNomalCount[$type] = Db::table($table)
|
||||
->where($where)->where('recommendType','=',$type)
|
||||
->count();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$result['topNumCount'] = $arrNomalCount;
|
||||
$result['bottomNumCount'] = $arrLimitCount;
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 获取院校数量
|
||||
* */
|
||||
|
||||
public static function getSchoolCount($array){
|
||||
if($array['userPro'] == 1){
|
||||
$table = 'rec_js';
|
||||
}else{
|
||||
$table = $array['subType'] == 1 ? 'rec_wen':'rec_li';
|
||||
}
|
||||
$where = [];
|
||||
unset($array['is_login']);
|
||||
unset($array['type']);
|
||||
unset($array['page']);
|
||||
//搜索条件
|
||||
foreach ($array as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
switch ($key) {
|
||||
case 'userPro':
|
||||
$where[] = ['yzy_province', '=', $value];
|
||||
break;
|
||||
case 'subType':
|
||||
$where[] = ['wenli', '=', $value];
|
||||
break;
|
||||
case 'score':
|
||||
$where[] = [$key, '=', $value];
|
||||
break;
|
||||
case 'province':
|
||||
$where[] = ['sch_province', 'in', ($value)];
|
||||
break;
|
||||
case 'chooseLevel':
|
||||
$where[] = ['mykemu', '=', $value];
|
||||
break;
|
||||
case 'batch':
|
||||
$where[] = ['batch', 'in', ($value)];
|
||||
break;
|
||||
case 'reType':
|
||||
$where[] = ['recommendType', '=', $value];
|
||||
break;
|
||||
case 'schoolType':
|
||||
$where[] = ['sch_cate_id', 'in', ($value)];
|
||||
break;
|
||||
case 'is_985':
|
||||
$where[] = ['is_985', '=', $value];
|
||||
break;
|
||||
case 'is_211':
|
||||
$where[] = ['is_211', '=', $value];
|
||||
break;
|
||||
case 'is_yldx':
|
||||
$where[] = ['is_yldx', '=', $value];
|
||||
break;
|
||||
case 'is_ylxk':
|
||||
$where[] = ['is_ylxk', '=', $value];
|
||||
break;
|
||||
case 'is_public':
|
||||
$where[] = ['is_public', '=', $value];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算总数
|
||||
$count = Db::table($table)
|
||||
->where($where)
|
||||
->count();
|
||||
|
||||
return $count;
|
||||
|
||||
}
|
||||
}
|
||||
201
芳林公司项目/www.zhiyuanhelp.com/application/api/model/User.php
Normal file
201
芳林公司项目/www.zhiyuanhelp.com/application/api/model/User.php
Normal file
@@ -0,0 +1,201 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/13
|
||||
* Time: 15:27
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use think\Db;
|
||||
use think\Log;
|
||||
use think\Model;
|
||||
|
||||
class User extends Model
|
||||
{
|
||||
protected $table = 'users';
|
||||
|
||||
/*
|
||||
* 用户登录并返回信息
|
||||
* @param $data array 插入用户信息,并返回用户信息
|
||||
* */
|
||||
public static function addUserInfo($data){
|
||||
|
||||
$array = array();
|
||||
$array['phone'] = $data['phone'];
|
||||
$array['wenli'] = $data['subType'];
|
||||
$array['chooseLevel'] = $data['chooseLevel'];
|
||||
$array['mykemu'] = sortStr($data['mySub']);
|
||||
$array['score'] = $data['score'];
|
||||
$array['province'] = $data['province']*10000;
|
||||
$array['add_time'] = time();
|
||||
|
||||
//默认普通高考,检测并返回高考类型
|
||||
if($array['province']){
|
||||
$array['provinceType'] = 3;
|
||||
$proSubArr = config('setsub.diffProTest');
|
||||
$provinceID = config('province.province')[$array['province']]['code'];
|
||||
if(in_array($provinceID,$proSubArr[1])){
|
||||
$array['provinceType'] = 1;
|
||||
}elseif(in_array($provinceID,$proSubArr[2])){
|
||||
$array['provinceType'] = 2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//科目中文取
|
||||
$array['subName'] = empty(($array['mykemu']))?'':changeSubString($array['mykemu']);
|
||||
|
||||
|
||||
//手机号16进制转62进制并加随机两位数据生成昵称
|
||||
$array['user_name'] = from10_to62($data['phone']).getRandChar(2);
|
||||
unset($data['code']);
|
||||
$resInfo = self::insertGetId($array);
|
||||
|
||||
if($resInfo){
|
||||
//省份配置表
|
||||
$proConfig = config('province.province');
|
||||
$array['uid'] = $resInfo;
|
||||
$array['phone'] = substr_replace($array['phone'],'****',3,4);
|
||||
unset($array['add_time']);
|
||||
unset($array['last_edit_gaokao']);
|
||||
//文理科文字返回
|
||||
if($array['wenli']){
|
||||
$array['subTypeName'] = $array['wenli'] == 1 ? '文科' : '理科';
|
||||
unset($array['subName']);
|
||||
}
|
||||
//省份code和文字获取
|
||||
if($array['province']){
|
||||
$array['proName'] = $proConfig[$array['province']]['title'];
|
||||
$array['userPro'] = $proConfig[$array['province']]['code'];
|
||||
}
|
||||
return $array;
|
||||
}else{
|
||||
return api_return("操作失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 通过手机号查询用户信息
|
||||
* */
|
||||
public static function getUserInfoByPhone($telnum){
|
||||
|
||||
$result = self::field('id as uid,phone,user_name,score,wenli,province,mykemu,chooseLevel,subName,provinceType')->where('phone','=',$telnum)->find();
|
||||
if($result){
|
||||
$proConfig = config('province.province');
|
||||
//文理科文字返回
|
||||
if($result['wenli']){
|
||||
$result['subTypeName'] = $result['wenli'] == 1 ? '文科' : '理科';
|
||||
unset($result['subName']);
|
||||
}
|
||||
|
||||
//省份code和文字获取
|
||||
if($result['province']){
|
||||
$result['proName'] = $proConfig[$result['province']]['title'];
|
||||
$result['userPro'] = $proConfig[$result['province']]['code'];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
*通过手机号查询用户是否存在
|
||||
* */
|
||||
public static function checkUserByTelnum($telnum){
|
||||
$count = self::where('phone','=',$telnum)->count();
|
||||
return $count;
|
||||
}
|
||||
|
||||
/*
|
||||
* 修改用户信息
|
||||
* */
|
||||
public static function editUserInfo($data){
|
||||
$array = array();
|
||||
$array['wenli'] = $data['subType'];
|
||||
$array['chooseLevel'] = $data['chooseLevel'];
|
||||
$array['mykemu'] = sortStr($data['mySub']);
|
||||
$array['province'] = $data['province']*10000;
|
||||
$array['score'] = $data['score'];
|
||||
$array['last_edit_gaokao'] = time();
|
||||
|
||||
//默认普通高考,检测并返回高考类型
|
||||
$array['provinceType'] = 3;
|
||||
$proSubArr = config('setsub.diffProTest');
|
||||
$provinceID = config('province.province')[$array['province']]['code'];
|
||||
if(in_array($provinceID,$proSubArr[1])){
|
||||
$array['provinceType'] = 1;
|
||||
}elseif(in_array($provinceID,$proSubArr[2])){
|
||||
$array['provinceType'] = 2;
|
||||
}
|
||||
|
||||
//科目中文取
|
||||
$array['subName'] = empty(($array['mykemu']))?'':changeSubString($array['mykemu']);
|
||||
|
||||
$result = self::where('id','=',$data['user_id'])->update($array);
|
||||
|
||||
//返回数据给前端
|
||||
if($result){
|
||||
$resUser = self::field('id as uid,phone,user_name,score,wenli,province,mykemu,chooseLevel,subName,provinceType')->where('id','=',$data['user_id'])->find();
|
||||
$proConfig = config('province.province');
|
||||
$resUser['phone'] = substr_replace($resUser['phone'],'****',3,4);
|
||||
$resUser['token'] = $data['token'];
|
||||
|
||||
//文理科文字返回
|
||||
if($resUser['wenli']){
|
||||
$resUser['subTypeName'] = $resUser['wenli']== 1 ? '文科' : '理科';
|
||||
unset($resUser['subName']);
|
||||
}
|
||||
|
||||
//省份code和文字获取
|
||||
if($resUser['province']){
|
||||
$resUser['proName'] = $proConfig[$resUser['province']]['title'];
|
||||
$resUser['userPro'] = $proConfig[$resUser['province']]['code'];
|
||||
}
|
||||
}else{
|
||||
$resUser = $result;
|
||||
}
|
||||
return $resUser;
|
||||
}
|
||||
|
||||
/*
|
||||
* 查看用户是否具有查询权限
|
||||
* @param $type 权限类型
|
||||
* */
|
||||
public static function checkUserAuthByUserID($userID,$type,$province,$score,$subType = 0,$mySub = 0){
|
||||
$result = Db::table('orders')->field('vip')->where([['user_id','=',$userID],['stu_yzy_province','=',$province],['score','=',$score],['status','=',1],
|
||||
['wenli','=',$subType],['mykemu','=',$mySub],['vip','in',('1,2,3')]])
|
||||
->select();
|
||||
$resVip = array_column($result, 'vip');
|
||||
$tips = 0;
|
||||
switch ($type){
|
||||
case 1:
|
||||
if(!in_array($type,$resVip)){
|
||||
$tips = 1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(!in_array(1,$resVip)){
|
||||
$tips = 1;
|
||||
}elseif(!in_array($type,$resVip)){
|
||||
$tips = 2;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(!in_array(1,$resVip)){
|
||||
$tips = 1;
|
||||
}elseif(!in_array($type,$resVip)){
|
||||
$tips = 3;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return $tips;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
108
芳林公司项目/www.zhiyuanhelp.com/application/api/model/UserCollect.php
Normal file
108
芳林公司项目/www.zhiyuanhelp.com/application/api/model/UserCollect.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2020/4/20
|
||||
* Time: 10:23
|
||||
*/
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
|
||||
use app\lib\exception\ParamException;
|
||||
use think\Db;
|
||||
use think\facade\Log;
|
||||
use think\Model;
|
||||
|
||||
class UserCollect extends Model
|
||||
{
|
||||
protected $table = 'user_collect_school';
|
||||
|
||||
/*
|
||||
* 收藏院校
|
||||
* @param userID int 用户id
|
||||
* @param data 收藏内容
|
||||
* @return | bool
|
||||
* */
|
||||
public static function addUserCollectSch($userID, $data)
|
||||
{
|
||||
|
||||
$data['user_id'] = $userID;
|
||||
$data['add_time'] = time();
|
||||
$result = self::insertGetId($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 移除收藏院校
|
||||
* */
|
||||
public static function delMyCollectSch($id, $userID)
|
||||
{
|
||||
$result = self::where([['id', '=', $id], ['user_id', '=', $userID]])->update(['is_collect' => 2]);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 检查是否已收藏该院校
|
||||
* */
|
||||
public static function checkMyCollectSch($rec_id, $userID)
|
||||
{
|
||||
$result = self::where([['rec_id', '=', $rec_id], ['user_id', '=', $userID],['is_collect','=',1]])->count();
|
||||
if($result){
|
||||
throw new ParamException([
|
||||
'code' => 401,
|
||||
'msg' => '已收藏过该院校',
|
||||
'errorCode' => 10001
|
||||
]);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
/*
|
||||
* 根据用户id查询用户收藏的全部学校的分数段id
|
||||
* */
|
||||
public static function getUserCollect($userID)
|
||||
{
|
||||
$result = self::field('rec_id')->where([['user_id', '=', $userID], ['is_collect', '=', 1]])->select()->toArray();
|
||||
if ($result) {
|
||||
$result = array_column($result, 'rec_id');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 查询我的收藏院校
|
||||
* */
|
||||
public static function getMyCollectSch($data,$userID,$page = 1, $limit = 10)
|
||||
{
|
||||
|
||||
$where [] = empty($data['score'])?
|
||||
[['user_id','=',$userID],['userPro','=',$data['userPro']],['is_collect','=',1]]:[['user_id','=',$userID],['userPro','=',$data['userPro']],['score','=',$data['score']],['is_collect','=',1]];
|
||||
//获取配置表年份
|
||||
$year = config('setsub.year');
|
||||
//统计收藏学校数量
|
||||
$count = self::where($where)->count();
|
||||
//查询收藏数据
|
||||
$result = self::where($where)
|
||||
->page($page, $limit)->select();
|
||||
empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!';
|
||||
|
||||
//分页数据
|
||||
$info = [
|
||||
'limit' => $limit,
|
||||
'page_current' => $page,
|
||||
'page_sum' => ceil($count / $limit),
|
||||
];
|
||||
//组合返回
|
||||
$list = [
|
||||
'msg' => $msg,
|
||||
'count' => $count,
|
||||
'info' => $info,
|
||||
'data' => $result,
|
||||
];
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user