Example #1
0
 /**
  * 抢单的任务详情
  */
 public function grabAction()
 {
     //获取抢单ID
     $workId = $this->params()->fromRoute('id');
     //获取我的workerId
     $workerId = '1';
     //验证是否有此ID,并获取详细信息
     $work_info = $this->_verfiy_workID($workId);
     if (empty($work_info)) {
         //跳回原来的页面
         return $this->redirect()->toRoute('mygrab', array('status' => 'notfoundid'));
     }
     /*判断是否已经抢单,如果抢了就输出抢的信息*/
     $view = new viewModel();
     //post标记
     $flat_post = $this->getRequest()->isPost();
     //验证是否抢过单了
     $grab_data = $this->_verfig_grabed($workId, $workerId);
     if (!empty($grab_data)) {
         //标记已经抢过了
         $view->setVariable('workstatus', 'grabed');
         if ($flat_post) {
             $view->setVariable('error', '已经抢过了');
         }
     } else {
         // 没抢单,判断是否过期
         if ($work_info->getWorkJointime() > time() && $work_info->getWorkStatus() == '0') {
             $view->setVariable('workstatus', 'grab');
             if ($flat_post) {
                 //枪单流程
                 if ($this->_grab_work($this->getRequest()->getPost(), $workId)) {
                     $view->setVariable('workstatus', 'grabed');
                     $view->setVariable('error', '抢单成功');
                 } else {
                     $view->setVariable('error', '抢单失败');
                 }
             }
         } else {
             $view->setVariable('workstatus', 'over');
             if ($flat_post) {
                 $view->setVariable('error', '已经过期了');
             }
         }
     }
     //输出一个表单
     $view->setVariable('form', new GrabForm());
     $view->setVariable('workgrab', $grab_data);
     $view->setVariable('workinfo', $work_info);
     return $view;
 }