package cn.iocoder.yudao.module.order.vo.orderPickup;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
import cn.iocoder.yudao.framework.excel.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.convert.DictConvert;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* 提货 Response VO
* @author 系统管理员
*/
@Data
@ApiModel("管理后台 - 提货 Response VO")
public class OrderPickupBackVO {

    @ExcelProperty("主键ID")
    @ApiModelProperty(value = "主键ID", required = true)
    private Long id;

    @ExcelProperty("创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "创建时间", required = true)
    private Date createTime;

    @ExcelProperty("订单id")
    @ApiModelProperty(value = "订单编号", required = true)
    private String orderId;

    @ExcelProperty(value = "提货方式", converter = DictConvert.class)
    @DictFormat("pick_type") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    @ApiModelProperty(value = "提货方式", required = true)
    private Long pickType;

    @ExcelProperty("提货时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "提货时间", required = true)
    private Date pickTime;

    @ExcelProperty("快递单号")
    @ApiModelProperty(value = "快递单号")
    private String trackingNumber;

    @ExcelProperty("送货时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "送货时间")
    private Date deliverTime;

    @ExcelProperty("附件")
    @ApiModelProperty(value = "附件")
    private String attachment;

    @ExcelProperty("备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @ExcelProperty("提货数量")
    @ApiModelProperty(value = "提货数量")
    private Integer pickNum;

    @ApiModelProperty(value = "提单号")
    private String tidanNo;

    @ApiModelProperty(value = "送货地址")
    private String deliverAddress;

    @ApiModelProperty(value = "提货前订单主状态")
    private Integer orderStatus;
}
