package com.benyun.project.third.longxiang.domain;

import lombok.Data;
import org.apache.poi.ss.formula.functions.Finance;

import java.util.List;

/**
 * biz_content
 * 请求参数的集合
 * 请求参数的集合
 *
 * OrderCreateParams
 */

public class OrderCreateParams {
    /**
     * 补发换货单对应的售后单号
     */
    private Long after_sale_id;
    /**
     * 批次号
     */
    private String batch_id;
    /**
     * 买家ID
     */
    private String buyer_id;
    /**
     * 买家留言
     * 发货前可更新
     */
    private String buyer_message;
    /**
     * 买家昵称
     */
    private String buyer_nickname;
    /**
     * 实发快递渠道
     */
    private String chosen_channel;
    /**
     * 公司编号
     */
    private Long company_id;
    /**
     * 币种，货币代码，跨境自有平台可使用
     */
    private String currency;
    /**
     * 分销商编号
     */
    private String drp_co_id_from;
    /**
     * 供销商编号
     */
    private String drp_co_id_to;
    /**
     * 运费成本（实际运费），大于等于0
     */
    private Double fact_freight;
    /**
     * 实称重量（克）
     */
    private Double fact_weight;
    /**
     * 跨境财务数据
     */
    private Finance finance;
    /**
     * 抵扣金额，大于等于0
     */
    private double free_amount;
    /**
     * 运费，保留两位小数，单位（元），大于等于0
     */
    private double freight;
    /**
     * 国际物流单号
     */
    private String international_logistics_id;
    /**
     * 订单发票信息
     */
    private InvoiceDomain invoice;
    /**
     * 是否货到付款
     */
    private boolean is_cod;
    /**
     * 订单商品信息
     */
    private List<ItemSku> items;
    /**
     * 多标签，以逗号分隔，单个标签不能超过十个字符
     */
    private String labels;
    /**
     * 快递公司
     */
    private String logistics_company;
    /**
     * 物流公司编码，EMS=EMS、YTO = 圆通、STO = 申通、SF = 顺丰、YUNDA = 韵达、ZTO = 中通、ANE = 安能、DBWL = 德邦物流、UC =
     * 优速、POSTB = 邮政小包、DBKD = 德邦快递、FENGWANG = 丰网速运、KYE = 跨越物流、ZTKY = 中通快运、JT = 极兔、JD = 京东、JGSD =
     * 京广速递 、XNEXPRESS = 虚拟快递、OTHER = 其它 (不指定)。
     */
    private String logistics_company_code;
    /**
     * 快递单号
     */
    private String logistics_id;
    /**
     * 线下备注
     */
    private String note;
    /**
     * 订单日期
     */
    private String order_date;
    /**
     * 订单类型，普通订单：Common；补发订单：Reissue；分销Plus：DistributionPlus；供销Plus：SupplyPlus；换货订单：Exchange
     */
    private String order_type;
    /**
     * 订单支付信息
     * shop_status=WAIT_BUYER_PAY 的时候可不传，如果 pay 节点不传系统默认为等待买家支付状态
     */
    private PayDomain pay;
    /**
     * 计划发货时间
     * 发货前可更新
     */
    private String plan_send_date;
    /**
     * 生产日期
     */
    private String produced_date;
    /**
     * 订单号
     * 订单号在同一租户下不能重复，否则会覆盖旧数据
     */
    private String raw_source_id;
    /**
     * 收件信息-收货地址
     * 发货前可更新
     */
    private String receiver_address;
    /**
     * 收件信息-市
     * 发货前可更新
     */
    private String receiver_city;
    /**
     * 收件信息-市编码
     * 发货前可更新
     */
    private String receiver_city_code;
    /**
     * 收件信息-国家
     * 默认“中国”
     */
    private String receiver_country;
    /**
     * 收件信息-国家代码
     * 默认“0”
     */
    private String receiver_country_code;
    /**
     * 收件信息-区
     * 发货前可更新
     */
    private String receiver_district;
    /**
     * 收件信息-区编码
     * 发货前可更新
     */
    private String receiver_district_code;
    /**
     * 收件信息-邮箱
     */
    private String receiver_email;
    /**
     * 收件信息-手机
     * 发货前可更新
     */
    private String receiver_mobile;
    /**
     * 收件信息-收件人
     * 发货前可更新
     */
    private String receiver_name;
    /**
     * 收件信息-电话
     */
    private String receiver_phone;
    /**
     * 收件信息-省
     * 发货前可更新
     */
    private String receiver_province;
    /**
     * 收件信息-省编码
     * 发货前可更新
     */
    private String receiver_province_code;
    /**
     * 收件信息-街道
     * 发货前可更新
     */
    private String receiver_town;
    /**
     * 收件信息-街道编码
     * 发货前可更新
     */
    private String receiver_town_code;
    /**
     * 收件信息-邮编
     */
    private String receiver_zip;
    /**
     * 订单备注；卖家备注
     * 发货前可更新
     */
    private String remark;
    /**
     * 卖家标签（旗帜）(1红旗，2黄旗，3绿旗，4蓝旗，5紫旗)
     */
    private Long seller_flag;
    /**
     * 发货日期
     */
    private String send_date;
    /**
     * 跨境买家指定物流
     */
    private String shipment;
    /**
     * 自有平台的店铺编号
     */
    private String shop_id;
    /**
     * 自有平台的店铺名称
     */
    private String shop_name;
    /**
     * 自有平台的店铺站点信息
     */
    private String shop_site;
    /**
     * 自有平台系统订单状态：等待买家付款=WAIT_BUYER_PAY，等待卖家发货=WAIT_SELLER_SEND_GOODS（传此状态时实际支付金额即pay节点支付金额=应付金额
     * 才会显示已付款待审核）,等待买家确认收货=WAIT_BUYER_CONFIRM_GOODS,交易成功=TRADE_FINISHED,付款后交易关闭=TRADE_CLOSED,付款前交易关闭=TRADE_CLOSED_BY_TAOBAO；
     * 发货前可更新
     */
    private String shop_status;
    /**
     * 租户ID
     */
    private String tenant_id;
    /**
     *
     * 平台编码，JUSHUITAN：聚水潭；PURCHASE：（螺蛳粉）交易平台；OPENB2B_KINGDEE：金蝶（开放平台B2B渠道）；OPENB2B_U8：用友U8（开放平台B2B渠道）
     */
    private String up_source_channel;
    /**
     * 重量
     */
    private Double weight;


    public Long getAfter_sale_id() {
        return after_sale_id;
    }

    public void setAfter_sale_id(Long after_sale_id) {
        this.after_sale_id = after_sale_id;
    }

    public String getBatch_id() {
        return batch_id;
    }

    public void setBatch_id(String batch_id) {
        this.batch_id = batch_id;
    }

    public String getBuyer_id() {
        return buyer_id;
    }

    public void setBuyer_id(String buyer_id) {
        this.buyer_id = buyer_id;
    }

    public String getBuyer_message() {
        return buyer_message;
    }

    public void setBuyer_message(String buyer_message) {
        this.buyer_message = buyer_message;
    }

    public String getBuyer_nickname() {
        return buyer_nickname;
    }

    public void setBuyer_nickname(String buyer_nickname) {
        this.buyer_nickname = buyer_nickname;
    }

    public String getChosen_channel() {
        return chosen_channel;
    }

    public void setChosen_channel(String chosen_channel) {
        this.chosen_channel = chosen_channel;
    }

    public Long getCompany_id() {
        return company_id;
    }

    public void setCompany_id(Long company_id) {
        this.company_id = company_id;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getDrp_co_id_from() {
        return drp_co_id_from;
    }

    public void setDrp_co_id_from(String drp_co_id_from) {
        this.drp_co_id_from = drp_co_id_from;
    }

    public String getDrp_co_id_to() {
        return drp_co_id_to;
    }

    public void setDrp_co_id_to(String drp_co_id_to) {
        this.drp_co_id_to = drp_co_id_to;
    }

    public Double getFact_freight() {
        return fact_freight;
    }

    public void setFact_freight(Double fact_freight) {
        this.fact_freight = fact_freight;
    }

    public Double getFact_weight() {
        return fact_weight;
    }

    public void setFact_weight(Double fact_weight) {
        this.fact_weight = fact_weight;
    }

    public Finance getFinance() {
        return finance;
    }

    public void setFinance(Finance finance) {
        this.finance = finance;
    }

    public double getFree_amount() {
        return free_amount;
    }

    public void setFree_amount(double free_amount) {
        this.free_amount = free_amount;
    }

    public double getFreight() {
        return freight;
    }

    public void setFreight(double freight) {
        this.freight = freight;
    }

    public String getInternational_logistics_id() {
        return international_logistics_id;
    }

    public void setInternational_logistics_id(String international_logistics_id) {
        this.international_logistics_id = international_logistics_id;
    }

    public InvoiceDomain getInvoice() {
        return invoice;
    }

    public void setInvoice(InvoiceDomain invoice) {
        this.invoice = invoice;
    }

    public boolean isIs_cod() {
        return is_cod;
    }

    public void setIs_cod(boolean is_cod) {
        this.is_cod = is_cod;
    }

    public List<ItemSku> getItems() {
        return items;
    }

    public void setItems(List<ItemSku> items) {
        this.items = items;
    }

    public String getLabels() {
        return labels;
    }

    public void setLabels(String labels) {
        this.labels = labels;
    }

    public String getLogistics_company() {
        return logistics_company;
    }

    public void setLogistics_company(String logistics_company) {
        this.logistics_company = logistics_company;
    }

    public String getLogistics_company_code() {
        return logistics_company_code;
    }

    public void setLogistics_company_code(String logistics_company_code) {
        this.logistics_company_code = logistics_company_code;
    }

    public String getLogistics_id() {
        return logistics_id;
    }

    public void setLogistics_id(String logistics_id) {
        this.logistics_id = logistics_id;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getOrder_date() {
        return order_date;
    }

    public void setOrder_date(String order_date) {
        this.order_date = order_date;
    }

    public String getOrder_type() {
        return order_type;
    }

    public void setOrder_type(String order_type) {
        this.order_type = order_type;
    }

    public PayDomain getPay() {
        return pay;
    }

    public void setPay(PayDomain pay) {
        this.pay = pay;
    }

    public String getPlan_send_date() {
        return plan_send_date;
    }

    public void setPlan_send_date(String plan_send_date) {
        this.plan_send_date = plan_send_date;
    }

    public String getProduced_date() {
        return produced_date;
    }

    public void setProduced_date(String produced_date) {
        this.produced_date = produced_date;
    }


    public String getReceiver_address() {
        return receiver_address;
    }

    public void setReceiver_address(String receiver_address) {
        this.receiver_address = receiver_address;
    }

    public String getReceiver_city() {
        return receiver_city;
    }

    public void setReceiver_city(String receiver_city) {
        this.receiver_city = receiver_city;
    }

    public String getReceiver_city_code() {
        return receiver_city_code;
    }

    public void setReceiver_city_code(String receiver_city_code) {
        this.receiver_city_code = receiver_city_code;
    }

    public String getReceiver_country() {
        return receiver_country;
    }

    public void setReceiver_country(String receiver_country) {
        this.receiver_country = receiver_country;
    }

    public String getReceiver_country_code() {
        return receiver_country_code;
    }

    public void setReceiver_country_code(String receiver_country_code) {
        this.receiver_country_code = receiver_country_code;
    }

    public String getReceiver_district() {
        return receiver_district;
    }

    public void setReceiver_district(String receiver_district) {
        this.receiver_district = receiver_district;
    }

    public String getReceiver_district_code() {
        return receiver_district_code;
    }

    public void setReceiver_district_code(String receiver_district_code) {
        this.receiver_district_code = receiver_district_code;
    }

    public String getReceiver_email() {
        return receiver_email;
    }

    public void setReceiver_email(String receiver_email) {
        this.receiver_email = receiver_email;
    }

    public String getReceiver_mobile() {
        return receiver_mobile;
    }

    public void setReceiver_mobile(String receiver_mobile) {
        this.receiver_mobile = receiver_mobile;
    }

    public String getReceiver_name() {
        return receiver_name;
    }

    public void setReceiver_name(String receiver_name) {
        this.receiver_name = receiver_name;
    }

    public String getReceiver_phone() {
        return receiver_phone;
    }

    public void setReceiver_phone(String receiver_phone) {
        this.receiver_phone = receiver_phone;
    }

    public String getReceiver_province() {
        return receiver_province;
    }

    public void setReceiver_province(String receiver_province) {
        this.receiver_province = receiver_province;
    }

    public String getReceiver_province_code() {
        return receiver_province_code;
    }

    public void setReceiver_province_code(String receiver_province_code) {
        this.receiver_province_code = receiver_province_code;
    }

    public String getReceiver_town() {
        return receiver_town;
    }

    public void setReceiver_town(String receiver_town) {
        this.receiver_town = receiver_town;
    }

    public String getReceiver_town_code() {
        return receiver_town_code;
    }

    public void setReceiver_town_code(String receiver_town_code) {
        this.receiver_town_code = receiver_town_code;
    }

    public String getReceiver_zip() {
        return receiver_zip;
    }

    public void setReceiver_zip(String receiver_zip) {
        this.receiver_zip = receiver_zip;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getSeller_flag() {
        return seller_flag;
    }

    public void setSeller_flag(Long seller_flag) {
        this.seller_flag = seller_flag;
    }

    public String getSend_date() {
        return send_date;
    }

    public void setSend_date(String send_date) {
        this.send_date = send_date;
    }

    public String getShipment() {
        return shipment;
    }

    public void setShipment(String shipment) {
        this.shipment = shipment;
    }

    public String getShop_id() {
        return shop_id;
    }

    public void setShop_id(String shop_id) {
        this.shop_id = shop_id;
    }

    public String getShop_name() {
        return shop_name;
    }

    public void setShop_name(String shop_name) {
        this.shop_name = shop_name;
    }

    public String getShop_site() {
        return shop_site;
    }

    public void setShop_site(String shop_site) {
        this.shop_site = shop_site;
    }

    public String getShop_status() {
        return shop_status;
    }

    public void setShop_status(String shop_status) {
        this.shop_status = shop_status;
    }

    public String getTenant_id() {
        return tenant_id;
    }

    public void setTenant_id(String tenant_id) {
        this.tenant_id = tenant_id;
    }

    public String getUp_source_channel() {
        return up_source_channel;
    }

    public void setUp_source_channel(String up_source_channel) {
        this.up_source_channel = up_source_channel;
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public String getRaw_source_id() {
        return raw_source_id;
    }

    public void setRaw_source_id(String raw_source_id) {
        this.raw_source_id = raw_source_id;
    }


    @Override
    public String toString() {
        return "OrderCreateParams{" +
                "after_sale_id=" + after_sale_id +
                ", batch_id='" + batch_id + '\'' +
                ", buyer_id='" + buyer_id + '\'' +
                ", buyer_message='" + buyer_message + '\'' +
                ", buyer_nickname='" + buyer_nickname + '\'' +
                ", chosen_channel='" + chosen_channel + '\'' +
                ", company_id=" + company_id +
                ", currency='" + currency + '\'' +
                ", drp_co_id_from='" + drp_co_id_from + '\'' +
                ", drp_co_id_to='" + drp_co_id_to + '\'' +
                ", fact_freight=" + fact_freight +
                ", fact_weight=" + fact_weight +
                ", finance=" + finance +
                ", free_amount=" + free_amount +
                ", freight=" + freight +
                ", international_logistics_id='" + international_logistics_id + '\'' +
                ", invoice=" + invoice +
                ", is_cod=" + is_cod +
                ", items=" + items +
                ", labels='" + labels + '\'' +
                ", logistics_company='" + logistics_company + '\'' +
                ", logistics_company_code='" + logistics_company_code + '\'' +
                ", logistics_id='" + logistics_id + '\'' +
                ", note='" + note + '\'' +
                ", order_date='" + order_date + '\'' +
                ", order_type='" + order_type + '\'' +
                ", pay=" + pay +
                ", plan_send_date='" + plan_send_date + '\'' +
                ", produced_date='" + produced_date + '\'' +
                ", raw_source_id='" + raw_source_id + '\'' +
                ", receiver_address='" + receiver_address + '\'' +
                ", receiver_city='" + receiver_city + '\'' +
                ", receiver_city_code='" + receiver_city_code + '\'' +
                ", receiver_country='" + receiver_country + '\'' +
                ", receiver_country_code='" + receiver_country_code + '\'' +
                ", receiver_district='" + receiver_district + '\'' +
                ", receiver_district_code='" + receiver_district_code + '\'' +
                ", receiver_email='" + receiver_email + '\'' +
                ", receiver_mobile='" + receiver_mobile + '\'' +
                ", receiver_name='" + receiver_name + '\'' +
                ", receiver_phone='" + receiver_phone + '\'' +
                ", receiver_province='" + receiver_province + '\'' +
                ", receiver_province_code='" + receiver_province_code + '\'' +
                ", receiver_town='" + receiver_town + '\'' +
                ", receiver_town_code='" + receiver_town_code + '\'' +
                ", receiver_zip='" + receiver_zip + '\'' +
                ", remark='" + remark + '\'' +
                ", seller_flag=" + seller_flag +
                ", send_date='" + send_date + '\'' +
                ", shipment='" + shipment + '\'' +
                ", shop_id='" + shop_id + '\'' +
                ", shop_name='" + shop_name + '\'' +
                ", shop_site='" + shop_site + '\'' +
                ", shop_status='" + shop_status + '\'' +
                ", tenant_id='" + tenant_id + '\'' +
                ", up_source_channel='" + up_source_channel + '\'' +
                ", weight=" + weight +
                '}';
    }
}



