package jnpf.model.certificate.req;

import jnpf.model.common.PageDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

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

/**
 * 门店证照分页查询参数。
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CertificateStoreManageQueryReq extends PageDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 组织ID。
     */
    private Set<String> orgIds = Collections.emptySet();

    /**
     * 门店类型（组织ID，用于过滤）。
     */
    @Length(max = 50, message = "门店类型长度不能超过50")
    private String storeTag;

    /**
     * 证照类型：businessLicense / hygieneLicense。其他值就是门店自定义证照id
     */
    @NotBlank(message = "证照类型不能为空")
    @Length(max = 50, message = "证照类型长度不能超过50")
    private String certificateType;

    /**
     * 模板id，后端使用
     */
    private String templateId;

    /**
     * 证件状态：1为缺失，2为过期，3为临期，4为正常
     */
    @Min(value = 1, message = "证件状态范围必须在1到4之间")
    @Max(value = 4, message = "证件状态范围必须在1到4之间")
    private Integer certificateStatus;
}
