use crate::Request;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct FreeProvinceList {
#[serde(rename = "province_id")]
pub province_id: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct CostTemplateList {
#[serde(rename = "first_standard")]
pub first_standard: Option<i64>,
#[serde(rename = "first_cost")]
pub first_cost: Option<i64>,
#[serde(rename = "add_standard")]
pub add_standard: Option<i64>,
#[serde(rename = "add_cost")]
pub add_cost: Option<i64>,
#[serde(rename = "is_have_free_min_count")]
pub is_have_free_min_count: Option<bool>,
#[serde(rename = "have_free_min_count")]
pub have_free_min_count: Option<i32>,
#[serde(rename = "is_have_free_min_amount")]
pub is_have_free_min_amount: Option<bool>,
#[serde(rename = "have_free_min_amount")]
pub have_free_min_amount: Option<i64>,
#[serde(rename = "cost_province_list")]
pub cost_province_list: Option<Vec<CostProvinceList>>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct CostProvinceList {
#[serde(rename = "province_id")]
pub province_id: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddGoodsLogisticsTemplateCreate {
#[serde(rename = "cost_template_list")]
pub cost_template_list: Option<Vec<CostTemplateList>>,
#[serde(rename = "free_province_list")]
pub free_province_list: Option<Vec<FreeProvinceList>>,
#[serde(rename = "cost_type")]
pub cost_type: Option<i32>,
#[serde(rename = "template_name")]
pub template_name: Option<String>,
#[serde(rename = "province_id")]
pub province_id: Option<i32>,
#[serde(rename = "city_id")]
pub city_id: Option<i32>,
#[serde(rename = "district_id")]
pub district_id: Option<i32>,
}
impl Request for PddGoodsLogisticsTemplateCreate {
fn get_type() -> String {
"pdd.goods.logistics.template.create".to_string()
}
fn get_response_name() -> String {
"goods_logistics_template_create_response".to_string()
}
}