Explorar o código

特殊处理,代理设置

hl hai 1 ano
pai
achega
ab63141c3a
Modificáronse 2 ficheiros con 71 adicións e 15 borrados
  1. 46 15
      exchanges/src/phemex_swap_rest.rs
  2. 25 0
      exchanges/tests/phemex_swap_test.rs

+ 46 - 15
exchanges/src/phemex_swap_rest.rs

@@ -166,7 +166,27 @@ impl PhemexSwapRest {
         data
     }
 
-    //
+    //订单列表
+    pub async fn get_orders(&mut self, params: Value) -> ResponseData {
+        let data = self.request("GET".to_string(),
+                                "".to_string(),
+                                "/api-data/g-futures/orders".to_string(),
+                                true,
+                                params,
+        ).await;
+        data
+    }
+
+    //根据id查询订单
+    pub async fn get_orders_by_id(&mut self, params: Value) -> ResponseData {
+        let data = self.request("GET".to_string(),
+                                "".to_string(),
+                                "/api-data/g-futures/orders/by-order-id".to_string(),
+                                true,
+                                params,
+        ).await;
+        data
+    }
 
     /*******************************************************************************************************/
     /*****************************************工具函数********************************************************/
@@ -391,7 +411,13 @@ impl PhemexSwapRest {
                             return ResponseData::new(self.tag.clone(), 200, "success".to_string(), json_value);
                         }
                     }
-                    _ => {}
+                    _ => {
+                        if json_value.get("msg").is_some() {
+                            return ResponseData::new(self.tag.clone(), 400, format!("{:?}", json_value["msg"].as_str()), json_value);
+                        } else {
+                            return ResponseData::new(self.tag.clone(), 400, "error".to_string(), json_value);
+                        }
+                    }
                 }
             }
         }
@@ -403,26 +429,31 @@ impl PhemexSwapRest {
     pub fn on_error_data(&mut self, text: &String, base_url: &String, params: &String) -> ResponseData {
         let json_value = serde_json::from_str::<Value>(&text);
 
+
         match json_value {
             Ok(data) => {
-                let message;
-
-                if !data["message"].is_null() {
-                    message = format!("{}:{}", data["tag"].as_str().unwrap(), data["message"].as_str().unwrap());
-                } else {
-                    message = data["tag"].to_string();
+                let code = data["code"].as_i64();
+                match code {
+                    None => {}
+                    Some(v) => {
+                        match v {
+                            _ => {
+                                if data.get("msg").is_some() {
+                                    return ResponseData::new(self.tag.clone(), 400, format!("{:?}", data["msg"].as_str().unwrap()), data);
+                                } else {
+                                    return ResponseData::new(self.tag.clone(), 400, "error".to_string(), data);
+                                }
+                            }
+                        }
+                    }
                 }
-
-                let mut error = ResponseData::error(self.tag.clone(), message);
-                error.message = format!("请求地址:{}, 请求参数:{}, 报错内容:{}。", base_url, params, error.message);
-                error
             }
             Err(e) => {
                 error!("解析错误:{:?}", e);
-                let error = ResponseData::error("".to_string(),
-                                                format!("json 解析失败:{},相关参数:{}", e, text));
-                error
+                return ResponseData::error("".to_string(),
+                                           format!("json 解析失败:{},相关参数:{}", e, text));
             }
         }
+        return ResponseData::error("".to_string(), format!("请求失败:{:?}", text));
     }
 }

+ 25 - 0
exchanges/tests/phemex_swap_test.rs

@@ -209,6 +209,31 @@ async fn rest_cancel_order_all_test() {
 }
 
 
+//订单列表
+#[tokio::test]
+async fn rest_get_orders_test() {
+    global::log_utils::init_log_with_trace();
+
+    let mut ret = get_rest();
+    let req_data = ret.get_orders(json!({
+        "symbol": "BTCUSDT"
+    })).await;
+    println!("Phemex--订单列表)--{:?}", req_data);
+}
+
+//根据id查询订单
+#[tokio::test]
+async fn rest_get_orders_by_id_test() {
+    global::log_utils::init_log_with_trace();
+
+    let mut ret = get_rest();
+    let req_data = ret.get_orders_by_id(json!({
+        "symbol":"BTCUSDT",
+        "orderID":"123"
+    })).await;
+    println!("Phemex--根据id查询订单)--{:?}", req_data);
+}
+
 fn get_rest() -> PhemexSwapRest {
     // proxy::ParsingDetail::http_enable_proxy(Some("phemex"));