Browse Source

更新防止答案重复提交问题

郑晓宇 6 years ago
parent
commit
38f2dd06c5

+ 4 - 2
app/Home/Controllers/GameController.php

@@ -138,11 +138,13 @@ class GameController extends Controller
           $scores[$user_id] = 0;
         }
 
-        if($is_true){
+        if($is_true  && !isset($scores['questions'][$question_id])){
             $scores[$user_id] = (int) $scores[$user_id] + 1;
+            $scores['questions'][$question_id][$user_id] = $is_true; 
+        }elseif (!isset($scores['questions'][$question_id]) {
+            $scores['questions'][$question_id][$user_id] = $is_true; 
         }
 
-        $scores['questions'][$question_id][$user_id] = $is_true; 
         Redis::set($room_id . '_info', json_encode($scores));
         $message['is_true'] = $is_true;
         $message['scores'] = $scores;

+ 125 - 29
app/Home/Controllers/IndexController.php

@@ -1,42 +1,138 @@
 <?php
 
-namespace App\Api\Controllers;
+namespace App\Home\Controllers;
 
-use App\Model\MoviePushLog;
 use Storage;
 use App\Http\Controllers\Controller;
-
-class NotifyController extends Controller
+use App\Model\Question;
+use App\Model\Option;
+class IndexController extends Controller
 {
-	public function gxydyst()
+	public function importTimu()
 	{
-        $response_data['code'] = 400; 
+        set_time_limit(0);
+        $txt = Storage::get('1.txt');
+        $txt_arr = explode("\n", $txt);
+        foreach ($txt_arr as $k => $val) {
+            $q_a = explode('?', $val);
+            $str1 = preg_replace('/^\d/i','',$q_a[0], 1);
+            $str2 = preg_replace('/^\d/i','',$str1, 1);
+            $title =  preg_replace('/^\d/i','',$str2, 1);
+            $question_id = Question::insertGetId([
+                "title" => $title . "?",
+                "is_released" => 1,
+                "created_at" => date('Y-m-d H:i:s'),
+                "updated_at" => date('Y-m-d H:i:s'),
+            ]);
+            $optiion = mb_substr($q_a[1], 0, -4);
+
+            //答案
+            $answer = mb_substr($q_a[1], -4);
+            $answer = mb_substr($answer, 1,1);
 
-        $raw_post_data = json_decode(file_get_contents('php://input', 'r'), true);
-        
-        //记录异步通知日志
-        Storage::append(date('Ymd').'_pushlog.txt', json_encode($raw_post_data) . "\n");
-		
-        if(isset($raw_post_data['srcFiles'][0]['playUrl'])){
-            //处理资源ID
-            $movie_id_e = explode('_', $raw_post_data['mediaId']);
-            $movie_id = $movie_id_e[3];
-            
-            $map[] = ['movie_id', $movie_id];
-            $update_data['injection_status'] = 1;
-            $update_data['view_url'] = $raw_post_data['srcFiles'][0]['playUrl'];
-            //更新推送状态
-            $rs = MoviePushLog::where($map)->update($update_data);
-            if($rs){
-                $response_data['msg'] = '成功';
-                $response_data['code'] = 0; 
+            // echo $optiion;
+            // echo mb_strpos($optiion, 'B');
+            $o_answer = 0;
+            if(mb_strpos($optiion, 'A')){
+                $optiion_A = mb_substr($optiion, mb_strpos($optiion, 'A') + 1, mb_strpos($optiion, 'B') - mb_strpos($optiion, 'A') - 1);
             }else{
-                $response_data['msg'] = '失败或重复更新';
+                $optiion_A = mb_substr($optiion, 0 ,mb_strpos($optiion, 'B') - 1);
+            }
+            if($answer == 'A'){
+                $o_answer = 1;
+            }
+            Option::insert([
+                "title" => $optiion_A,
+                "is_answer" => $o_answer,
+"question_id" => $question_id,
+                "created_at" => date('Y-m-d H:i:s'),
+                "updated_at" => date('Y-m-d H:i:s'),
+            ]);
+            $o_answer = 0;
+
+            if(mb_strpos($optiion, 'C')){
+
+                $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1, mb_strpos($optiion, 'C') - mb_strpos($optiion, 'B') - 1);
+                if($answer == 'B'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_B,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;
+            }elseif(mb_strpos($optiion, 'B')){
+                echo $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1);
+                if($answer == 'B'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_B,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;                
+            }
+            if(mb_strpos($optiion, 'D')){
+                $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1, mb_strpos($optiion, 'D') - mb_strpos($optiion, 'C') - 1);
+                if($answer == 'C'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_C,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;
+            }elseif(mb_strpos($optiion, 'C')){
+                echo $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1);
+                if($answer == 'C'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_C,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;
+            }
+            if(mb_strpos($optiion, 'E')){
+                $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1, mb_strpos($optiion, 'E') - mb_strpos($optiion, 'D') - 1);
+                if($answer == 'B'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_D,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;
+
+            }elseif(mb_strpos($optiion, 'D')){
+                $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1);
+                if($answer == 'D'){
+                    $o_answer = 1;
+                }
+                Option::insert([
+                    "title" => $option_D,
+                    "is_answer" => $o_answer,
+"question_id" => $question_id,
+                    "created_at" => date('Y-m-d H:i:s'),
+                    "updated_at" => date('Y-m-d H:i:s'),
+                ]);
+                $o_answer = 0;
             }
-        }else{
-            $response_data['msg'] = '缺少CDN播放地址';
         }
-        return response()->json($response_data);
 	}
-
 }

+ 0 - 1
app/Home/Controllers/UserController.php

@@ -36,7 +36,6 @@ class UserController extends Controller
      */
     public function doLogin(Request $request)
     {
-
         if(!$request->session()->has('user_id')){
             $user_id = uniqid();
             $request->session()->put('user_id', $user_id);

+ 1 - 0
routes/home.php

@@ -1,4 +1,5 @@
 <?php
+Route::get('Index/importTimu', 'IndexController@importTimu');
 //用户登陆页面
 Route::get('User/Login', 'UserController@Login');
 //用户登陆接口