package jnpf.model.certificate.req.app;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * App端营业执照更新请求参数。
 */
@Data
public class CertificateAppBusinessLicenseUpdateReq implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 证照实例ID。
     */
    @Length(max = 50, message = "证照实例ID长度不能超过50")
    private String certificateInstanceId;

    /**
     * 证照图片。
     */
    @Length(max = 1000, message = "证照图片长度不能超过1000")
    private String certificateImage;

    /**
     * 公司名。
     */
    @Length(max = 200, message = "公司名长度不能超过200")
    private String companyName;

    /**
     * 法定代表人。
     */
    @Length(max = 100, message = "法定代表人长度不能超过100")
    private String legalRepresentative;

    /**
     * 公司证号（基础表证照编号）。
     */
    @Length(max = 100, message = "公司证号长度不能超过100")
    private String certificateNo;

    /**
     * 成立时间，格式yyyy-MM-dd。
     */
    @Length(max = 20, message = "成立时间长度不能超过20")
    private String establishDate;

    /**
     * 发证日期，格式yyyy-MM-dd。
     */
    @Length(max = 20, message = "发证日期长度不能超过20")
    private String issueDate;

    /**
     * 到期日期，格式yyyy-MM-dd。
     */
    @Length(max = 20, message = "到期日期长度不能超过20")
    private String expireDate;

    /**
     * 是否长期：0否，1是。
     */
    @NotNull(message = "是否长期不能为空")
    @Min(value = 0, message = "是否长期只能为0或1")
    @Max(value = 1, message = "是否长期只能为0或1")
    private Integer isLongTerm;

    private List<String> businessTerm;

    /**
     * 经营范围。
     */
    private String businessScope;

    /**
     * 公司地址。
     */
    private String address;
}

