コード例 #1
0
 /**
  * @Route("/goods_status/{_format}", name="api_goodsStatus_list", defaults={"_format"="json"}, options={"expose"=true})
  * @Method("GET")
  * @ApiDoc(
  *  resource=true,
  *  description="取得所有商品狀態的資料"
  * )
  */
 public function listAction(Request $request, $_format)
 {
     $em = $this->getDoctrine()->getManager();
     $goodsStatuses = $em->getRepository('WoojinGoodsBundle:GoodsStatus')->findAll();
     $serializer = \JMS\Serializer\SerializerBuilder::create()->build();
     $jsonGoodsStatuss = $serializer->serialize($goodsStatuses, $_format);
     $responseHandler = new ResponseHandler();
     return $responseHandler->getETag($request, $jsonGoodsStatuss, $_format);
 }
コード例 #2
0
 /**
  * @Route("/pattern/{_format}", name="api_pattern_list", defaults={"_format"="json"}, options={"expose"=true})
  * @Method("GET")
  * @ApiDoc(
  *  resource=true,
  *  description="取得所有款式的資料"
  * )
  */
 public function listAction(Request $request, $_format)
 {
     $em = $this->getDoctrine()->getManager();
     $patterns = $em->getRepository('WoojinGoodsBundle:Pattern')->findBy(array(), array('name' => 'ASC'));
     $serializer = \JMS\Serializer\SerializerBuilder::create()->build();
     $jsonPatterns = $serializer->serialize($patterns, $_format);
     $responseHandler = new ResponseHandler();
     return $responseHandler->getETag($request, $jsonPatterns, $_format);
 }
コード例 #3
0
 /**
  * @Route("/activity/{_format}", name="api_activity_list", defaults={"_format"="json"}, options={"expose"=true})
  * @Method("GET")
  * @ApiDoc(
  *  resource=true,
  *  description="取得所有活動的資料"
  * )
  */
 public function listAction(Request $request, $_format)
 {
     $em = $this->getDoctrine()->getManager();
     $activitys = $em->getRepository('WoojinStoreBundle:Activity')->findAll();
     $serializer = \JMS\Serializer\SerializerBuilder::create()->build();
     $jsonActivitys = $serializer->serialize($activitys, $_format);
     $responseHandler = new ResponseHandler();
     return $responseHandler->getETag($request, $jsonActivitys, $_format);
 }
コード例 #4
0
ファイル: BehalfController.php プロジェクト: jocoonopa/avenue
 /**
  * @Route("/behalf/{id}/{_format}", requirements={"id"="\d+"}, defaults={"_format"="json"}, name="api_behalf_show", options={"expose"=true})
  * @ParamConverter("behalf", class="WoojinGoodsBundle:Behalf")
  * @Method("GET")
  * 
  * @ApiDoc(
  *  resource=true,
  *  description="取得代購資訊,ETag cache",
  *  requirements={
  *      {
  *          "name"="id", 
  *          "requirement"="\d+",
  *          "dataType"="integer", 
  *          "required"=true, 
  *          "description"="Entity Behalf's id"
  *      },
  *      {
  *          "name"="_format", 
  *          "dataType"="string", 
  *          "required"=false, 
  *          "description"="回傳的格式,支援 json, xml, html"
  *      }
  *  }
  * )
  */
 public function showAction(Request $request, $behalf, $_format)
 {
     if ($behalf->getCustom()->getId() !== $this->get('session.custom')->current()->getId()) {
         throw new AccessDeniedHttpException('Not Your own behalf');
     }
     if ($want = $behalf->getWant()) {
         $want->setCost(0);
     }
     if ($got = $behalf->getGot()) {
         $got->setCost(0);
     }
     $serializer = \JMS\Serializer\SerializerBuilder::create()->build();
     $jsonBehalf = $serializer->serialize($behalf, $_format);
     $responseHandler = new ResponseHandler();
     return $responseHandler->getETag($request, $jsonBehalf, $_format);
 }
コード例 #5
0
 /**
  * @Route("/goods_passport/multiSn/{longSn}/{_format}", defaults={"_format"="json"}, name="api_goodsPassport_show_byMultiSn", options={"expose"=true})
  * @Method("GET")
  *
  * @ApiDoc(
  *  resource=true,
  *  description="輸入多筆產編取得商品資訊",
  *  requirements={
  *      {
  *          "name"="longSn",
  *          "dataType"="string",
  *          "required"=true,
  *          "description"="Entity GoodsPassport's sn"
  *      }
  *  }
  * )
  */
 public function showByMultiSnAction(Request $request, $longSn, $_format)
 {
     $em = $this->getDoctrine()->getManager();
     $qb = $em->createQueryBuilder();
     $qb->select('g')->from('WoojinGoodsBundle:GoodsPassport', 'g')->where($qb->expr()->in('g.sn', explode('@', str_replace('%', '', $longSn))))->orderBy('g.id', 'DESC');
     $products = $qb->getQuery()->getResult();
     foreach ($products as $product) {
         $product->setCost(0);
         $product->setSn($product->getSn(true));
     }
     $serializer = \JMS\Serializer\SerializerBuilder::create()->build();
     $jsonProducts = $serializer->serialize($products, $_format);
     $responseHandler = new ResponseHandler();
     return $responseHandler->getETag($request, $jsonProducts, $_format);
 }