package com.yiqi.order.domain.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.enums.ClothOrderType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
public class OrderAppointmentDTO2 {

    @ApiModelProperty("订单类型（0=普通订单，1=云洗订单，2=第三方订单）,默认0")
    private String orderType;

    /** 门店/工厂ID */
    @Excel(name = "门店/工厂ID")
    @ApiModelProperty("门店/工厂ID")

    private Long orgId;

    /** 来源类型 */
    @Excel(name = "来源类型")
    @ApiModelProperty("来源类型")
    private String sourceType;

    /** 订单编号 */
    @ApiModelProperty("订单编号")
    private String orderNo;

    /** 订单状态衣 */
    @ApiModelProperty("订单状态（0=预约待取，1=已取货、待门店定价，2=已定价、待支付，3=已支付、待工厂取货，4=工厂已取货、洗衣中，5=洗衣完成、待送店，6=已到店、待送衣，7=送衣中，8=已送达、待评价，9=已完成，100=已取消）")
    private String orderStatus;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty("联系人")
    private String contactName;

    /** 联系人手机号 */
    @Excel(name = "联系人手机号")
    @ApiModelProperty("联系人手机号")
    private String contactPhone;

    /** 客户ID */
    @Excel(name = "客户ID")
    @ApiModelProperty("客户ID")

    private Long appUserId;

    /** 收衣方式（0=到店，1=上门） */
    @ApiModelProperty("收衣方式（0=到店，1=上门）")
    private String takeClothWay;

    /** 取衣方式（0=到店，1=上门） */
    @ApiModelProperty("取衣方式（0=到店，1=上门）")
    private String sendClothWay;

    @ApiModelProperty("预约时间")
    private String appointmentTime;

    @ApiModelProperty(value = "导出最大数量")
    private int pageSizeExport ;

    @ApiModelProperty("虚拟定单状态 1：待接单 2：取衣中 3：待支付 4：待入厂 5：清洗中 6：待上挂 7：待送衣 8：送衣中 10：已完成")
    private Integer virtualListStatus;

    private List<Integer> queryOrderStatus;
}
