package com.zm.order.tool.server.model;

import com.alibaba.fastjson.JSON;

import java.util.Date;
import java.util.List;

/**
 * 正餐ES文档模型
 *
 * <p>
 *
 * </p>
 *
 * @author nianchang
 * @date 2023/02/15 1:55 下午
 */
public class MealMateIndexOrder extends BaseIndexOrder {

    private static final long serialVersionUID = -7867087962055332148L;

    /**
     * 是否退款
     * 0：否
     * 1：是
     */
    private Integer refundCompleted;

    /**
     * 全局搜索
     */
    private String globalSearch;

    /**
     * 桌位名称
     */
    private String seatName;

    /**
     * 同步ERP异常标识
     * 0：未异常
     * 1：异常
     */
    private Integer syncErpError;

    /**
     * 商品类型
     */
    private List<Integer> itemTypeList;

    /**
     * 支付方式列表
     */
    private List<Integer> payTypeList;

    /**
     * 配送状态
     */
    private Integer deliveryStatus;

    /**
     * 搜索支付金额
     */
    private Integer searchActualAmount;

    /**
     * 拼团类型
     */
    private Integer groupType;

    /**
     * 拼团状态
     */
    private String groupStatus;

    /**
     * 使用钱包金额
     */
    private Integer searchWalletAmount;

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

    /**
     * 支付金额
     */
    private Integer amount;

    /**
     * 预约时间
     */
    private Date reserveTime;

    /**
     * 渠道码
     */
    private String channelCode;

    /**
     * 入账类型
     */
    private Integer receivePaymentType;

    /**
     * 商品订单子类型
     */
    private Integer goodsSubType;

    /**
     * 模糊搜索
     *
     */
    private List<String> likeSearch;

    /**
     * 账单号
     */
    private String billNo;

    /**
     * 第三方支付单号
     */
    private String thirdPayNo;

    /**
     * 商品ID列表
     */
    private List<String> itemIdList;

    /**
     * 订单排队状态
     * @see OrderLineUpStatusEnum
     */
    private Integer lineUpStatus;

    /**
     * 订单子状态
     * @see OrderSubStatusEnum
     */
    private Integer subStatus;

    /**
     * 进排队时间
     */
    private Date searchQueueTime;

    /**
     * 企业id
     */
    private String enterpriseId;

    /**
     * 订单完成时间
     */
    private Date searchCompletedAt;

    /**
     * 雷达订单
     */
    private Integer radarOrder;

    /**
     * 实体储值卡类型
     */
    private Integer depositEntityBizType;

    /**
     * 推广码id
     */
    private String orderPromoteCode;

    public Integer getDepositEntityBizType() {
        return depositEntityBizType;
    }

    public void setDepositEntityBizType(Integer depositEntityBizType) {
        this.depositEntityBizType = depositEntityBizType;
    }

    public String getOrderPromoteCode() {
        return orderPromoteCode;
    }

    public void setOrderPromoteCode(String orderPromoteCode) {
        this.orderPromoteCode = orderPromoteCode;
    }

    public Integer getRadarOrder() {
        return radarOrder;
    }

    public void setRadarOrder(Integer radarOrder) {
        this.radarOrder = radarOrder;
    }

    public Date getSearchCompletedAt() {
        return searchCompletedAt;
    }

    public void setSearchCompletedAt(Date searchCompletedAt) {
        this.searchCompletedAt = searchCompletedAt;
    }

    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Date getSearchQueueTime() {
        return searchQueueTime;
    }

    public void setSearchQueueTime(Date searchQueueTime) {
        this.searchQueueTime = searchQueueTime;
    }

    public Integer getSubStatus() {
        return subStatus;
    }

    public void setSubStatus(Integer subStatus) {
        this.subStatus = subStatus;
    }

    public List<String> getItemIdList() {
        return itemIdList;
    }

    public void setItemIdList(List<String> itemIdList) {
        this.itemIdList = itemIdList;
    }

    public Integer getLineUpStatus() {
        return lineUpStatus;
    }

    public void setLineUpStatus(Integer lineUpStatus) {
        this.lineUpStatus = lineUpStatus;
    }

    public List<String> getLikeSearch() {
        return likeSearch;
    }

    public void setLikeSearch(List<String> likeSearch) {
        this.likeSearch = likeSearch;
    }

    public String getThirdPayNo() {
        return thirdPayNo;
    }

    public void setThirdPayNo(String thirdPayNo) {
        this.thirdPayNo = thirdPayNo;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Integer getGoodsSubType() {
        return goodsSubType;
    }

    public void setGoodsSubType(Integer goodsSubType) {
        this.goodsSubType = goodsSubType;
    }

    public Integer getReceivePaymentType() {
        return receivePaymentType;
    }

    public void setReceivePaymentType(Integer receivePaymentType) {
        this.receivePaymentType = receivePaymentType;
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public Date getReserveTime() {
        return reserveTime;
    }

    public void setReserveTime(Date reserveTime) {
        this.reserveTime = reserveTime;
    }

    public String getGroupStatus() {
        return groupStatus;
    }

    public void setGroupStatus(String groupStatus) {
        this.groupStatus = groupStatus;
    }

    public Integer getGroupType() {
        return groupType;
    }

    public void setGroupType(Integer groupType) {
        this.groupType = groupType;
    }

    public Integer getSearchWalletAmount() {
        return searchWalletAmount;
    }

    public void setSearchWalletAmount(Integer searchWalletAmount) {
        this.searchWalletAmount = searchWalletAmount;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public Integer getDeliveryStatus() {
        return deliveryStatus;
    }

    public void setDeliveryStatus(Integer deliveryStatus) {
        this.deliveryStatus = deliveryStatus;
    }

    public Integer getSyncErpError() {
        return syncErpError;
    }

    public void setSyncErpError(Integer syncErpError) {
        this.syncErpError = syncErpError;
    }

    public String getSeatName() {
        return seatName;
    }

    public List<Integer> getItemTypeList() {
        return itemTypeList;
    }

    public void setItemTypeList(List<Integer> itemTypeList) {
        this.itemTypeList = itemTypeList;
    }

    public void setSeatName(String seatName) {
        this.seatName = seatName;
    }

    public String getGlobalSearch() {
        return globalSearch;
    }

    public void setGlobalSearch(String globalSearch) {
        this.globalSearch = globalSearch;
    }

    public Integer getRefundCompleted() {
        return refundCompleted;
    }

    public void setRefundCompleted(Integer refundCompleted) {
        this.refundCompleted = refundCompleted;
    }

    public Integer getSearchActualAmount() {
        return searchActualAmount;
    }

    public void setSearchActualAmount(Integer searchActualAmount) {
        this.searchActualAmount = searchActualAmount;
    }

    public String getReceiverMobile() {
        return receiverMobile;
    }

    public void setReceiverMobile(String receiverMobile) {
        this.receiverMobile = receiverMobile;
    }

    public List<Integer> getPayTypeList() {
        return payTypeList;
    }

    public void setPayTypeList(List<Integer> payTypeList) {
        this.payTypeList = payTypeList;
    }

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