/** * @Route("/post/", name="_post") */ public function postAction(Request $request) { $session = $request->getSession(); $res = array('ret' => 0, 'msg' => '', 'url' => ''); $t = $session->get('resType'); $username = $request->get('name'); $email = $request->get('email'); if (null == $t) { $res['ret'] = 1001; $res['msg'] = '来源不正确'; } elseif ($username == $t) { $res['ret'] = 1002; $res['msg'] = '请输入用户名'; } elseif ($email == $t) { $res['ret'] = 1003; $res['msg'] = '请输入Email'; } else { try { $em = $this->getDoctrine()->getManager(); $user = $this->getUser(); $code = $em->getRepository('AppBundle:ExchangeCode')->findOneBy(array('isUsed' => 0)); $repo = $em->getRepository('AppBundle:Form'); $now = time(); if ($now <= strtotime('2015-08-25 23:59:59')) { $createTime1 = '2015-08-10 00:00:00'; $createTime2 = '2015-08-25 23:59:59'; } else { $createTime1 = '2015-08-26 00:00:00'; $createTime2 = '2015-09-02 23:59:59'; } $qb = $repo->createQueryBuilder('a')->select('COUNT(a)')->where('a.user = :user AND a.createTime >= :createTime1 AND a.createTime <= :createTime2')->setParameter('user', $user)->setParameter('createTime1', $createTime1)->setParameter('createTime2', $createTime2); $count = $qb->getQuery()->getSingleScalarResult(); if ($now >= strtotime('2015-09-03')) { $res['ret'] = 1102; $res['msg'] = '你来晚了喔,活动已经结束了~'; } elseif (null == $code) { $res['ret'] = 1200; $res['msg'] = '你来晚了喔,已经没有优惠券了~'; } elseif ($count >= 3) { $res['ret'] = 1300; $res['msg'] = '一周只有3次机会喔~'; $res['url'] = $this->generateUrl('_fail'); } else { $form = new Entity\Form(); $form->setUsername($username); $form->setEmail($email); $form->setType($t); $form->setCreateIp($request->getClientIp()); $form->setCreateTime(new \DateTime('now')); $form->setUser($user); $form->setCode($code); $code->setIsUsed(1); $em->persist($form); $em->persist($code); $em->flush(); $res['url'] = $this->generateUrl('_success', array('id' => $form->getId())); } $session->set('resType', null); } catch (Exception $e) { $res['ret'] = 1101; $res['msg'] = $e->getMessage(); } } return new Response(json_encode($res)); }
/** * @Route("/form/post", name="_form_post") */ public function formPostAction(Request $request) { $result = array('ret' => 0, 'msg' => ''); $user = $this->getUser(); $em = $this->getDoctrine()->getManager(); $qb = $em->getRepository('AppBundle:Form')->createQueryBuilder('a')->select('COUNT(a)')->where('a.user = :user ')->setParameter('user', $user); $count = $qb->getQuery()->getSingleScalarResult(); if ($count == 0) { if ($request->getMethod() == "POST") { if ($request->get('username') == null) { $result['ret'] = 1002; $result['msg'] = '姓名不能为空'; } elseif ($request->get('email') == null) { $result['ret'] = 1003; $result['msg'] = 'Email不能为空'; } elseif ($request->get('mobile') == null) { $result['ret'] = 1004; $result['msg'] = '手机号码不能为空'; } else { $form = new Entity\Form(); $form->setUser($user); $form->setUsername($request->get('username')); $form->setEmail($request->get('email')); $form->setMobile($request->get('mobile')); $form->setCreateTime(new \DateTime("now")); $form->setCreateIp($this->container->get('request')->getClientIp()); $em->persist($form); $em->flush(); } } else { $result['ret'] = 1005; $result['msg'] = '来源不正确'; } } else { $result = array('ret' => 1001, 'msg' => '您已经提交过表单了~'); } return new Response(json_encode($result)); }