package com.sonic.lion.domain.input;

import com.paypal.api.payments.CountryCode;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Data
public class PaymentBillInfo {

    /**
     * 客户ID
     */
    private String customerId;

    /**
     * 地址1
     */
    @NotBlank
    private String addressLine1;
    /**
     * 地址2
     */
    @NotBlank
    private String addressLine2;
    /**
     * 城市
     */
    @NotBlank
    private String city;
    /**
     * 州
     */
    @NotBlank
    private String state;
    /**
     * 邮编
     */
    @NotBlank
    private String zip;
    /**
     * 国家代码（2位)
     */
    @NotNull
    private CountryCode countryCode;
    /**
     * 邮箱
     */
    @NotBlank
    private String email;
    /**
     * 手机号
     */
    @NotBlank
    private String phone;

    /**
     * 手机区号
     */
    @NotBlank
    private String phoneCountryCode;

    /**
     * 姓名
     */
    @NotBlank
    private String firstName;

    /**
     * 姓名
     */
    @NotBlank
    private String lastName;

    /**
     * 用户注册时间
     */
    @NotBlank
    private LocalDateTime registerTime;

    /**
     * 校验airwallex渠道充值数据是否齐全
     * @return
     */
    public Boolean airwallexCheckPass() {
        //校验参数是否齐全（必须包含名字和邮箱）
        return StringUtils.isNotEmpty(firstName) && StringUtils.isNotEmpty(lastName) && StringUtils.isNotEmpty(email);
    }

}
