|
@@ -4,6 +4,7 @@ use async_trait::async_trait;
|
|
|
use chrono::{FixedOffset, NaiveDateTime, TimeZone};
|
|
use chrono::{FixedOffset, NaiveDateTime, TimeZone};
|
|
|
use rust_decimal::Decimal;
|
|
use rust_decimal::Decimal;
|
|
|
use serde::{Deserialize, Serialize};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
+use tracing::warn;
|
|
|
use exchanges::okx_swap_rest::OkxSwapRest;
|
|
use exchanges::okx_swap_rest::OkxSwapRest;
|
|
|
use standard::utils;
|
|
use standard::utils;
|
|
|
use crate::ExportConnector;
|
|
use crate::ExportConnector;
|
|
@@ -21,6 +22,7 @@ impl OkxSwapExport {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// TradesSwap
|
|
/// TradesSwap
|
|
|
|
|
+///
|
|
|
/// - `inst_type`: String,
|
|
/// - `inst_type`: String,
|
|
|
/// - `inst_id`: String,
|
|
/// - `inst_id`: String,
|
|
|
/// - `trade_id`: String,
|
|
/// - `trade_id`: String,
|
|
@@ -74,9 +76,16 @@ struct TradesSwap {
|
|
|
|
|
|
|
|
#[async_trait]
|
|
#[async_trait]
|
|
|
impl ExportConnector for OkxSwapExport {
|
|
impl ExportConnector for OkxSwapExport {
|
|
|
- async fn export_trades(&mut self, prefix_name: &str, symbol: String, _start_time: i64, _end_time: i64, _limit: i64) -> String {
|
|
|
|
|
- let _symbol_format = utils::format_symbol(symbol.clone(), "-");
|
|
|
|
|
- let res_data = self.request.get_trade_fills("".to_string()).await;
|
|
|
|
|
|
|
+ async fn export_trades(&mut self, prefix_name: &str, symbol: String, start_time: i64, end_time: i64, limit: i64) -> String {
|
|
|
|
|
+ let symbol_format = utils::format_symbol(symbol.clone(), "-");
|
|
|
|
|
+ let limit_params = if limit > 100 {
|
|
|
|
|
+ warn!("查询条数最大为100条,已修改为100条!");
|
|
|
|
|
+ 1000
|
|
|
|
|
+ } else { limit };
|
|
|
|
|
+ let start_time_str = if start_time > 0 { start_time.to_string() } else { "".to_string() };
|
|
|
|
|
+ let end_time_str = if end_time > 0 { end_time.to_string() } else { "".to_string() };
|
|
|
|
|
+ let limit_str = if limit_params > 0 { limit_params.to_string() } else { "".to_string() };
|
|
|
|
|
+ let res_data = self.request.get_trade_fills_history(symbol_format, start_time_str, end_time_str, limit_str).await;
|
|
|
if res_data.code == "200" {
|
|
if res_data.code == "200" {
|
|
|
let trades_info: Vec<TradesSwap> = serde_json::from_str(&res_data.data).unwrap();
|
|
let trades_info: Vec<TradesSwap> = serde_json::from_str(&res_data.data).unwrap();
|
|
|
let header_array = vec!["交易编号", "订单编号", "交易币对", "买卖方向", "成交价格", "成交数量", "成交价值", "交易费用", "创建时间", "成交时间"];
|
|
let header_array = vec!["交易编号", "订单编号", "交易币对", "买卖方向", "成交价格", "成交数量", "成交价值", "交易费用", "创建时间", "成交时间"];
|