package jnpf.model.certificate.req.app;

import jnpf.model.certificate.req.CertificateInstanceItemReq;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * App端门店自定义证照更新请求参数。
 */
@Data
public class CertificateAppStoreCustomUpdateReq implements Serializable {

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 模板ID。
     */
    @NotBlank(message = "模板ID不能为空")
    private String templateId;

    /**
     * 自定义字段值列表。
     */
    @Valid
    private List<CertificateInstanceItemReq> itemList = new ArrayList<>();
}

