package com.bailuntec.domain.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class OmsResult {

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.origin_order_id
     *
     * @mbg.generated
     */
    @JSONField(name = "originOrderNo")
    private String originOrderId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.platform_type
     *
     * @mbg.generated
     */
    @JSONField(name = "platformType")
    private String platformType;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.transaction_id
     *
     * @mbg.generated
     */
    @JSONField(name = "transactionNo")
    private String transactionId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.pay_time
     *
     * @mbg.generated
     */
    @JSONField(name = "payMentInfo")
    private Payment payment;


    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.platform_order_type
     *
     * @mbg.generated
     */
    @JSONField(name = "platOrderType")
    private String platformOrderType;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.website
     *
     * @mbg.generated
     */
    @JSONField(name = "website")
    private String website;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.create_time
     *
     * @mbg.generated
     */
    @JSONField(name = "bailunCreateTime")
    private LocalDateTime createTime;

    @JSONField(name = "purchaseTimeUtc")
    private LocalDateTime purchaseCreateTime;

    @JSONField(name = "hasPayTimeUtc")
    private Boolean hasPaytime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.paid_time
     *
     * @mbg.generated
     */
    @JSONField(name = "payTimeUtc")
    private LocalDateTime paidTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.refund_time
     *
     * @mbg.generated
     */
    @JSONField(name = "refundTimeUtc")
    private LocalDateTime refundTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.seller_id
     *
     * @mbg.generated
     */
    @JSONField(name = "seller")
    private Seller seller;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.order_update_time
     *
     * @mbg.generated
     */
    @JSONField(name = "lastUpdateTimeUtc")
    private LocalDateTime orderUpdateTime;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.order_update_time
     *
     * @mbg.generated
     */
    @JSONField(name = "platSkuItems")
    private List<PlatformSku> platformSku;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.order_update_time
     *
     * @mbg.generated
     */
    @JSONField(name = "pickingOrders")
    private List<PickingOrder> pickingOrder;

    @JSONField(name = "wmsFeeDetailsDtos")
    private List<WmsFeeDetailDtos> wmsFeeDetailsDtos;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.order_update_time
     *
     * @mbg.generated
     */
    @JSONField(name = "logisticsItems")
    private List<LogisticsItem> logisticsItems;

    @JSONField(name = "orderChecks")
    private List<OrderCheck> orderChecks;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.bailun_order_id
     *
     * @mbg.generated
     */
    @JSONField(name = "bailunOrderNo")
    private String bailunOrderId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.platform_order_status
     *
     * @mbg.generated
     */
    @JSONField(name = "platOrderStatus")
    private String platformOrderStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.bailun_order_status
     *
     * @mbg.generated
     */
    @JSONField(name = "bailunOrderStatus")
    private String bailunOrderStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.bailun_order_status
     *
     * @mbg.generated
     */
    @JSONField(name = "mergeStatus")
    private String bailunMergeStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.bailun_order_status
     *
     * @mbg.generated
     */
    @JSONField(name = "interceptionStatus")
    private String bailunInterceptionStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.bailun_payment_status
     *
     * @mbg.generated
     */
    @JSONField(name = "bailunPaymentStatus")
    private String bailunPaymentStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "shippingStatus")
    private String bailunShippingStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "pickingStatus")
    private String bailunPickingStatus;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "requirePlatLogistics")
    private String bailunRequireLogistics;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "proSkuList")
    private List<BailunSku> bailunSku;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "saleItems")
    private List<SaleItem> saleItem;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "orderCharge")
    private OrderCharge orderCharge;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "orderExceptions")
    private List<OrderException> orderExceptions;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "receiptAddress")
    private ReceiptAddress receiptAddress;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.shipping_status
     *
     * @mbg.generated
     */
    @JSONField(name = "buyer")
    private Buyer buyer;


    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.has_cancle
     *
     * @mbg.generated
     */
    @JSONField(name = "isCancledByPlatform")
    private Boolean hasCancle;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.area_id
     *
     * @mbg.generated
     */
    @JSONField(name = "areaId")
    private Integer areaId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.area_id
     *
     * @mbg.generated
     */
    @JSONField(name = "tenantId")
    private Integer companyId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_oms_order.area_id
     *
     * @mbg.generated
     */
    @JSONField(name = "refund")
    private RefundInfo refundInfo;

    @JSONField(name = "afterMergedBailunOrderNo")
    private String aftermergedBailunOrderNo;

    @JSONField(name = "isTransferOrder")
    private Boolean hasTransferOrder;


    /**
     * 实际最后发货时间
     */
    @JSONField(name = "shippingDeadlineReal")
    private LocalDateTime shippingDeadlineReal;

}
