package com.zm.order.tool.server.model;
import com.alibaba.fastjson.JSON;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description 订单索引DTO
 * @Author: ph
 * @Date: 2019/11/1 11:05
 */
public abstract class BaseIndexOrder implements Serializable {

    private static final long serialVersionUID = 2688409429718885055L;

    /**
     * 业务类型
     */
    private Integer bizType;

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 订单子类型
     */
    private Integer orderSubType;

    /**
     * 履约类型
     */
    private Integer performanceType;

    /**
     * 履约平台
     */
    private String performancePlatform;

    /**
     * 是否立即履约
     */
    private Integer isImmediatePerformance;

    /**
     * 履约状态
     */
    private Integer performanceStatus;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 商户id
     */
    private Long sellerId;

    /**
     * 门店id
     */
    private Long storeId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 下单时间
     */
    private Date orderAt;

    /**
     * 订单状态
     */
    private Integer status;

    /**
     * 订单来源
     */
    private Integer source;

    /**
     * 来源单号
     */
    private String sourceNo;

    /**
     * 支付类型
     */
    private Integer payType;

    /**
     * 支付状态
     */
    private Integer payStatus;

    /**
     * 支付时间
     */
    private Date payAt;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 店内单号
     */
    private String storeOrderNo;

    /**
     * 是否打印
     */
    private Integer isReceipt;

    /**
     * 打印终端
     */
    private String receiptTerminal;

    /**
     * 订单金额
     */
    private Integer totalAmount;

    /**
     * 实付金额
     */
    private Integer actualAmount;

    /**
     * 支付模式
     */
    private Integer payModel;

    /**
     * 更新时间
     */
    private Date updatedAt;

    /**
     * 售后状态
     */
    private Integer afterSaleStatus;

    /**
     * 接单状态
     */
    private Integer receiveStatus;

    /**
     * 优惠总金额
     */
    private Integer discountAmount;

    /**
     * 运费总金额
     */
    private Integer freightAmount;

    /**
     * 包装费用
     */
    private Integer packAmount;

    /**
     * 优惠类型列表
     */
    private List<Integer> discountTypeList;

    /**
     * 付款人
     */
    private Long payer;

    /**
     * 是否独立收款
     */
    private Integer isAlone;

    /**
     * 第三方支付的金额
     */
    private Integer useThird;

    /**
     * 使用余额
     */
    private Integer useWallet;

    /**
     * 地址id
     */
    private Integer addrId;

    /**
     * 订单是否完成
     */
    private Integer isCompleted;

    /**
     * 完成时间
     */
    private Date completedAt;

    /**
     * 是否支付
     */
    private Integer isPay;

    /**
     * 删除标识
     */
    private Integer isDeleted;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 业务子类型
     */
    private Integer bizSubType;

    /**
     * 支付人
     */
    private Long searchPayer;

    /**
     * 支付单号
     */
    private String payNo;

    /**
     * 商品条码
     */
    private List<String> itemBarcodeList;

    /**
     * 商品名称
     * es中分词字段
     */
    private String searchItemName;

    /**
     * 收货人姓名
     */
    private String acceptName;

    /**
     * 收货人手机号
     */
    private String acceptMobile;

    /**
     * 商品名称搜索
     * keyword 不分词
     */
    private List<String> itemNamesKeyword;

    public List<String> getItemNamesKeyword() {
        return itemNamesKeyword;
    }

    public void setItemNamesKeyword(List<String> itemNamesKeyword) {
        this.itemNamesKeyword = itemNamesKeyword;
    }

    public String getAcceptName() {
        return acceptName;
    }

    public void setAcceptName(String acceptName) {
        this.acceptName = acceptName;
    }

    public String getAcceptMobile() {
        return acceptMobile;
    }

    public void setAcceptMobile(String acceptMobile) {
        this.acceptMobile = acceptMobile;
    }

    public String getSearchItemName() {
        return searchItemName;
    }

    public void setSearchItemName(String searchItemName) {
        this.searchItemName = searchItemName;
    }

    public List<String> getItemBarcodeList() {
        return itemBarcodeList;
    }

    public void setItemBarcodeList(List<String> itemBarcodeList) {
        this.itemBarcodeList = itemBarcodeList;
    }

    public String getPayNo() {
        return payNo;
    }

    public void setPayNo(String payNo) {
        this.payNo = payNo;
    }

    public Long getSearchPayer() {
        return searchPayer;
    }

    public void setSearchPayer(Long searchPayer) {
        this.searchPayer = searchPayer;
    }

    public Integer getBizSubType() {
        return bizSubType;
    }

    public void setBizSubType(Integer bizSubType) {
        this.bizSubType = bizSubType;
    }

    public Integer getOrderType() {
        return orderType;
    }

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

    public Integer getOrderSubType() {
        return orderSubType;
    }

    public void setOrderSubType(Integer orderSubType) {
        this.orderSubType = orderSubType;
    }

    public Integer getPerformanceType() {
        return performanceType;
    }

    public void setPerformanceType(Integer performanceType) {
        this.performanceType = performanceType;
    }

    public String getPerformancePlatform() {
        return performancePlatform;
    }

    public void setPerformancePlatform(String performancePlatform) {
        this.performancePlatform = performancePlatform;
    }

    public Integer getIsImmediatePerformance() {
        return isImmediatePerformance;
    }

    public void setIsImmediatePerformance(Integer isImmediatePerformance) {
        this.isImmediatePerformance = isImmediatePerformance;
    }

    public Integer getPerformanceStatus() {
        return performanceStatus;
    }

    public void setPerformanceStatus(Integer performanceStatus) {
        this.performanceStatus = performanceStatus;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getSellerId() {
        return sellerId;
    }

    public void setSellerId(Long sellerId) {
        this.sellerId = sellerId;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Date getOrderAt() {
        return orderAt;
    }

    public void setOrderAt(Date orderAt) {
        this.orderAt = orderAt;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public String getSourceNo() {
        return sourceNo;
    }

    public void setSourceNo(String sourceNo) {
        this.sourceNo = sourceNo;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Date getPayAt() {
        return payAt;
    }

    public void setPayAt(Date payAt) {
        this.payAt = payAt;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getStoreOrderNo() {
        return storeOrderNo;
    }

    public void setStoreOrderNo(String storeOrderNo) {
        this.storeOrderNo = storeOrderNo;
    }

    public Integer getIsReceipt() {
        return isReceipt;
    }

    public void setIsReceipt(Integer isReceipt) {
        this.isReceipt = isReceipt;
    }

    public String getReceiptTerminal() {
        return receiptTerminal;
    }

    public void setReceiptTerminal(String receiptTerminal) {
        this.receiptTerminal = receiptTerminal;
    }

    public Integer getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Integer totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Integer getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(Integer actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Integer getPayModel() {
        return payModel;
    }

    public void setPayModel(Integer payModel) {
        this.payModel = payModel;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Integer getAfterSaleStatus() {
        return afterSaleStatus;
    }

    public void setAfterSaleStatus(Integer afterSaleStatus) {
        this.afterSaleStatus = afterSaleStatus;
    }

    public Integer getReceiveStatus() {
        return receiveStatus;
    }

    public void setReceiveStatus(Integer receiveStatus) {
        this.receiveStatus = receiveStatus;
    }

    public Integer getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(Integer discountAmount) {
        this.discountAmount = discountAmount;
    }

    public Integer getFreightAmount() {
        return freightAmount;
    }

    public void setFreightAmount(Integer freightAmount) {
        this.freightAmount = freightAmount;
    }

    public Integer getPackAmount() {
        return packAmount;
    }

    public void setPackAmount(Integer packAmount) {
        this.packAmount = packAmount;
    }

    public List<Integer> getDiscountTypeList() {
        return discountTypeList;
    }

    public void setDiscountTypeList(List<Integer> discountTypeList) {
        this.discountTypeList = discountTypeList;
    }

    public Long getPayer() {
        return payer;
    }

    public void setPayer(Long payer) {
        this.payer = payer;
    }

    public Integer getIsAlone() {
        return isAlone;
    }

    public void setIsAlone(Integer isAlone) {
        this.isAlone = isAlone;
    }

    public Integer getUseThird() {
        return useThird;
    }

    public void setUseThird(Integer useThird) {
        this.useThird = useThird;
    }

    public Integer getUseWallet() {
        return useWallet;
    }

    public void setUseWallet(Integer useWallet) {
        this.useWallet = useWallet;
    }

    public Integer getAddrId() {
        return addrId;
    }

    public void setAddrId(Integer addrId) {
        this.addrId = addrId;
    }

    public Integer getIsCompleted() {
        return isCompleted;
    }

    public void setIsCompleted(Integer isCompleted) {
        this.isCompleted = isCompleted;
    }

    public Date getCompletedAt() {
        return completedAt;
    }

    public void setCompletedAt(Date completedAt) {
        this.completedAt = completedAt;
    }

    public Integer getIsPay() {
        return isPay;
    }

    public void setIsPay(Integer isPay) {
        this.isPay = isPay;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Integer getBizType() {
        return bizType;
    }

    public void setBizType(Integer bizType) {
        this.bizType = bizType;
    }

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
