/** * 抢单的任务详情 */ 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; }