package com.jeeplus.assess.invoice.domain.OMS;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * 共同购买方集合子实体类
 * 仅在不动产销售特定要素（specificFactor为05）且多方共同购买标签（jointBuyerFlag为Y）时需传值
 * 不可超过100行，行号从1开始升序
 */
public class JointBuyer {

    /**
     * 行号
     * 必填，从1开始依次增加，最大5位字符
     */
    @NotBlank(message = "共同购买方行号lineCode不能为空")
    @Pattern(regexp = "^[1-9]\\d{0,4}$",
            message = "行号必须从1开始依次增加，且为1-5位数字")
    private String lineCode;

    /**
     * 共同购买方名称
     * 必填，最大100字符
     */
    @NotBlank(message = "共同购买方名称buyerName不能为空")
    @Size(max = 100, message = "共同购买方名称长度不能超过100字符")
    private String buyerName;

    /**
     * 共同购买方证件类型
     * 必填，最大3字符，详见附录3身份证件类型代码表
     */
    @NotBlank(message = "共同购买方证件类型idCardType不能为空")
    @Size(max = 3, message = "证件类型长度不能超过3字符")
    private String idCardType;

    /**
     * 共同购买方证件号码
     * 必填，最大20字符
     */
    @NotBlank(message = "共同购买方证件号码idCardNo不能为空")
    @Size(max = 20, message = "证件号码长度不能超过20字符")
    private String idCardNo;

    public String getLineCode() {
        return lineCode;
    }

    public void setLineCode(String lineCode) {
        this.lineCode = lineCode;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getIdCardType() {
        return idCardType;
    }

    public void setIdCardType(String idCardType) {
        this.idCardType = idCardType;
    }

    public String getIdCardNo() {
        return idCardNo;
    }

    public void setIdCardNo(String idCardNo) {
        this.idCardNo = idCardNo;
    }
}
