|
@@ -28,17 +28,33 @@ class GameController extends Controller
|
|
|
$response['msg'] = '缺少房间参数';
|
|
|
return response()->json($response);
|
|
|
}
|
|
|
+ //第几题
|
|
|
+ $cur_question = $request->input('cur_question');
|
|
|
+ if(!$cur_question){
|
|
|
+ $cur_question = 1;
|
|
|
+ }
|
|
|
//获取当前房间问题
|
|
|
- $questions = Redis::smembers($room_id);
|
|
|
- $question = Question::inRandomOrder()->select('question_id','title')->where("is_released",1)->whereNotIn("question_id", $questions)->first();
|
|
|
- $options = Option::select('option_id','title')->where("question_id",$question->question_id)->get($question->question_id);
|
|
|
- Redis::sadd($room_id, (int) $question->question_id);
|
|
|
+ $questions = Redis::get($room_id . '_questions');
|
|
|
+ if($questions){
|
|
|
+ $questions = json_decode($questions);
|
|
|
+ }else{
|
|
|
+ $questions = [];
|
|
|
+ }
|
|
|
+ if(isset($questions[$cur_question - 1])){
|
|
|
+ $response['info'] = $questions[$cur_question - 1];
|
|
|
+ }else{
|
|
|
+ $question = Question::inRandomOrder()->select('question_id','title')->where("is_released",1)->whereNotIn("question_id", $questions)->first();
|
|
|
+ $options = Option::select('option_id','title')->where("question_id",$question->question_id)->get($question->question_id);
|
|
|
+ $info['question'] = $question;
|
|
|
+ $info['options'] = $options;
|
|
|
+ $info['questions_count'] = count($questions) + 1;
|
|
|
+ array_push($questions, $info);
|
|
|
+ Redis::set($room_id . '_questions', json_encode($questions));
|
|
|
+ $response['info'] = $info;
|
|
|
+ }
|
|
|
//设置返回数据
|
|
|
$response['code'] = 0;
|
|
|
$response['msg'] = '获取成功';
|
|
|
- $response['info']['question'] = $question;
|
|
|
- $response['info']['options'] = $options;
|
|
|
- $response['info']['questions_count'] = count($questions) + 1;
|
|
|
return response()->json($response);
|
|
|
}
|
|
|
|