package com.ruoyi.logistics.domain.dto;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 批量下单 DTO 对象
 */
@HeadRowHeight(20)
@ExcelIgnoreUnannotated
@Data
public class JDOrderDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 寄件人姓名 */
    @ExcelProperty(value = "寄件人姓名", order = 0)
    @ColumnWidth(15)
    private String senderName;

    /** 寄件人电话 */
    @ExcelProperty(value = "寄件人电话", order = 1)
    @ColumnWidth(15)
    private String senderPhone;

    /** 寄件省 */
    private String senderProvince;

    /** 寄件市 */
    private String senderCity;

    /** 寄件区县 */
    private String senderCounty;

    /** 寄件详细地址 */
    @ExcelProperty(value = "寄件详细地址", order = 2)
    @ColumnWidth(30)
    private String senderAddress;

    /** 收件人姓名 */
    @ExcelProperty(value = "收件人姓名", order = 3)
    @ColumnWidth(15)
    private String receiverName;

    /** 收件人电话 */
    @ExcelProperty(value = "收件人电话", order = 4)
    @ColumnWidth(15)
    private String receiverPhone;

    /** 收件省 */
    private String receiverProvince;

    /** 收件市 */
    private String receiverCity;

    /** 收件区县 */
    private String receiverCounty;

    /** 收件详细地址 */
    @ExcelProperty(value = "收件详细地址", order = 5)
    @ColumnWidth(30)
    private String receiverAddress;

    /** 物品名称 */
    @ExcelProperty(value = "物品名称", order = 6)
    @ColumnWidth(15)
    private String goodsName;

    /** 物品重量 */
    @ExcelProperty(value = "物品重量(KG)", order = 7)
    @ColumnWidth(15)
    private BigDecimal goodsWeight;

    /** 物品体积 */
    @ExcelProperty(value = "物品体积(m³)", order = 8)
    @ColumnWidth(15)
    private BigDecimal goodsVolume;

    /** 物品数量 */
    @ExcelProperty(value = "物品数量(件)", order = 9)
    @ColumnWidth(15)
    private Long goodsQty;

    /** 取件类型 */
    private Integer pickupType;

    /** 上门取件开始时间 */
//    @DateTimeFormat("yyyy-MM-dd HH:00:00")
//    @ExcelProperty(value = "上门取件开始时间", order = 10, format = "TEXT")
//    @ColumnWidth(30)
    private String sendStartTime;

    private Date pickupStartTime;

    /** 上门取件结束时间 */
//    @DateTimeFormat("yyyy-MM-dd HH:00:00")
//    @ExcelProperty(value = "上门取件结束时间", order = 11, format = "TEXT")
//    @ColumnWidth(30)
    private String sendEndTime;

    private Date pickupEndTime;

    /** 产品类型 */
    @ExcelProperty(value = "产品类型", order = 10)
    @ColumnWidth(15)
    private String productCode;

    /** 增值服务 */
    private String addedService;

    /** 备注 */
    private String remark;

    /** 包装服务 */
    @ExcelProperty(value = "包装服务", order = 11)
    @ColumnWidth(15)
    private String isPack;

    /** 保价金额 */
    @ExcelProperty(value = "保价金额", order = 12)
    @ColumnWidth(15)
    private BigDecimal guaranteeMoney;

    /** 签单返还 */
    @ExcelProperty(value = "签单返还", order = 13)
    @ColumnWidth(15)
    private String isReceiptCollect;

}
