Procházet zdrojové kódy

修改okx导出ticker

gepangpang před 1 rokem
rodič
revize
ea560fcc08

+ 2 - 2
src/export_template/template_analyze.rs

@@ -8,12 +8,12 @@ use tracing::info;
 //生成html
 pub fn export_html(title: &str, symbol: &str, x_values: Vec<Decimal>, y_values: Vec<Decimal>) {
     info!("正在生成网页,请稍候……");
-    let path = format!("./{}新版无敌大数据ticker.html", symbol);
+    let path = format!("./新版无敌大数据ticker {}.html", symbol);
     // 创建 Handlebars 实例
     let mut handlebars = Handlebars::new();
 
     let data = serde_json::json!({
-        "chart_title": format!("{}的{}新版无敌大数据Ticker", title, symbol),
+        "chart_title": format!("新版无敌大数据Ticker {}的{}", title, symbol),
         "x_values": x_values,
         "y_values": y_values,
     });

+ 14 - 27
src/export_ticker.rs

@@ -94,8 +94,8 @@ pub async fn get_gate_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
     let ct_val = market_info.unwrap().ct_val;
     let mut end_time = end_at.to_string();
     let mut ticker_info_list: Vec<Trades> = vec![];
+    info!("正在查询 Gate {} 信息,请稍候!", symbol);
     loop {
-        info!("正在查询 Gate 信息,请稍后!");
         let ticker_info = gate_swap_standard::standard_trades(symbol, start_at, &end_time, Option::from(ct_val)).await;
         match ticker_info {
             Ok(value) => {
@@ -121,14 +121,13 @@ pub async fn get_binance_ticker_info(symbol: &str, start_at: &str, end_at: &str)
     let end_at_d = Decimal::from_str(end_at).unwrap();
     let end_time = if end_at_d - start_at_d > dec!(3600) { (start_at_d + dec!(3600)).to_string() } else { end_at_d.to_string() };
 
-    info!("正在查询 Binance 信息,请稍后!");
+    info!("正在查询 Binance {} 信息,请稍候!", symbol);
     let agg_trades_first = binance_swap_standard::standard_agg_trades(symbol, start_at, &end_time, "").await.unwrap();
     agg_ticker_info_list.extend(agg_trades_first.clone());
 
     if agg_trades_first.len() >= 1000 {
         let mut trade_id = (Decimal::from_str(&agg_trades_first[agg_trades_first.len() - 1].id.clone()).unwrap() + Decimal::ONE).to_string();
         loop {
-            info!("正在查询 Binance 信息,请稍后!");
             let agg_trades_info = binance_swap_standard::standard_agg_trades(symbol, "", "", &trade_id).await;
             match agg_trades_info {
                 Ok(value) => {
@@ -175,37 +174,25 @@ pub async fn get_okx_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
     let end_at_d_str = if end_at != "" { format!("{}{}", end_at_d.to_string(), "000") } else { "".to_string() };
 
 
-    info!("正在查询 okx 信息,请稍后!");
-    info!("当前时间---{:?}---{:?}",start_at,end_at);
-
-    let mut list_array: Vec<Trades> = vec![];
-    let ticker_one = okx_swap_standard::standard_history_candles(symbol, "", end_at_d_str.as_str(), ct_val).await.unwrap();
-    if ticker_one.len() > 0 {
-        let ticker_0 = ticker_one.get(0).cloned();
-        let ticker_size = ticker_one.get(ticker_one.len() - 1).cloned();
-        if ticker_one.len() > 0 {
-            let mut create_time_0 = ticker_0.unwrap().create_time;
-            let mut create_time_size = ticker_size.unwrap().create_time;
-            info!("第一次查询范畴--{:?}---{:?}",create_time_0,create_time_size);
-            list_array.extend(ticker_one.clone());
+    info!("正在查询 okx 信息,请稍候!");
 
+    let mut ticker_info_list: Vec<Trades> = vec![];
+    let mut trades_list = okx_swap_standard::standard_history_candles(symbol, "", end_at_d_str.as_str(), ct_val).await.unwrap();
+    if trades_list.len() > 0 {
+        if trades_list.len() > 0 {
+            let mut create_time_size = trades_list.get(trades_list.len() - 1).cloned().unwrap().create_time;
+            ticker_info_list.extend(trades_list.clone());
             let mut i = 1;
             loop {
                 tokio::time::sleep(Duration::from_millis(500)).await;
                 i = i + 1;
                 let start_at_str = format!("{}000", start_at);
                 if start_at_str < create_time_size {
-                    let ticker_one2 = okx_swap_standard::standard_history_candles(symbol, "", create_time_size.as_ref(), ct_val).await.unwrap();
-
-                    let ticker_0_2 = ticker_one2.get(0).cloned();
-                    let ticker_size_2 = ticker_one2.get(ticker_one.len() - 1).cloned();
-
-                    create_time_0 = ticker_0_2.unwrap().create_time;
-                    create_time_size = ticker_size_2.unwrap().create_time;
-                    info!("第{:?}次查询范畴--{:?}---{:?}",i,create_time_0,create_time_size);
-                    list_array.extend(ticker_one2.clone());
+                    create_time_size = trades_list.get(trades_list.len() - 1).unwrap().clone().create_time;
+                    let ticker_end = create_time_size.clone();
+                    trades_list = okx_swap_standard::standard_history_candles(symbol, "", &ticker_end, ct_val).await.unwrap();
+                    ticker_info_list.extend(trades_list.clone());
                 } else {
-                    info!("查询完毕!");
                     break;
                 }
             }
@@ -215,7 +202,7 @@ pub async fn get_okx_ticker_info(symbol: &str, start_at: &str, end_at: &str) ->
     }
 
     let mut set = std::collections::HashSet::new();
-    list_array.clone().into_iter().filter(|trades| {
+    ticker_info_list.clone().into_iter().filter(|trades| {
         trades.create_time > start_at_d_str && trades.create_time < end_at_d_str && trades.is_effect && set.insert(trades.clone())
     }).collect()
 }

+ 3 - 3
src/http/request.rs

@@ -1,5 +1,5 @@
 use reqwest::header::HeaderMap;
-use tracing::{error, info};
+use tracing::error;
 
 #[derive(Debug, Clone)]
 pub struct Response {
@@ -35,16 +35,16 @@ pub async fn get(url: &str, params: String, headers: Option<HeaderMap>) -> Respo
     }
     params_str = if !params_str.is_empty() { params_str[..params_str.len() - 1].to_string() } else { params_str.to_string() };
     let last_url = format!("{}?{}", url, params_str);
-    info!("请求:{:?}",last_url);
 
     let client = reqwest::Client::new();
     let header_info = headers.unwrap_or_default();
-    let response = client.get(last_url).headers(header_info).send().await;
+    let response = client.get(last_url.clone()).headers(header_info).send().await;
     match response {
         Ok(res) => {
             result(res).await
         }
         Err(err) => {
+            error!("请求:{:?}",last_url);
             error!("Response err: {}", err);
             Response {
                 code: "500".to_string(),