package cn.iocoder.yudao.module.order.dal.dataobject.orderConsignee;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.apache.commons.lang3.StringUtils;

import javax.validation.constraints.NotNull;

/**
 * 订单收货人信息 DO
 *
 * @author 系统管理员
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ecw_order_consignee")
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrderConsigneeDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 下单用户id
     */
    private Long relationId;
    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 收货人姓名
     */
    private String name;
    /**
     * 收货人姓名(英文)
     */
    private String nameEn;
    /**
     * 手机
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 公司
     */
    private String company;
    /**
     * 公司(英文)
     */
    private String companyEn;

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

    @ApiModelProperty(value = "送货时间", required = true)
    private String deliveryDate;
    /**
     * 地址
     */
    private String address;

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

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

    @ApiModelProperty(value = "市")
    private Long city;
    /**
     * 国家简称
     */
    private String countryAbbreviation;
    /**
     * 国家区号
     */
    private String countryCode;
    /**
     * 客户id
     */
    private Long customerId;
    /**
     * 客户编号
     */
    private String customerNumber;
    /**
     * 客户联系人id
     */
    private Long customerContactsId;

    public void setCountryCode(String countryCode) {
        if (StringUtils.isNotBlank(countryCode)) {
            this.countryCode = countryCode.replace("+", "");
        }else {
            this.countryCode = countryCode;
        }
    }
}
