use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Order {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "userID", skip_serializing_if = "Option::is_none")]
pub user_id: Option<i64>,
#[serde(rename = "payType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub pay_type: Option<Option<String>>,
#[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
pub amount: Option<f64>,
#[serde(rename = "orderNo", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub order_no: Option<Option<String>>,
#[serde(rename = "tradeNo", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub trade_no: Option<Option<String>>,
#[serde(rename = "status", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub status: Option<Option<String>>,
#[serde(rename = "productType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub product_type: Option<Option<String>>,
#[serde(rename = "productID", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub product_id: Option<Option<String>>,
#[serde(rename = "productName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub product_name: Option<Option<String>>,
#[serde(rename = "allowRefund", skip_serializing_if = "Option::is_none")]
pub allow_refund: Option<bool>,
#[serde(rename = "allowRefundUntil", skip_serializing_if = "Option::is_none")]
pub allow_refund_until: Option<String>,
#[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub tags: Option<Option<String>>,
#[serde(rename = "remark", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub remark: Option<Option<String>>,
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "orderPayTime", skip_serializing_if = "Option::is_none")]
pub order_pay_time: Option<String>,
#[serde(rename = "expireTime", skip_serializing_if = "Option::is_none")]
pub expire_time: Option<String>,
#[serde(rename = "createDate", skip_serializing_if = "Option::is_none")]
pub create_date: Option<String>,
#[serde(rename = "lastUpdate", skip_serializing_if = "Option::is_none")]
pub last_update: Option<String>,
}
impl Order {
pub fn new() -> Order {
Order {
id: None,
user_id: None,
pay_type: None,
amount: None,
order_no: None,
trade_no: None,
status: None,
product_type: None,
product_id: None,
product_name: None,
allow_refund: None,
allow_refund_until: None,
tags: None,
remark: None,
description: None,
order_pay_time: None,
expire_time: None,
create_date: None,
last_update: None,
}
}
}