use crate::prelude2::*;
use chrono::{DateTime, Utc};
use serde_with::skip_serializing_none;
use crate::core::serde::f64_format::F64;
use crate::core::serde::u64_format::U64;
use crate::core::serde::date_format_opt;
#[derive(serde::Serialize, Debug, serde::Deserialize)]
struct TestStruct {
pub a: f32,
#[serde(with = "date_format_opt", skip_serializing_if = "Option::is_none")]
pub crated_at: Option<DateTime<Utc>>,
}
#[skip_serializing_none]
#[derive(serde::Deserialize, serde::Serialize)]
pub struct KLine {
pub time: Option<U64>,
pub symbol: Option<String>,
pub o: Option<F64>,
pub c: Option<F64>,
pub h: Option<F64>,
pub l: Option<F64>,
}
pub async fn date_format(request: HttpRequest) -> impl Responder {
let test_struct = TestStruct {
a: 2.45,
crated_at: Some(Utc::now()),
};
request.json(200, R::ok(test_struct))
}
pub async fn big_decimal(data: web::Json<KLine>, request: HttpRequest) -> impl Responder {
let num = data.0.time.unwrap();
log::info!("u64={}", num.0 + 1);
log::info!("u256-max-value__={}", ethnum::U256::MAX);
log::info!("u256-max-value-1={}", ethnum::U256::MAX - 1);
log::info!("u256-max-string_={}", ethnum::U256::MAX);
request.json(200, R::ok(data))
}