/**
  * @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));
 }