Example #1
0
 public function getEnvUrl()
 {
     if ($this->env == 'PRO') {
         return Config::get('endpoints.base_url');
     } else {
         return Config::get('endpoints.dev_url');
     }
 }
 /**
  * 物流轨迹查询
  * @return mixed
  */
 public function getTrackingOrder($orderNo)
 {
     if (parent::getEnv() == 'PRO') {
         $host = 'http://api.tr.4px.com/';
     } else {
         $host = 'http://preview.api.transrush.com/';
     }
     $baseUrl = $host . Config::get('endpoints.get_tracking_orders') . '?token=' . parent::getApiKey() . '&orderNo=' . $orderNo;
     $request = parent::createBaseRequest(parent::getApiKey(), 'GET', $baseUrl);
     try {
         $response = parent::getClient()->send($request);
     } catch (ClientException $e) {
         throw parent::convertException($e);
     }
     $body = $response->xml();
     $json = json_encode($body);
     $res = json_decode($json, TRUE);
     return $res;
 }
 /**
  * 删除预报
  * @return \TransRush\Components\ResultSet
  * @throws
  */
 public function deletePreAlert(DeletePreAlert $deletePreAlert, array $params = array())
 {
     $baseUrl = parent::getEnvUrl() . Config::get('endpoints.delete_pre_alert');
     $request = parent::createBaseRequest(parent::getApiKey(), 'POST', $baseUrl);
     if ($params) {
         $query = $request->getQuery();
         foreach ($params as $name => $value) {
             $query->add($name, $value);
         }
     }
     $requestSet = new RequestSet();
     $requestSet->Token = parent::getApiKey();
     $requestSet->Data = $deletePreAlert;
     $stream = Stream::factory(json_encode($requestSet));
     $request->setBody($stream);
     try {
         $response = parent::getClient()->send($request);
     } catch (ClientException $e) {
         throw parent::convertException($e);
     }
     return ResultSet::create($response->json());
 }
 /**
  * 查询转运四方在国外的仓库信息
  * @return array
  * @throws 
  */
 public function getWareHouse()
 {
     $baseUrl = parent::getEnvUrl() . Config::get('endpoints.get_ware_house');
     $request = parent::createBaseRequest(parent::getApiKey(), 'POST', $baseUrl);
     $requestSet = new RequestSet();
     $requestSet->Token = parent::getApiKey();
     $requestSet->Data = null;
     $stream = Stream::factory(json_encode($requestSet));
     $request->setBody($stream);
     try {
         $response = parent::getClient()->send($request);
     } catch (ClientException $e) {
         throw parent::convertException($e);
     }
     $body = $response->json();
     $wareHouses = array();
     $res = json_decode(stripcslashes($body['Data']));
     // 这里Data是字符串 需要先反转义
     foreach ($res as $wareHouse) {
         $wareHouses[] = WareHouse::create(ArrayUtil::object_to_array($wareHouse));
     }
     return $wareHouses;
 }