Browse Source

修改下单指令
修改撤单自定义id

gepangpang 2 years ago
parent
commit
aa2beb4dc2
2 changed files with 20 additions and 6 deletions
  1. 6 3
      standard/src/gate_swap.rs
  2. 14 3
      standard/src/lib.rs

+ 6 - 3
standard/src/gate_swap.rs

@@ -1,4 +1,4 @@
-use std::collections::BTreeMap;
+use std::collections::{BTreeMap, HashMap};
 use std::io::{Error, ErrorKind};
 use std::str::FromStr;
 use std::thread;
@@ -279,7 +279,7 @@ impl Platform for GateSwap {
     async fn cancel_order(&self, order_id: &str, is_custom_id: bool) -> Result<Order, Error> {
         let symbol_array: Vec<&str> = self.symbol.split("_").collect();
         let settle = symbol_array[1].to_string().to_lowercase();
-        let id = if is_custom_id { order_id } else { order_id };
+        let id = if is_custom_id { format!("t-my-custom-id_{}", order_id) } else { order_id.to_string() };
         let res_data = self.request.cancel_order(settle, id.to_string()).await;
         if res_data.code == "200" {
             let res_data_str = &res_data.data;
@@ -348,7 +348,10 @@ impl Platform for GateSwap {
             }
         }
         // 下单指令
-        let limits = order_command.limits;
+        let mut limits = HashMap::new();
+        limits.extend(order_command.limits_open);
+        limits.extend(order_command.limits_close);
+        println!("{:?}", limits);
         let market = self.get_market().await.unwrap();
         for item in limits.keys() {
             let self_clone = self.clone();

+ 14 - 3
standard/src/lib.rs

@@ -50,13 +50,24 @@ pub struct OrderCommand {
     // {
     //  order_name: [数量,方向,价格,c_id]
     // }
-    pub limits: HashMap<String, Vec<String>>,
+    // pub limits: HashMap<String, Vec<String>>,
     // 检验指令,数据结构例子:(暂没找到例子)
     pub check: HashMap<String, Vec<String>>,
     // 限开指令,数据结构例子:(暂没找到例子)
-    // pub limits_open: HashMap<String, Vec<String>>,
+    pub limits_open: HashMap<String, Vec<String>>,
     // 限收指令,数据结构例子:(暂没找到例子)
-    // pub limits_close: HashMap<String, Vec<String>>
+    pub limits_close: HashMap<String, Vec<String>>,
+}
+
+impl OrderCommand {
+    pub fn new() -> OrderCommand {
+        OrderCommand{
+            cancel: Default::default(),
+            check: Default::default(),
+            limits_open: Default::default(),
+            limits_close: Default::default(),
+        }
+    }
 }
 
 /// Account结构体(账户信息)