|
|
@@ -11,13 +11,13 @@ use crate::handle_info::HandleSwapInfo;
|
|
|
use crate::okx_swap::SwapPosition;
|
|
|
|
|
|
|
|
|
-#[derive(Debug, Deserialize, Serialize)]
|
|
|
+#[derive(Debug, Clone, Deserialize, Serialize)]
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
pub struct SwapBalanceAndPositionSubscribe {
|
|
|
pos_data: Vec<SwapBalanceAndPositionPosDataSubscribe>,
|
|
|
}
|
|
|
|
|
|
-#[derive(Debug, Deserialize, Serialize)]
|
|
|
+#[derive(Debug, Clone, Deserialize, Serialize)]
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
pub struct SwapBalanceAndPositionPosDataSubscribe {
|
|
|
pos_id: String,
|
|
|
@@ -168,9 +168,9 @@ pub fn format_special_ticker(data: serde_json::Value, label: String) -> SpecialD
|
|
|
// 处理position信息
|
|
|
pub fn handle_position(res_data: ResponseData, ct_val: Decimal) -> Vec<Position> {
|
|
|
let res_data_str = res_data.data;
|
|
|
- let data_list: SwapBalanceAndPositionSubscribe = serde_json::from_str(&res_data_str).unwrap();
|
|
|
+ let data_list: Vec<SwapBalanceAndPositionSubscribe> = serde_json::from_str(&res_data_str).unwrap();
|
|
|
|
|
|
- let position_data = data_list.pos_data;
|
|
|
+ let position_data = data_list[0].pos_data.clone();
|
|
|
position_data.iter().map(|item| format_position_item(item, ct_val)).collect()
|
|
|
}
|
|
|
|