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

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description 统计订单请求
 * @Author: ph
 * @Date: 2019/12/17 21:49
 */
public class SearchOrderCountRequest implements Serializable {

    private static final long serialVersionUID = -2189627805685005018L;

    @ApiModelProperty(value = "订单状态", example = "1")
    private Integer status;

    @ApiModelProperty(value = "接单状态", example = "1")
    private Integer receiveStatus;

    @ApiModelProperty(value = "履约状态", example = "1")
    private Integer performanceStatus;

    @ApiModelProperty(value = "商家id", example = "10155")
    private Long sellerId;

    @ApiModelProperty(value = "门店id", example = "10122")
    private Long storeId;

    @ApiModelProperty(value = "订单来源", example = "1")
    private Integer source;

    @ApiModelProperty(value = "用户id", example = "[1,2,3]")
    private List<Long> userIdList;

    @ApiModelProperty(value = "支付时间开始 毫秒", example = "12312321321")
    private Date payAtStart;

    @ApiModelProperty(value = "支付时间结束 毫秒", example = "1231231232131")
    private Date payAtEnd;

    @ApiModelProperty(value = "支付状态列表", example = "[1,2,3]")
    private List<Integer> payStatusList;

    @ApiModelProperty(value = "买家手机号", example = "13218024110")
    private String mobile;

    @ApiModelProperty(value = "下单时间开始 毫秒", example = "13213213123")
    private Date orderAtStart;

    @ApiModelProperty(value = "下单时间结束 毫秒", example = "13233123213123")
    private Date orderAtEnd;

    @ApiModelProperty(value = "订单类型", example = "[1,2,3]")
    private List<Integer> orderTypeList;

    @ApiModelProperty(value = "订单子类型", example = "1")
    private Integer orderSubType;

    @ApiModelProperty(value = "履约类型", example = "1")
    private Integer performanceType;

    @ApiModelProperty(value = "订单来源列表", example = "[1,2,3]")
    private List<Integer> sourceList;

    @ApiModelProperty(value = "支付类型", example = "[1,2,3]")
    private List<Integer> payTypeList;

    @ApiModelProperty(value = "状态", example = "[1,2,3]")
    private List<Integer> statusList;

    @ApiModelProperty(value = "排除状态列表", example = "[1,2,3]")
    private List<Integer> excludeStatusList;

    @ApiModelProperty(value = "排除订单类型列表", example = "[1,2,3]")
    private List<Integer> excludeOrderTypeList;

    @ApiModelProperty(value = "排除支付状态列表", example = "[1,2,3]")
    private List<Integer> excludePayTypeList;

    @ApiModelProperty(value = "履约平台", example = "[1,2,3]")
    private List<String> performancePlatformList;

    @ApiModelProperty(value = "是否立即履约", example = "1")
    private Integer isImmediatePerformance;

    @ApiModelProperty(value = "支付模式", example = "1")
    private Integer payModel;

    @ApiModelProperty(value = "是否打印", example = "1")
    private Integer isReceipt;

    @ApiModelProperty(value = "打印终端", example = "1")
    private String receiptTerminal;

    @ApiModelProperty(value = "是否预约时间为空", example = "1")
    private Integer isReserveTakeoutTimeEmpty;

    @ApiModelProperty(value = "是否使用余额", example = "1")
    private Integer useWallet;

    @ApiModelProperty(value = "是否使用第三方", example = "1")
    private Integer useThird;

    @ApiModelProperty(value = "地址id", example = "[1,2,3]")
    private List<Integer> addrIdList;

    @ApiModelProperty(value = "售后状态", example = "1")
    private Integer afterSaleStatus;

    @ApiModelProperty(value = "是否独立收款", example = "1")
    private Integer isAlone;

    @ApiModelProperty(value = "商家id集合", example = "[1,2,3]")
    private List<Long> sellerIdList;

    @ApiModelProperty(value = "制作时间是否为空", example = "1")
    private Integer isProductionEnd;

    @ApiModelProperty(value = "是否完成", example = "1")
    private Integer isCompleted;

    @ApiModelProperty(value = "定时任务查询一")
    private Boolean conditionFlag1;

    @ApiModelProperty(value = "Flag1结束时间")
    private Date flag1EndTime;

    @ApiModelProperty(value = "Flag1开始时间")
    private Date flag1StartTime;

    @ApiModelProperty(value = "是否支付", example = "1")
    private Integer isPay;

    @ApiModelProperty(value = "删除类型列表", example = "[1,2,3]")
    private List<Integer> deleteTypeList;

    public Integer getStatus() {
        return status;
    }

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

    public Integer getReceiveStatus() {
        return receiveStatus;
    }

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

    public Integer getPerformanceStatus() {
        return performanceStatus;
    }

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

    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 Integer getSource() {
        return source;
    }

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

    public List<Long> getUserIdList() {
        return userIdList;
    }

    public void setUserIdList(List<Long> userIdList) {
        this.userIdList = userIdList;
    }

    public Date getPayAtStart() {
        return payAtStart;
    }

    public void setPayAtStart(Date payAtStart) {
        this.payAtStart = payAtStart;
    }

    public Date getPayAtEnd() {
        return payAtEnd;
    }

    public void setPayAtEnd(Date payAtEnd) {
        this.payAtEnd = payAtEnd;
    }

    public List<Integer> getPayStatusList() {
        return payStatusList;
    }

    public void setPayStatusList(List<Integer> payStatusList) {
        this.payStatusList = payStatusList;
    }

    public String getMobile() {
        return mobile;
    }

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

    public Date getOrderAtStart() {
        return orderAtStart;
    }

    public void setOrderAtStart(Date orderAtStart) {
        this.orderAtStart = orderAtStart;
    }

    public Date getOrderAtEnd() {
        return orderAtEnd;
    }

    public void setOrderAtEnd(Date orderAtEnd) {
        this.orderAtEnd = orderAtEnd;
    }

    public List<Integer> getOrderTypeList() {
        return orderTypeList;
    }

    public void setOrderTypeList(List<Integer> orderTypeList) {
        this.orderTypeList = orderTypeList;
    }

    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 List<Integer> getSourceList() {
        return sourceList;
    }

    public void setSourceList(List<Integer> sourceList) {
        this.sourceList = sourceList;
    }

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

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

    public List<Integer> getStatusList() {
        return statusList;
    }

    public void setStatusList(List<Integer> statusList) {
        this.statusList = statusList;
    }

    public List<Integer> getExcludeStatusList() {
        return excludeStatusList;
    }

    public void setExcludeStatusList(List<Integer> excludeStatusList) {
        this.excludeStatusList = excludeStatusList;
    }

    public List<Integer> getExcludeOrderTypeList() {
        return excludeOrderTypeList;
    }

    public void setExcludeOrderTypeList(List<Integer> excludeOrderTypeList) {
        this.excludeOrderTypeList = excludeOrderTypeList;
    }

    public List<Integer> getExcludePayTypeList() {
        return excludePayTypeList;
    }

    public void setExcludePayTypeList(List<Integer> excludePayTypeList) {
        this.excludePayTypeList = excludePayTypeList;
    }

    public List<String> getPerformancePlatformList() {
        return performancePlatformList;
    }

    public void setPerformancePlatformList(List<String> performancePlatformList) {
        this.performancePlatformList = performancePlatformList;
    }

    public Integer getIsImmediatePerformance() {
        return isImmediatePerformance;
    }

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

    public Integer getPayModel() {
        return payModel;
    }

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

    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 getIsReserveTakeoutTimeEmpty() {
        return isReserveTakeoutTimeEmpty;
    }

    public void setIsReserveTakeoutTimeEmpty(Integer isReserveTakeoutTimeEmpty) {
        this.isReserveTakeoutTimeEmpty = isReserveTakeoutTimeEmpty;
    }

    public Integer getUseWallet() {
        return useWallet;
    }

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

    public Integer getUseThird() {
        return useThird;
    }

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

    public List<Integer> getAddrIdList() {
        return addrIdList;
    }

    public void setAddrIdList(List<Integer> addrIdList) {
        this.addrIdList = addrIdList;
    }

    public Integer getAfterSaleStatus() {
        return afterSaleStatus;
    }

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

    public Integer getIsAlone() {
        return isAlone;
    }

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

    public List<Long> getSellerIdList() {
        return sellerIdList;
    }

    public void setSellerIdList(List<Long> sellerIdList) {
        this.sellerIdList = sellerIdList;
    }

    public Integer getIsProductionEnd() {
        return isProductionEnd;
    }

    public void setIsProductionEnd(Integer isProductionEnd) {
        this.isProductionEnd = isProductionEnd;
    }

    public Integer getIsCompleted() {
        return isCompleted;
    }

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

    public Boolean getConditionFlag1() {
        return conditionFlag1;
    }

    public void setConditionFlag1(Boolean conditionFlag1) {
        this.conditionFlag1 = conditionFlag1;
    }

    public Date getFlag1EndTime() {
        return flag1EndTime;
    }

    public void setFlag1EndTime(Date flag1EndTime) {
        this.flag1EndTime = flag1EndTime;
    }

    public Date getFlag1StartTime() {
        return flag1StartTime;
    }

    public void setFlag1StartTime(Date flag1StartTime) {
        this.flag1StartTime = flag1StartTime;
    }

    public Integer getIsPay() {
        return isPay;
    }

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

    public List<Integer> getDeleteTypeList() {
        return deleteTypeList;
    }

    public void setDeleteTypeList(List<Integer> deleteTypeList) {
        this.deleteTypeList = deleteTypeList;
    }

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