12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use think\Db;
- /**
- * 首页接口
- */
- class Index extends Api
- {
- protected $noNeedLogin = ['index'];
- protected $noNeedRight = ['*'];
- /**
- * 首页
- *
- */
- public function index()
- {
- //热门试卷列表
- $now = time();
- $papers = Db::name('exam_paper')->field('id,image,title,start_time,end_time,total_score,limit_time')
- ->where('status', 'NORMAL')
- ->whereRaw("((start_time = 0 and end_time = 0) or (start_time < {$now} and end_time > {$now}))")
- // ->where('find_in_set(:user_ids,user_ids)', ['user_ids' => $this->auth->id])
- ->limit(3)
- ->select();
- foreach($papers as $key => &$val){
- $val['image'] = localpath_to_netpath($val['image']);
- $val['limit_time'] = $val['limit_time']/60; //秒转换分种
- $val['is_start'] = 1;
- }
- $this->success('', $papers);
- }
- //在线考试
- //我的考试
- //可参加考试
- //我的试卷
- public function my_paper_list(){
- $now = time();
- $papers = Db::name('exam_paper')->field('id,title,start_time,end_time,total_score,limit_time')
- ->where('status', 'NORMAL')
- ->whereRaw("((start_time = 0 and end_time = 0) or (start_time < {$now} and end_time > {$now}))")
- ->where('find_in_set(:user_ids,user_ids)', ['user_ids' => $this->auth->id])
- ->autopage()
- ->select();
- foreach($papers as $key => &$val){
- $val['limit_time'] = $val['limit_time']/60; //秒转换分种
- $val['is_start'] = 1;
- }
- $this->success('', $papers);
- }
- //历史考试
- public function my_grade_list(){
- $field = [
- 'grade.score','grade.is_pass','grade.total_score',
- 'grade.total_count','grade.right_count','grade.error_count',
- 'grade.grade_time','grade.start_time',
- 'paper.title'
- ];
- $list = Db::name('exam_grade')->alias('grade')
- ->join('exam_paper paper','grade.paper_id = paper.id','LEFT')
- ->field($field)
- ->where('grade.user_id',$this->auth->id)
- ->autopage()
- ->select();
- foreach($list as $key => &$val){
- $val['grade_time_text'] = Sec2Time($val['grade_time']);
- }
- $this->success('', $list);
- }
- }
|