コード例 #1
0
 static function getParameters()
 {
     Request::setMethod('GET');
     $gulliverId = Request::get('GID', "");
     $baseId = Request::get('BID', "");
     if ("" == $gulliverId) {
         return false;
     }
     if ("" == $baseId) {
         return false;
     }
     //
     $row = InsuranceModel::where('session', $gulliverId)->where('id', $baseId)->first()->toArray();
     self::$search = json_decode($row['search'], true);
     self::$item = json_decode($row['item'], true);
     unset($row);
     return;
 }
コード例 #2
0
 /**
  * @return mixed
  **/
 public function grid()
 {
     $EncryptedSearch = Request::get('search', "");
     if ("" == $EncryptedSearch) {
         return Response::json(['error' => true, 'description' => 'No search'], 412);
     }
     //
     try {
         $search = Crypt::decrypt($EncryptedSearch);
     } catch (\Exception $e) {
         return Response::json(['error' => true, 'description' => 'Search decode'], 412);
     }
     //
     $response = Gulliver::getInsuranceAvailability(['origin' => mb_convert_case($search['origin'], MB_CASE_UPPER), 'destination' => mb_convert_case($search['destination'], MB_CASE_TITLE), 'dateFrom' => $search['dateFrom'], 'dateTo' => $search['dateTo'], 'passengers' => true == is_array($search['passengers']) ? implode(',', $search['passengers']) : $search['passengers'], 'currency' => 'ARS']);
     if (false == $response) {
         return Response::json(['error' => true, 'description' => Gulliver::$error], 412);
     }
     //
     $sessionId = $response['sessionId'];
     $response = $response['availablePlans'];
     //
     foreach ($response as $key => $item) {
         $response[$key]['insuranceTotalPrices']['requestedSellingPrice']['taxes'] = $item['insuranceTotalPrices']['requestedSellingPrice']['afterTax'] - $item['insuranceTotalPrices']['requestedSellingPrice']['beforeTax'];
         //
         $row = InsuranceModel::store(['session' => $sessionId, 'plan_number' => $key, 'item' => json_encode($response[$key]), 'search' => json_encode($search)]);
         //  http://viajes-laravel.dev/compra/seguros/?GID=71ff1103-d3c6-4e12-92b1-0caccc864d2a&BID=1
         $response[$key]['booking'] = url() . '/compra/seguros?' . http_build_query(['GID' => $sessionId, 'BID' => $row->id]);
     }
     //
     Cookie::queue(self::$config['cookieName'], $search, self::$config['cookieTtl']);
     //
     return Response::json(['error' => false, 'description' => 'Ok', 'total' => sizeof($response), 'grid' => view('Insurance/grid')->with(['destination' => mb_convert_case($search['destination'], MB_CASE_LOWER), 'response' => $response])->render()], 200);
 }