Esempio n. 1
0
 public function join(Request $request, Response $response)
 {
     $res = ['flag' => 'FAIL', 'msg' => ''];
     if (Member::isLogined()) {
         $user = Member::getUser();
         $uid = $user['uid'];
     } else {
         $res['msg'] = '请先登录';
         $response->sendJSON($res);
     }
     $aid = $request->post('aid', 0);
     $act = $request->post('act', '');
     $info = Activity_Model::getActivityByAid($aid);
     if (empty($info)) {
         $res['msg'] = '该活动不存在';
         $response->sendJson($res);
     }
     if (!in_array($act, ['join', 'vote'])) {
         $res['msg'] = '未知操作';
         $response->sendJson($res);
     }
     $inc = 1;
     if ($act == 'join') {
         $cur_time = time();
         if ($info['start_time'] > $cur_time) {
             $res['msg'] = '活动还没有开始';
             $response->sendJson($res);
         }
         if ($info['end_time'] < $cur_time) {
             $res['msg'] = '活动已结束';
             $response->sendJson($res);
         }
         if (Activity_Model::isJoin($aid, $uid, 'join')) {
             $inc = -1;
             $res['msg'] = '您已经参与过本次活动了';
             $response->sendJson($res);
         }
     } elseif ($act == 'vote') {
         if (Activity_Model::isJoin($aid, $uid, 'vote')) {
             $inc = -1;
             /*
                     $res['msg'] = '已赞'; 
                     $response->sendJson($res);*/
         }
     }
     $jid = Activity_Model::joinActivity(['aid' => $aid, 'uid' => $uid, 'act' => $act, 'timeline' => time()], $inc);
     if ($jid > 0) {
         $res['flag'] = 'SUC';
         if ($act == 'join') {
             $res['msg'] = '参与成功';
         } elseif ($act == 'vote') {
             if ($inc > 0) {
                 $res['msg'] = '已赞';
             } else {
                 $res['msg'] = '已取消赞';
             }
         }
     } else {
         $res['msg'] = '系统繁忙,请稍后再试';
     }
     $response->sendJson($res);
 }