1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php namespace App\Http\Controllers\Api\Video;
- use App\Http\Controllers\Api\Api;
- use App\Models\Video\Answer as VideoAnswer;
- use App\Models\Video\Question as VideoQuestion;
- use App\Models\Video\ExamQuestion as Model;
- use App\Models\Video\ExamRecord;
- /**
- * 课程
- *
- * @author 刘相欣
- *
- */
- class ExamQuestion extends Api{
-
- /**
- * 获取课后习题列表 /api/video_exam_question/get_list
- *
- */
- public function get_list(Model $Model,VideoQuestion $VideoQuestion,VideoAnswer $VideoAnswer,ExamRecord $ExamRecord){
- // 用户登录
- $uid = 2;//$this->checkLogin();
- // 接收参数
- $data['course_id'] = request('course_id',0);
- $data['custom_uid'] = $uid;
- $data['start_time'] = time();
- // 查询是不是有记录在使用中
- $oldRecordId = $ExamRecord->query()->where([['custom_uid','=',$uid],['course_id','=',$data['course_id']],['status','=',0]])->value('id');
- // 查询课程数据
- $questionList = $Model->getList($data['course_id']);
- // 获取数据
- foreach ($questionList as $key => $value) {
- # 获取习题数据
- $value['question_title']= (string) $VideoQuestion->getOne($value['question_id'],'title');
- $value['answer_list'] = $VideoAnswer->getListByQuestion($value['question_id']);
- $value['answer_list'] = array_values($value['answer_list']);
- // 如果没有题目选项,删除
- if( !$value['answer_list'] ){
- // 如果没有题目选项,删除
- unset($questionList[$key]);
- continue;
- }
- // 重组
- $questionList[$key] = $value;
- }
- // 题目数量
- $data['question_total'] = count($questionList);
- // 新增/修改记录
- $data['record_id'] = $oldRecordId ? $ExamRecord->edit($oldRecordId,$data) : $ExamRecord->add($data);
- // 如果记录失败
- if( !$data['record_id'] ) return json_send(['code'=>'error','msg'=>'获取详情失败,请重试']);
- // 习题列表
- $data['question_list'] = array_values($questionList);
- // 返回结果
- return json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
- }
- }
|