use rust_decimal::prelude::*;
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct KlineData {
pub f_id: u64,
pub f_symbol: String,
pub f_period: String,
pub f_open: f64,
pub f_close: f64,
pub f_high: f64,
pub f_low: f64,
pub f_time: u64,
pub f_vendor: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct KlineDataVo {
pub id: u64,
pub symbol: String,
pub period: String,
pub open: f64,
pub close: f64,
pub high: f64,
pub low: f64,
pub time: u64,
pub vendor: String,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct KlineDataCreator {
pub s: String,
pub period: String,
pub o: Decimal,
pub c: Decimal,
pub h: Decimal,
pub l: Decimal,
pub t: String,
pub vr: String,
}
impl From<KlineData> for KlineDataVo {
fn from(item: KlineData) -> Self {
KlineDataVo {
id: item.f_id,
symbol: item.f_symbol,
period: item.f_period,
open: item.f_open,
close: item.f_close,
high: item.f_high,
low: item.f_low,
time: item.f_time,
vendor: item.f_vendor,
}
}
}