105 lines
3.0 KiB
PHP
105 lines
3.0 KiB
PHP
<?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;
|
|
}
|
|
} |