| xqd
@@ -1,8 +1,11 @@
|
|
|
<?php
|
|
|
+
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
|
|
use App\Models\IntroductionInfoModel;
|
|
|
use App\Models\MajorInfoModel;
|
|
|
+use App\Models\PaidSettingModel;
|
|
|
+use App\Models\QueryInfoModel;
|
|
|
use App\Models\StudentCountModel;
|
|
|
use App\Models\UserInfoModel;
|
|
|
use Carbon\Carbon;
|
| xqd
@@ -12,7 +15,8 @@ use Validator, Response;
|
|
|
use EasyWeChat\Factory;
|
|
|
|
|
|
|
|
|
-class HomeController extends Controller{
|
|
|
+class HomeController extends Controller
|
|
|
+{
|
|
|
|
|
|
protected $app;
|
|
|
|
| xqd
@@ -66,17 +70,18 @@ class HomeController extends Controller{
|
|
|
* 可能出现的错误代码:
|
|
|
* 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
*/
|
|
|
- public function login(Request $request){
|
|
|
+ public function login(Request $request)
|
|
|
+ {
|
|
|
$code = $request->get('code');
|
|
|
$session = $this->app->auth->session($code);
|
|
|
|
|
|
$openid = $session['openid'];
|
|
|
|
|
|
- $userinfo = UserInfoModel::where('openid',$openid)->first(['id','nickname','openid','has_agreed']);
|
|
|
+ $userinfo = UserInfoModel::where('openid', $openid)->first(['id', 'nickname', 'openid', 'has_agreed']);
|
|
|
|
|
|
- if($userinfo){
|
|
|
+ if ($userinfo) {
|
|
|
return $this->api(compact('userinfo'));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
$data['openid'] = $openid;
|
|
|
$data['nickname'] = $request->get('nickName');
|
|
|
$data['avatar'] = $request->get('avatar');
|
| xqd
@@ -119,8 +124,9 @@ class HomeController extends Controller{
|
|
|
* 可能出现的错误代码:
|
|
|
* 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
*/
|
|
|
- public function getIntroduction(){
|
|
|
- $list = IntroductionInfoModel::get(['title','content','type']);
|
|
|
+ public function getIntroduction()
|
|
|
+ {
|
|
|
+ $list = IntroductionInfoModel::get(['title', 'content', 'type']);
|
|
|
|
|
|
return $this->api(compact('list'));
|
|
|
}
|
| xqd
@@ -157,12 +163,13 @@ class HomeController extends Controller{
|
|
|
* 可能出现的错误代码:
|
|
|
* 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
*/
|
|
|
- public function agreeIntroduction(Request $request){
|
|
|
+ public function agreeIntroduction(Request $request)
|
|
|
+ {
|
|
|
$userid = $request->get('userid');
|
|
|
- $data['has_agreed'] =1;
|
|
|
- $res = UserInfoModel::where('id',$userid)->update($data);
|
|
|
- if($res){
|
|
|
- $userinfo = UserInfoModel::where('id',$userid)->first(['id','nickname','openid','has_agreed']);
|
|
|
+ $data['has_agreed'] = 1;
|
|
|
+ $res = UserInfoModel::where('id', $userid)->update($data);
|
|
|
+ if ($res) {
|
|
|
+ $userinfo = UserInfoModel::where('id', $userid)->first(['id', 'nickname', 'openid', 'has_agreed']);
|
|
|
}
|
|
|
|
|
|
return $this->api(compact('userinfo'));
|
| xqd
@@ -203,14 +210,15 @@ class HomeController extends Controller{
|
|
|
* 可能出现的错误代码:
|
|
|
* 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
*/
|
|
|
- public function getBaseData(){
|
|
|
+ public function getBaseData()
|
|
|
+ {
|
|
|
$batchs = MajorInfoModel::groupBy('batch')->pluck('batch');
|
|
|
|
|
|
$provinces = [
|
|
|
- "全部省份","安徽","澳门","北京","重庆","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","台湾","天津","西藏","香港","新疆","云南","浙江"
|
|
|
+ "全部省份", "安徽", "澳门", "北京", "重庆", "福建", "甘肃", "广东", "广西", "贵州", "海南", "河北", "河南", "黑龙江", "湖北", "湖南", "吉林", "江苏", "江西", "辽宁", "内蒙古", "宁夏", "青海", "山东", "山西", "陕西", "上海", "四川", "台湾", "天津", "西藏", "香港", "新疆", "云南", "浙江"
|
|
|
];
|
|
|
|
|
|
- return $this->api(compact('batchs','provinces'));
|
|
|
+ return $this->api(compact('batchs', 'provinces'));
|
|
|
}
|
|
|
|
|
|
|
| xqd
@@ -252,19 +260,20 @@ class HomeController extends Controller{
|
|
|
* 可能出现的错误代码:
|
|
|
* 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
*/
|
|
|
- public function getQueried(Request $request){
|
|
|
+ public function getQueried(Request $request)
|
|
|
+ {
|
|
|
$validator = Validator::make($request->all(),
|
|
|
[
|
|
|
- 'cnumber' => 'required',
|
|
|
- 'username' => 'required',
|
|
|
- 'grade' => 'required|integer',
|
|
|
+ 'cnumber' => 'required',
|
|
|
+ 'username' => 'required',
|
|
|
+ 'grade' => 'required|integer',
|
|
|
],
|
|
|
[
|
|
|
- 'cnumber.required' => '考号不能为空!',
|
|
|
- 'username.required' => '姓名不能为空!',
|
|
|
- 'username.required' => '姓名不能为空!',
|
|
|
- 'grade.required' => '成绩不能为空!',
|
|
|
- 'grade.integer' => '请输入正确格式的成绩!',
|
|
|
+ 'cnumber.required' => '考号不能为空!',
|
|
|
+ 'username.required' => '姓名不能为空!',
|
|
|
+ 'username.required' => '姓名不能为空!',
|
|
|
+ 'grade.required' => '成绩不能为空!',
|
|
|
+ 'grade.integer' => '请输入正确格式的成绩!',
|
|
|
]
|
|
|
);
|
|
|
|
| xqd
@@ -276,42 +285,147 @@ class HomeController extends Controller{
|
|
|
/*更新用户的信息*/
|
|
|
$this->updateUserinfo();
|
|
|
|
|
|
- $year = 2015;
|
|
|
+ $year = date('Y');
|
|
|
$grade = $request->get('grade');
|
|
|
$batch = $request->get('batch');
|
|
|
$class = $request->get('class');
|
|
|
$province = $request->get('province');
|
|
|
|
|
|
- $maxgrade = StudentCountModel::where('year',$year)->orderBy('grade','desc')->first()->grade;
|
|
|
- if($grade >$maxgrade){
|
|
|
+ $maxgrade = StudentCountModel::where('year', $year)->orderBy('grade', 'desc')->first()->grade;
|
|
|
+ if ($grade > $maxgrade) {
|
|
|
$rank = "前10";
|
|
|
- }else{
|
|
|
- $rank = StudentCountModel::where('year',$year)->where('grade',$grade)->first(['total'])->total;
|
|
|
+ } else {
|
|
|
+ $rank = StudentCountModel::where('year', $year)->where('grade', $grade)->first(['total'])->total;
|
|
|
}
|
|
|
|
|
|
- if($province == "全部省份"){
|
|
|
- $college = MajorInfoModel::where('year',$year)->where('batch',$batch)->where('class',$class)->where('min_grade',"<=",$grade)->groupBy('college')->get();
|
|
|
- }else{
|
|
|
- $college = MajorInfoModel::where('year',$year)->where('batch',$batch)->where('class',$class)->where('province','like','%'.$province.'%')->where('min_grade',"<=",$grade)->groupBy('college')->get();
|
|
|
+ if ($province == "全部省份") {
|
|
|
+ $college = MajorInfoModel::where('year', $year)->where('batch', $batch)->where('class', $class)->where('min_grade', "<=", $grade)->groupBy('college')->get();
|
|
|
+ } else {
|
|
|
+ $college = MajorInfoModel::where('year', $year)->where('batch', $batch)->where('class', $class)->where('province', 'like', '%' . $province . '%')->where('min_grade', "<=", $grade)->groupBy('college')->get();
|
|
|
}
|
|
|
|
|
|
$college_count = count($college);
|
|
|
|
|
|
/*创建查询记录*/
|
|
|
$user = UserInfoModel::find(request('userid'));
|
|
|
- $this-$this->createQueryInfo($user);
|
|
|
+ $this - $this->createQueryInfo($user);
|
|
|
|
|
|
- return $this->api(compact('rank','grade','college_count'));
|
|
|
+ return $this->api(compact('rank', 'grade', 'province', 'college_count', 'batch'));
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * @api {post} /api/home/getpaidmajors 查询付费信息
|
|
|
+ * @apiDescription 查询付费信息
|
|
|
+ * @apiGroup 高考助手
|
|
|
+ * @apiPermission none
|
|
|
+ * @apiVersion 0.1.0
|
|
|
+ * @apiParam {int} [userid] 用户ID(必填)
|
|
|
+ * @apiParam {string} [username] 考生姓名(必填)
|
|
|
+ * @apiParam {string} [batch] 批次(必填)
|
|
|
+ * @apiParam {string} [province] 省份(必填)
|
|
|
+ * @apiParam {string} [class] 科类(必填)
|
|
|
+ * @apiSuccessExample {json} Success-Response:
|
|
|
+ * HTTP/1.1 200 OK 已付费查看过,显示匹配信息
|
|
|
+ * {
|
|
|
+ * "status": true,
|
|
|
+ * "status_code": 0,
|
|
|
+ * "message": "",
|
|
|
+ * "data": {
|
|
|
+ * "count": ""
|
|
|
+ * "major":[
|
|
|
+ * ]
|
|
|
+ *
|
|
|
+ * }
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ *HTTP/1.1 200 OK 未曾付费,跳转到支付页面
|
|
|
+ * {
|
|
|
+ * "status": true,
|
|
|
+ * "status_code": 0,
|
|
|
+ * "message": "",
|
|
|
+ * "data": {
|
|
|
+ * "msg": "need to pay",
|
|
|
+ * "price": ""
|
|
|
+ * }
|
|
|
+ * }
|
|
|
+ * @apiErrorExample {json} Error-Response:
|
|
|
+ * HTTP/1.1 400 Bad Request
|
|
|
+ * {
|
|
|
+ * "state": false,
|
|
|
+ * "code": 1000,
|
|
|
+ * "message": "传入参数不正确",
|
|
|
+ * "data": null or []
|
|
|
+ * }
|
|
|
+ * 可能出现的错误代码:
|
|
|
+ * 1000 CLIENT_WRONG_PARAMS 传入参数不正确
|
|
|
+ */
|
|
|
+ public function getPaidMajors(Request $request)
|
|
|
+ {
|
|
|
+
|
|
|
+ $validator = Validator::make($request->all(),
|
|
|
+ [
|
|
|
+ 'userid' => 'required',
|
|
|
+ 'batch' => 'required',
|
|
|
+ 'province' => 'required',
|
|
|
+ 'class' => 'required'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'userid.required' => 'userid不能为空!',
|
|
|
+ 'batch.required' => 'batch不能为空!',
|
|
|
+ 'province.required' => 'province不能为空!',
|
|
|
+ 'class.required' => 'class不能为空!',
|
|
|
+
|
|
|
+ ]
|
|
|
+ );
|
|
|
+
|
|
|
|
|
|
+ if ($validator->fails()) {
|
|
|
+ return $this->error(ErrorCode::CLIENT_WRONG_PARAMS, '传入参数不正确!', $validator->messages());
|
|
|
+ }
|
|
|
|
|
|
- public function getPaidMajors(){
|
|
|
+ if ($this->checkPaid()) {
|
|
|
+ $year = date('Y');
|
|
|
+ $batch = $request->get('batch');
|
|
|
+ $province = $request->get('province');
|
|
|
|
|
|
+ $userid = request('userid');
|
|
|
+ $_user = UserInfoModel::find($userid);
|
|
|
+ $grade = $_user->grade;
|
|
|
+ $class = $_user->class;
|
|
|
+
|
|
|
+
|
|
|
+ if ($province == "全部省份") {
|
|
|
+ $major = MajorInfoModel::where('year', $year)->where('batch', $batch)->where('class', $class)->where('min_grade', "<=", $grade)->get();
|
|
|
+ } else {
|
|
|
+ $major = MajorInfoModel::where('year', $year)->where('batch', $batch)->where('class', $class)->where('province', 'like', '%' . $province . '%')->where('min_grade', "<=", $grade)->get();
|
|
|
+ }
|
|
|
+
|
|
|
+ $count = count($major);
|
|
|
+
|
|
|
+ return $this->api(compact('count', 'major'));
|
|
|
+ } else {
|
|
|
+ $price = PaidSettingModel::first();
|
|
|
+
|
|
|
+ $msg = 'need to pay';
|
|
|
+ $price = $price->price;
|
|
|
+
|
|
|
+ return $this->api(compact('msg', 'price'));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function updateUserinfo(){
|
|
|
+ public function checkPaid()
|
|
|
+ {
|
|
|
+ $userid = request('userid');
|
|
|
+ $_user = UserInfoModel::find($userid);
|
|
|
+
|
|
|
+ $hasPaid = QueryInfoModel::where('user_id', $_user->id)->where('grade', $_user->grade)->where('is_paid', 1)->count();
|
|
|
+
|
|
|
+ return $hasPaid;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function updateUserinfo()
|
|
|
+ {
|
|
|
$userid = request('userid');
|
|
|
|
|
|
$data['username'] = request('username');
|
| xqd
@@ -319,11 +433,12 @@ class HomeController extends Controller{
|
|
|
$data['grade'] = request('grade');
|
|
|
$data['code'] = request('code');
|
|
|
|
|
|
- $res = UserInfoModel::where('id',$userid)->update($data);
|
|
|
+ $res = UserInfoModel::where('id', $userid)->update($data);
|
|
|
|
|
|
}
|
|
|
|
|
|
- public function createQueryInfo($userinfo){
|
|
|
+ public function createQueryInfo($userinfo)
|
|
|
+ {
|
|
|
$data['is_paid'] = 0;
|
|
|
$data['cnumber'] = $userinfo->cnumber;
|
|
|
$data['grade'] = $userinfo->grade;
|
| xqd
@@ -332,6 +447,4 @@ class HomeController extends Controller{
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
}
|