package com.liangjian.dataplatform.member.entity.po.tertiary;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.*;
import java.util.Date;
import java.util.Set;

/**
 * @Author: 黄子奇
 * @Date: 2019/11/26
 */
@Entity
@Table(name = "Orders")
@ApiModel("订单信息")
public class Orders {

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumn(name = "OrdersCode", referencedColumnName = "OrdersCode",  //关联信息
            insertable=false, updatable = false,
            foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT)) //不自动建外键
    private Set<OrderProducts> orderProducts;

    @Id
    @ApiModelProperty("订单编号")
    @Column(name = "OrdersCode")
    private String ordersCode;

    @ApiModelProperty("创建时间")
    @Column(name = "CreationDate")
    private Date creationDate;

    @ApiModelProperty("最后修改时间")
    @Column(name = "LastModified")
    private Date lastModified;

    @ApiModelProperty("会员Id")
    @Column(name = "AccountId")
    private String accountId;

    @ApiModelProperty("会员名称")
    @Column(name = "AccountName")
    private String accountName;

    @ApiModelProperty("收货人")
    @Column(name = "Consignee")
    private String consignee;

    @ApiModelProperty("邮政编码")
    @Column(name = "DeliveryZipCode")
    private String deliveryZipCode;

    @ApiModelProperty("发票抬头")
    @Column(name = "Invoice")
    private String invoice;

    @ApiModelProperty("")
    @Column(name = "InvoiceNo")
    private String invoiceNo;

    @ApiModelProperty("快递备注")
    @Column(name = "OrderNotes")
    private String orderNotes;

    @ApiModelProperty("订单金额")
    @Column(name = "Sum")
    private Integer sum;

    @ApiModelProperty("")
    @Column(name = "InitSum")
    private Integer initSum;

    @ApiModelProperty("产品成本")
    @Column(name = "ProductCost")
    private Integer productCost;

    @ApiModelProperty("")
    @Column(name = "Reducing")
    private Integer reducing;

    @ApiModelProperty("")
    @Column(name = "Discountprice")
    private Integer discountprice;

    @ApiModelProperty("支付类型")
    @Column(name = "PaymentType")
    private Integer paymentType;

    @ApiModelProperty("发货类型")
    @Column(name = "DeliveryType")
    private Integer deliveryType;

    @ApiModelProperty("订单时间")
    @Column(name = "OrderTime")
    private Date orderTime;

    @ApiModelProperty("发货时间")
    @Column(name = "ShippingTime")
    private Date shippingTime;

    @ApiModelProperty("签收时间")
    @Column(name = "ReceivingTime")
    private Date receivingTime;

    @ApiModelProperty("发货单号")
    @Column(name = "ShippingNo")
    private String shippingNo;

    @ApiModelProperty("待确认:0 H 确认有效:10  H医师审核:20 H待业务审核:30 H等待发货:40 H收到商品:50 H拒收商品:60 H收到款项:70 H退货完成:80 K收到款项:100 K确认有效:110 K医师审核:120 K待业务审核:130 K确认发货:140 K收到商品订单完成150  K用户拒收商品:160  K收到退货:170 K退款成功:180 取消订单:200")
    @Column(name = "OrderStatus")
    private Integer orderStatus;

    @ApiModelProperty("")
    @Column(name = "IsReturn")
    private Boolean isReturn;

    @ApiModelProperty("运费")
    @Column(name = "TransportCosts")
    private Integer transportCosts;

    @ApiModelProperty("区域编码")
    @Column(name = "RegionCode")
    private String regionCode;

    @ApiModelProperty("是否处方药")
    @Column(name = "IsRxDrug")
    private Boolean isRxDrug;

    @ApiModelProperty("来源类型: 1：客户自主 2：商务通 3：电话 4：qq 5：淘宝B店 6：淘宝C店 7：淘宝聚划算 8：拍拍 9：五八团购")
    @Column(name = "OriginType")
    private Integer originType;

    @ApiModelProperty("自主下单人")
    @Column(name = "OperateID")
    private String operateID;

    @ApiModelProperty("部门Id")
    @Column(name = "DeptId")
    private String deptId;

    @ApiModelProperty("部门编码")
    @Column(name = "DeptCode")
    private String deptCode;

    @ApiModelProperty("客户Id")
    @Column(name = "buyUserId")
    private String BuyUserId;

    @ApiModelProperty("订单所属产品线： 1：健客网 2：药妆 3：补肾壮阳 4：减肥瘦身")
    @Column(name = "ProductLine")
    private String productLine;

    @ApiModelProperty("订单所属子产品线： 11：健客网 21：上宫庄 31：毕挺 41：绿青 42：左旋咖啡 43：露卡素 44：P57 45：挺靓")
    @Column(name = "SubProductLine")
    private String subProductLine;

    @ApiModelProperty("")
    @Column(name = "DiseaseClassCode")
    private String diseaseClassCode;

    @ApiModelProperty("")
    @Column(name = "Age")
    private Date age;

    @ApiModelProperty("")
    @Column(name = "Sex")
    private Character sex;

    @ApiModelProperty("同步状态")
    @Column(name = "SyncStatus")
    private Character syncStatus;

    @ApiModelProperty("是否显示订单")
    @Column(name = "IsVisible")
    private Boolean isVisible;

    @ApiModelProperty("")
    @Column(name = "ErrorCount")
    private Integer errorCount;

    @ApiModelProperty("")
    @Column(name = "IsNeedReceipt")
    private Boolean isNeedReceipt;

    @ApiModelProperty("")
    @Column(name = "OrdersIntegral")
    private Integer ordersIntegral;

    @ApiModelProperty("")
    @Column(name = "CouponCode")
    private Integer couponCode;

    @ApiModelProperty("")
    @Column(name = "CouponValue")
    private Integer couponValue;

    @ApiModelProperty("")
    @Column(name = "Ispayment")
    private Boolean ispayment;

    @ApiModelProperty("")
    @Column(name = "AuditorId")
    private String auditorId;

    @ApiModelProperty("")
    @Column(name = "AllocationTime")
    private Date allocationTime;

    @ApiModelProperty("")
    @Column(name = "SourcePlatforms")
    private Integer sourcePlatforms;

    @ApiModelProperty("")
    @Column(name = "DeviceType")
    private Integer deviceType;

    @ApiModelProperty("")
    @Column(name = "IsReward")
    private Boolean isReward;

    @ApiModelProperty("")
    @Column(name = "IsEmailmark")
    private Boolean isEmailmark;

    @ApiModelProperty("")
    @Column(name = "CustomerDataId")
    private String customerDataId;

    @ApiModelProperty("")
    @Column(name = "IsDrug")
    private Boolean isDrug;

    @ApiModelProperty("")
    @Column(name = "HuaWuOriginType")
    private Integer huaWuOriginType;

    @ApiModelProperty("")
    @Column(name = "InvoiceSum")
    private Integer invoiceSum;

    @ApiModelProperty("")
    @Column(name = "AdvanceSum")
    private Integer advanceSum;

    @ApiModelProperty("")
    @Column(name = "againOrderCount")
    private Integer AgainOrderCount;

    @ApiModelProperty("")
    @Column(name = "ConfimLevel")
    private Integer confimLevel;

    @ApiModelProperty("")
    @Column(name = "BusinessId")
    private String businessId;

    @ApiModelProperty("")
    @Column(name = "IsPayByCard")
    private Boolean isPayByCard;

    @ApiModelProperty("")
    @Column(name = "PreferentialRate")
    private Double preferentialRate;

    @ApiModelProperty("")
    @Column(name = "VerificationCode")
    private String verificationCode;

    @ApiModelProperty("")
    @Column(name = "AConsigneePhone1")
    private String aConsigneePhone1;

    @ApiModelProperty("")
    @Column(name = "AConsigneePhone2")
    private String aConsigneePhone2;

    @ApiModelProperty("")
    @Column(name = "AConsigneePhone3")
    private String aConsigneePhone3;

    @ApiModelProperty("")
    @Column(name = "ADeliveryAddress")
    private String aDeliveryAddress;

    @ApiModelProperty("")
    @Column(name = "IsAutomaticSigned")
    private Boolean isAutomaticSigned;

    @ApiModelProperty("")
    @Column(name = "WarehouseCode")
    private Integer warehouseCode;

    @ApiModelProperty("")
    @Column(name = "CashCouponValue")
    private Integer cashCouponValue;

    @ApiModelProperty("")
    @Column(name = "CashCouponCode")
    private String cashCouponCode;

    @ApiModelProperty("")
    @Column(name = "IsDealWith")
    private Boolean isDealWith;

    @ApiModelProperty("")
    @Column(name = "IsNewOrder")
    private Boolean isNewOrder;

    @ApiModelProperty("")
    @Column(name = "ConsigneeType")
    private Integer consigneeType;

    @ApiModelProperty("")
    @Column(name = "CustomerCode")
    private String customerCode;

    @ApiModelProperty("")
    @Column(name = "CustomerName")
    private String customerName;

    @ApiModelProperty("")
    @Column(name = "InvoiceContent")
    private String invoiceContent;

    @ApiModelProperty("")
    @Column(name = "InvoiceContentType")
    private Integer invoiceContentType;

    @ApiModelProperty("")
    @Column(name = "OrdersType")
    private Integer ordersType;

    @ApiModelProperty("")
    @Column(name = "Weight")
    private String weight;

    @ApiModelProperty("")
    @Column(name = "Height")
    private String height;

    @ApiModelProperty("")
    @Column(name = "HealthPrice")
    private Integer healthPrice;

    @ApiModelProperty("营业员编号")
    @Column(name = "LeverNumber")
    private String leverNumber;

    @ApiModelProperty("")
    @Column(name = "isO2O")
    private Boolean IsO2O;

    @ApiModelProperty("")
    @Column(name = "AdvancePayType")
    private Integer advancePayType;

    @ApiModelProperty("")
    @Column(name = "InventoryAuditDate")
    private Date inventoryAuditDate;

    @ApiModelProperty("")
    @Column(name = "OrderProcessDate")
    private Date orderProcessDate;

    @ApiModelProperty("")
    @Column(name = "AllocationFlag")
    private Boolean allocationFlag;

    @ApiModelProperty("")
    @Column(name = "BonusDate")
    private Date bonusDate;

    @ApiModelProperty("")
    @Column(name = "IntegralValue")
    private Integer integralValue;

    @ApiModelProperty("")
    @Column(name = "MerchantNote")
    private String merchantNote;

    @ApiModelProperty("")
    @Column(name = "OtherNote")
    private String otherNote;

//    @ApiModelProperty("")
//    @Column(name = "DepotID")
//    private Integer depotID;

//    @ApiModelProperty("")
//    @Column(name = "InvoicEmail")
//    private String invoicEmail;

//    @ApiModelProperty("")
//    @Column(name = "InvoicIsDelete")
//    private Date invoicIsDelete;

//    @ApiModelProperty("")
//    @Column(name = "InvoicIsDone")
//    private Boolean invoicIsDone;

    @ApiModelProperty("")
    @Column(name = "IsToERP")
    private String isToERP;

    @ApiModelProperty("")
    @Column(name = "IsPrescription")
    private Boolean isPrescription;

    @ApiModelProperty("")
    @Column(name = "ConfirmId")
    private String confirmId;

    @ApiModelProperty("")
    @Column(name = "OrderType")
    private Boolean orderType;

    @ApiModelProperty("")
    @Column(name = "OrderFlag")
    private Boolean orderFlag;

    @ApiModelProperty("")
    @Column(name = "WXReceiptCode")
    private String wXReceiptCode;

    @ApiModelProperty("优惠金额")
    @Transient
    private Integer discountPrice;

    //-----------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------------------


    public Integer getDiscountPrice() {
        Integer discount = this.orderProducts.stream()
                .map(i -> (i.getOurPrice() - i.getActualPrice()) * i.getAmount() )
                .reduce((i,j) -> i+j).orElse(0);
        return discount;
    }

    public void setDiscountPrice(Integer discountPrice) {

    }

    public String getOrdersCode() {
        return ordersCode;
    }

    public void setOrdersCode(String ordersCode) {
        this.ordersCode = ordersCode;
    }

    public Date getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }

    public Date getLastModified() {
        return lastModified;
    }

    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public String getDeliveryZipCode() {
        return deliveryZipCode;
    }

    public void setDeliveryZipCode(String deliveryZipCode) {
        this.deliveryZipCode = deliveryZipCode;
    }

    public String getInvoice() {
        return invoice;
    }

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

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getOrderNotes() {
        return orderNotes;
    }

    public void setOrderNotes(String orderNotes) {
        this.orderNotes = orderNotes;
    }

    public Integer getSum() {
        return sum;
    }

    public void setSum(Integer sum) {
        this.sum = sum;
    }

    public Integer getInitSum() {
        return initSum;
    }

    public void setInitSum(Integer initSum) {
        this.initSum = initSum;
    }

    public Integer getProductCost() {
        return productCost;
    }

    public void setProductCost(Integer productCost) {
        this.productCost = productCost;
    }

    public Integer getReducing() {
        return reducing;
    }

    public void setReducing(Integer reducing) {
        this.reducing = reducing;
    }

    public Integer getDiscountprice() {
        return discountprice;
    }

    public void setDiscountprice(Integer discountprice) {
        this.discountprice = discountprice;
    }

    public Integer getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(Integer paymentType) {
        this.paymentType = paymentType;
    }

    public Integer getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(Integer deliveryType) {
        this.deliveryType = deliveryType;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public Date getShippingTime() {
        return shippingTime;
    }

    public void setShippingTime(Date shippingTime) {
        this.shippingTime = shippingTime;
    }

    public Date getReceivingTime() {
        return receivingTime;
    }

    public void setReceivingTime(Date receivingTime) {
        this.receivingTime = receivingTime;
    }

    public String getShippingNo() {
        return shippingNo;
    }

    public void setShippingNo(String shippingNo) {
        this.shippingNo = shippingNo;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Boolean getReturn() {
        return isReturn;
    }

    public void setReturn(Boolean aReturn) {
        isReturn = aReturn;
    }

    public Integer getTransportCosts() {
        return transportCosts;
    }

    public void setTransportCosts(Integer transportCosts) {
        this.transportCosts = transportCosts;
    }

    public String getRegionCode() {
        return regionCode;
    }

    public void setRegionCode(String regionCode) {
        this.regionCode = regionCode;
    }

    public Boolean getRxDrug() {
        return isRxDrug;
    }

    public void setRxDrug(Boolean rxDrug) {
        isRxDrug = rxDrug;
    }

    public Integer getOriginType() {
        return originType;
    }

    public void setOriginType(Integer originType) {
        this.originType = originType;
    }

    public String getOperateID() {
        return operateID;
    }

    public void setOperateID(String operateID) {
        this.operateID = operateID;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptCode() {
        return deptCode;
    }

    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    public String getBuyUserId() {
        return BuyUserId;
    }

    public void setBuyUserId(String buyUserId) {
        BuyUserId = buyUserId;
    }

    public String getProductLine() {
        return productLine;
    }

    public void setProductLine(String productLine) {
        this.productLine = productLine;
    }

    public String getSubProductLine() {
        return subProductLine;
    }

    public void setSubProductLine(String subProductLine) {
        this.subProductLine = subProductLine;
    }

    public String getDiseaseClassCode() {
        return diseaseClassCode;
    }

    public void setDiseaseClassCode(String diseaseClassCode) {
        this.diseaseClassCode = diseaseClassCode;
    }

    public Date getAge() {
        return age;
    }

    public void setAge(Date age) {
        this.age = age;
    }

    public Character getSex() {
        return sex;
    }

    public void setSex(Character sex) {
        this.sex = sex;
    }

    public Character getSyncStatus() {
        return syncStatus;
    }

    public void setSyncStatus(Character syncStatus) {
        this.syncStatus = syncStatus;
    }

    public Boolean getVisible() {
        return isVisible;
    }

    public void setVisible(Boolean visible) {
        isVisible = visible;
    }

    public Integer getErrorCount() {
        return errorCount;
    }

    public void setErrorCount(Integer errorCount) {
        this.errorCount = errorCount;
    }

    public Boolean getNeedReceipt() {
        return isNeedReceipt;
    }

    public void setNeedReceipt(Boolean needReceipt) {
        isNeedReceipt = needReceipt;
    }

    public Integer getOrdersIntegral() {
        return ordersIntegral;
    }

    public void setOrdersIntegral(Integer ordersIntegral) {
        this.ordersIntegral = ordersIntegral;
    }

    public Integer getCouponCode() {
        return couponCode;
    }

    public void setCouponCode(Integer couponCode) {
        this.couponCode = couponCode;
    }

    public Integer getCouponValue() {
        return couponValue;
    }

    public void setCouponValue(Integer couponValue) {
        this.couponValue = couponValue;
    }

    public Boolean getIspayment() {
        return ispayment;
    }

    public void setIspayment(Boolean ispayment) {
        this.ispayment = ispayment;
    }

    public String getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(String auditorId) {
        this.auditorId = auditorId;
    }

    public Date getAllocationTime() {
        return allocationTime;
    }

    public void setAllocationTime(Date allocationTime) {
        this.allocationTime = allocationTime;
    }

    public Integer getSourcePlatforms() {
        return sourcePlatforms;
    }

    public void setSourcePlatforms(Integer sourcePlatforms) {
        this.sourcePlatforms = sourcePlatforms;
    }

    public Integer getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    public Boolean getReward() {
        return isReward;
    }

    public void setReward(Boolean reward) {
        isReward = reward;
    }

    public Boolean getEmailmark() {
        return isEmailmark;
    }

    public void setEmailmark(Boolean emailmark) {
        isEmailmark = emailmark;
    }

    public String getCustomerDataId() {
        return customerDataId;
    }

    public void setCustomerDataId(String customerDataId) {
        this.customerDataId = customerDataId;
    }

    public Boolean getDrug() {
        return isDrug;
    }

    public void setDrug(Boolean drug) {
        isDrug = drug;
    }

    public Integer getHuaWuOriginType() {
        return huaWuOriginType;
    }

    public void setHuaWuOriginType(Integer huaWuOriginType) {
        this.huaWuOriginType = huaWuOriginType;
    }

    public Integer getInvoiceSum() {
        return invoiceSum;
    }

    public void setInvoiceSum(Integer invoiceSum) {
        this.invoiceSum = invoiceSum;
    }

    public Integer getAdvanceSum() {
        return advanceSum;
    }

    public void setAdvanceSum(Integer advanceSum) {
        this.advanceSum = advanceSum;
    }

    public Integer getAgainOrderCount() {
        return AgainOrderCount;
    }

    public void setAgainOrderCount(Integer againOrderCount) {
        AgainOrderCount = againOrderCount;
    }

    public Integer getConfimLevel() {
        return confimLevel;
    }

    public void setConfimLevel(Integer confimLevel) {
        this.confimLevel = confimLevel;
    }

    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    public Boolean getPayByCard() {
        return isPayByCard;
    }

    public void setPayByCard(Boolean payByCard) {
        isPayByCard = payByCard;
    }

    public Double getPreferentialRate() {
        return preferentialRate;
    }

    public void setPreferentialRate(Double preferentialRate) {
        this.preferentialRate = preferentialRate;
    }

    public String getVerificationCode() {
        return verificationCode;
    }

    public void setVerificationCode(String verificationCode) {
        this.verificationCode = verificationCode;
    }

    public String getaConsigneePhone1() {
        return aConsigneePhone1;
    }

    public void setaConsigneePhone1(String aConsigneePhone1) {
        this.aConsigneePhone1 = aConsigneePhone1;
    }

    public String getaConsigneePhone2() {
        return aConsigneePhone2;
    }

    public void setaConsigneePhone2(String aConsigneePhone2) {
        this.aConsigneePhone2 = aConsigneePhone2;
    }

    public String getaConsigneePhone3() {
        return aConsigneePhone3;
    }

    public void setaConsigneePhone3(String aConsigneePhone3) {
        this.aConsigneePhone3 = aConsigneePhone3;
    }

    public String getaDeliveryAddress() {
        return aDeliveryAddress;
    }

    public void setaDeliveryAddress(String aDeliveryAddress) {
        this.aDeliveryAddress = aDeliveryAddress;
    }

    public Boolean getAutomaticSigned() {
        return isAutomaticSigned;
    }

    public void setAutomaticSigned(Boolean automaticSigned) {
        isAutomaticSigned = automaticSigned;
    }

    public Integer getWarehouseCode() {
        return warehouseCode;
    }

    public void setWarehouseCode(Integer warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public Integer getCashCouponValue() {
        return cashCouponValue;
    }

    public void setCashCouponValue(Integer cashCouponValue) {
        this.cashCouponValue = cashCouponValue;
    }

    public String getCashCouponCode() {
        return cashCouponCode;
    }

    public void setCashCouponCode(String cashCouponCode) {
        this.cashCouponCode = cashCouponCode;
    }

    public Boolean getDealWith() {
        return isDealWith;
    }

    public void setDealWith(Boolean dealWith) {
        isDealWith = dealWith;
    }

    public Boolean getNewOrder() {
        return isNewOrder;
    }

    public void setNewOrder(Boolean newOrder) {
        isNewOrder = newOrder;
    }

    public Integer getConsigneeType() {
        return consigneeType;
    }

    public void setConsigneeType(Integer consigneeType) {
        this.consigneeType = consigneeType;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getInvoiceContent() {
        return invoiceContent;
    }

    public void setInvoiceContent(String invoiceContent) {
        this.invoiceContent = invoiceContent;
    }

    public Integer getInvoiceContentType() {
        return invoiceContentType;
    }

    public void setInvoiceContentType(Integer invoiceContentType) {
        this.invoiceContentType = invoiceContentType;
    }

    public Integer getOrdersType() {
        return ordersType;
    }

    public void setOrdersType(Integer ordersType) {
        this.ordersType = ordersType;
    }

    public String getWeight() {
        return weight;
    }

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

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }

    public Integer getHealthPrice() {
        return healthPrice;
    }

    public void setHealthPrice(Integer healthPrice) {
        this.healthPrice = healthPrice;
    }

    public String getLeverNumber() {
        return leverNumber;
    }

    public void setLeverNumber(String leverNumber) {
        this.leverNumber = leverNumber;
    }

    public Boolean getO2O() {
        return IsO2O;
    }

    public void setO2O(Boolean o2O) {
        IsO2O = o2O;
    }

    public Integer getAdvancePayType() {
        return advancePayType;
    }

    public void setAdvancePayType(Integer advancePayType) {
        this.advancePayType = advancePayType;
    }

    public Date getInventoryAuditDate() {
        return inventoryAuditDate;
    }

    public void setInventoryAuditDate(Date inventoryAuditDate) {
        this.inventoryAuditDate = inventoryAuditDate;
    }

    public Date getOrderProcessDate() {
        return orderProcessDate;
    }

    public void setOrderProcessDate(Date orderProcessDate) {
        this.orderProcessDate = orderProcessDate;
    }

    public Boolean getAllocationFlag() {
        return allocationFlag;
    }

    public void setAllocationFlag(Boolean allocationFlag) {
        this.allocationFlag = allocationFlag;
    }

    public Date getBonusDate() {
        return bonusDate;
    }

    public void setBonusDate(Date bonusDate) {
        this.bonusDate = bonusDate;
    }

    public Integer getIntegralValue() {
        return integralValue;
    }

    public void setIntegralValue(Integer integralValue) {
        this.integralValue = integralValue;
    }

    public String getMerchantNote() {
        return merchantNote;
    }

    public void setMerchantNote(String merchantNote) {
        this.merchantNote = merchantNote;
    }

    public String getOtherNote() {
        return otherNote;
    }

    public void setOtherNote(String otherNote) {
        this.otherNote = otherNote;
    }

//    public Integer getDepotID() {
//        return depotID;
//    }
//
//    public void setDepotID(Integer depotID) {
//        this.depotID = depotID;
//    }

//    public String getInvoicEmail() {
//        return invoicEmail;
//    }
//
//    public void setInvoicEmail(String invoicEmail) {
//        this.invoicEmail = invoicEmail;
//    }

//    public Date getInvoicIsDelete() {
//        return invoicIsDelete;
//    }
//
//    public void setInvoicIsDelete(Date invoicIsDelete) {
//        this.invoicIsDelete = invoicIsDelete;
//    }

//    public Boolean getInvoicIsDone() {
//        return invoicIsDone;
//    }
//
//    public void setInvoicIsDone(Boolean invoicIsDone) {
//        this.invoicIsDone = invoicIsDone;
//    }

    public String getIsToERP() {
        return isToERP;
    }

    public void setIsToERP(String isToERP) {
        this.isToERP = isToERP;
    }

    public Boolean getPrescription() {
        return isPrescription;
    }

    public void setPrescription(Boolean prescription) {
        isPrescription = prescription;
    }

    public String getConfirmId() {
        return confirmId;
    }

    public void setConfirmId(String confirmId) {
        this.confirmId = confirmId;
    }

    public Boolean getOrderType() {
        return orderType;
    }

    public void setOrderType(Boolean orderType) {
        this.orderType = orderType;
    }

    public Boolean getOrderFlag() {
        return orderFlag;
    }

    public void setOrderFlag(Boolean orderFlag) {
        this.orderFlag = orderFlag;
    }

    public String getwXReceiptCode() {
        return wXReceiptCode;
    }

    public void setwXReceiptCode(String wXReceiptCode) {
        this.wXReceiptCode = wXReceiptCode;
    }

    public Set<OrderProducts> getOrderProducts() {
        return orderProducts;
    }

    public void setOrderProducts(Set<OrderProducts> orderProducts) {
        this.orderProducts = orderProducts;
    }
}
