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

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
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 OrderConsigneeBackVO {

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

    @ExcelProperty("下单用户id")
    @ApiModelProperty(value = "下单用户id")
    private Long relationId;

    @ExcelProperty("订单id")
    @ApiModelProperty(value = "订单id")
    private Long orderId;

    @ExcelProperty("收货人姓名")
    @ApiModelProperty(value = "收货人姓名")
    private String name;

    @ExcelProperty("收货人姓名(英文)")
    @ApiModelProperty(value = "收货人姓名(英文)")
    private String nameEn;

    @ExcelProperty("手机")
    @ApiModelProperty(value = "手机")
    private String phone;

    @ExcelProperty("邮箱")
    @ApiModelProperty(value = "邮箱")
    private String email;

    @ExcelProperty("公司")
    @ApiModelProperty(value = "公司")
    private String company;

    @ExcelProperty("公司(英文)")
    @ApiModelProperty(value = "公司(英文)")
    private String companyEn;

    @ExcelProperty("收获方式：1 自提 2 送货上门 ")
    @ApiModelProperty(value = "收获方式：1 自提 2 送货上门 ")
    private Integer harvestMethod;

    @ExcelProperty("地址")
    @ApiModelProperty(value = "地址", required = true)
    private String address;

    @ExcelProperty("送货时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "送货时间", required = true)
    private String deliveryDate;

    @ExcelProperty("国家")
    @ApiModelProperty(value = "国家")
    private Long country;

    @ExcelProperty("省")
    @ApiModelProperty(value = "省")
    private Long province;

    @ExcelProperty("市")
    @ApiModelProperty(value = "市")
    private Long city;


    @ExcelProperty("国家简称")
    @ApiModelProperty(value = "国家简称")
    private String countryAbbreviation;

    @ExcelProperty("国家区号")
    @ApiModelProperty(value = "国家区号", required = true)
    private String countryCode;

    @ExcelProperty("客户id")
    @ApiModelProperty(value = "客户id", required = true)
    private Long customerId;

    @ExcelProperty("客户编号")
    @ApiModelProperty(value = "客户编号")
    private String customerNumber;

    @ExcelProperty("客户联系人id")
    @ApiModelProperty(value = "客户联系人id", required = true)
    private Long customerContactsId;

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

    /**
     * 创建者，目前使用 SysUser 的 id 编号
     *
     * 使用 String 类型的原因是，未来可能会存在非数值的情况，留好拓展性。
     */
    private String creator;

    @ApiModelProperty(value = "是否变动业绩归属")
    private Boolean isCharge = false;

}
