Example #1
0
 /**
  * 投票操作
  *
  * @param Request $request
  * @param Response $response
  */
 function vote(Request $request, Response $response)
 {
     if ($request->is_post()) {
         //提交数据
         $player_id = $request->post('player_id', 0);
         $token = $request->post('token', '');
         $res = ['flag' => 'FAIL', 'msg' => ''];
         if (empty($player_id)) {
             $res['msg'] = 'player_id empty';
             $response->sendJSON($res);
         }
         $uid = $GLOBALS['user']->uid;
         if (empty($uid)) {
             $res['msg'] = '您没登录,请先在微信端登录';
             $response->sendJSON($res);
         }
         $maybe_spam = $request->is_token_post() ? 0 : 1;
         $ret = Node::action('vote', $player_id, $uid, 1, FALSE, FALSE, ['maybe_spam' => $maybe_spam]);
         if ($ret >= 0) {
             $time_from = 0;
             $vote_field = 'votecnt';
             $player_info = Match_Model::getPlayerInfo($player_id);
             if ($player_info['stage'] > 0) {
                 $time_from = Node::getMatchStageTime($player_info['match_id']);
                 $vote_field = Node::getVoteFiled($player_info['stage']);
             }
             //返回当前player总投票数(包括flower加权)
             $votedcnt = $player_info[$vote_field];
             //返回当前player投票数
             $votedcnt_single = Node::getActionNum($player_id, 'vote', $time_from);
             $res['flag'] = 'SUC';
             $res['msg'] = "投票成功!";
             $res['votedcnt'] = $votedcnt;
             $res['votedcnt_single'] = $votedcnt_single;
             if ($ret > 0) {
                 $res['msg'] .= "您今天还可以投<em style=\"color:red\">{$ret}</em>票!";
             } else {
                 //您已投票成功!请关注大赛微信公众平台帐号:FEOfeel,随时关注比赛动态
                 $res['msg'] .= '您今天的票数已用完,明天再来,还可以给女神<em style="color:red">送花</em>或为其他女神投票哦~';
             }
             $response->sendJSON($res);
         } else {
             if (-11 == $ret) {
                 $res['msg'] = '票数已用完,明天再来,还可以给女神<em style="color:red">送花</em>或为其他女神投票哦~';
             } elseif (-12 == $ret) {
                 $res['msg'] = '连续投票时间间隔要在2小时以上';
             } elseif (-13 == $ret) {
                 $res['msg'] = '投票太频繁,请稍后再试';
             } elseif (-14 == $ret) {
                 $res['msg'] = '本次大赛投票已截止,感谢您的关注';
             } else {
                 $res['msg'] = '发生未知错误';
             }
             $response->sendJSON($res);
         }
     }
 }