lizhen_gitee пре 4 месеци
родитељ
комит
be34620c3a
2 измењених фајлова са 49 додато и 31 уклоњено
  1. 15 1
      application/api/controller/Question.php
  2. 34 30
      application/api/controller/Subject.php

+ 15 - 1
application/api/controller/Question.php

@@ -24,6 +24,20 @@ class Question extends Api
             $this->error('先绑定单位再答题',null,2);
         }
 
+        //今天,总答题次数
+        $gift_question = config('site.exam_times_user_eday');
+        //今天,已答题次数
+        $submit_question = RedisUtil::getInstance(RedisKeyEnum::EAXM_TIMES.date('Y-m-d').':'.$this->auth->id)->get();
+        //今日剩余答题次数
+        $today_my_question = $gift_question - $submit_question;
+        if($today_my_question < 0){
+            $today_my_question = 0;
+        }
+
+        if($today_my_question == 0){
+            $this->error('今日答题机会用光了');
+        }
+
         //获取10个随机题目
         $count = config('site.exam_times_user_eday');
         $lists = Db::name('exam_question')
@@ -31,7 +45,7 @@ class Question extends Api
         ->where('is_material_child', 0)// 材料题子题不显示
         ->where('status', 'NORMAL')// 正常
         ->where('deletetime', NULL)
-        ->orderRaw('rand()')->limit($count)->select();
+        ->orderRaw('rand()')->limit($today_my_question)->select();
 
         foreach($lists as $key => $val){
             $val['options_json'] = $this->getOptionsJsonAttr($val['options_json']);

+ 34 - 30
application/api/controller/Subject.php

@@ -12,7 +12,7 @@ use app\utils\RedisUtil;
  */
 class Subject extends Api
 {
-    protected $noNeedLogin = ['*'];
+    protected $noNeedLogin = ['info','playerlist','playerinfo','playerlist_votes','playerlist_score'];
     protected $noNeedRight = ['*'];
 
 
@@ -61,26 +61,7 @@ class Subject extends Api
 
         //$lists = $this->mingci($subject_id,$lists);
 
-        //今日剩余票数
-        $today_my_vote = 0;
-        if($this->auth->isLogin()){
-            //今天,投了几票
-            $today_record = RedisUtil::getInstance(RedisKeyEnum::VOTE_RECORD.date('Y-m-d').':'.$this->auth->id)->get();
-            //今天,免费的的票
-            $gift_votes = config('site.gift_votes_user_eday');
-            //今天,用户答对的次数,也就是答题获得的票数
-            $question_vote  = RedisUtil::getInstance(RedisKeyEnum::EAXM_RIGHT.date('Y-m-d').':'.$this->auth->id)->get();
-            //今日剩余票数
-            $today_my_vote = $gift_votes + $question_vote - $today_record;
-        }
-
-        //
-        $result = [
-            'today_my_vote' => $today_my_vote,
-            'players'       => $lists,
-        ];
-
-        $this->success(1,$result);
+        $this->success(1,$lists);
     }
 
     //选手详情
@@ -131,6 +112,10 @@ class Subject extends Api
         $gift_votes = config('site.gift_votes_user_eday');
         //今天,用户答对的次数,也就是答题获得的票数
         $question_vote  = RedisUtil::getInstance(RedisKeyEnum::EAXM_RIGHT.date('Y-m-d').':'.$this->auth->id)->get();
+        //今天,总答题次数
+        $gift_question = config('site.exam_times_user_eday');
+        //今天,已答题次数
+        $submit_question = RedisUtil::getInstance(RedisKeyEnum::EAXM_TIMES.date('Y-m-d').':'.$this->auth->id)->get();
 
         //基础票数
         $jcps = $gift_votes - $today_record;
@@ -144,26 +129,45 @@ class Subject extends Api
             $dtps = 0;
         }
 
-        //今日投票记录
-        $player_ids = Db::name('vote_record')->where('user_id',$this->auth->id)->where('createdate',strtotime(date('Y-m-d')))->column('player_id');
-        $map = [
-            'status' => 1,
-            'id' => ['IN',$player_ids]
-        ];
-        $lists = Db::name('vote_player')->field('id,title,votes')
-            ->where($map)->order('votes desc,id desc')->select();
+        //今日剩余票数
+        $today_my_vote = $gift_votes + $question_vote - $today_record;
+        if($today_my_vote < 0){
+            $today_my_vote = 0;
+        }
+
+        //今日剩余答题次数
+        $today_my_question = $gift_question - $submit_question;
+        if($today_my_question < 0){
+            $today_my_question = 0;
+        }
+
 
         //
         $result = [
             'info' => $info,
             'jcps' => $jcps,
             'dtps' => $dtps,
-            'lists' => $lists,
+            'today_my_vote' => $today_my_vote,
+            'today_my_question' => $today_my_question,
         ];
 
         $this->success(1,$result);
     }
 
+    //今日投票记录
+    public function my_vote_history(){
+        //今日投票记录
+        $player_ids = Db::name('vote_record')->where('user_id',$this->auth->id)->where('createdate',strtotime(date('Y-m-d')))->column('player_id');
+        $map = [
+            'status' => 1,
+            'id' => ['IN',$player_ids]
+        ];
+        $lists = Db::name('vote_player')->field('id,title,votes')
+            ->where($map)->order('votes desc,id desc')->select();
+
+        $this->success(1,$lists);
+    }
+
     //选手票数排行榜,按票
     public function playerlist_votes(){
         $subject_id = 1;