package ${basePackage}.module.system.req;

import org.hibernate.validator.constraints.Length;
import ${basePackage}.frame.base.BaseRequest;

import javax.validation.constraints.NotBlank;

/**
 * SequenceNextRequest - 序列获取
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2020-06-25
 */
public class SequenceNextRequest extends BaseRequest {

    /**
     * 序列名称.
     */
    @NotBlank(message = "[seqName]序列名称不能为空")
    @Length(min = 1, max = 50, message = "[seqName]序列名称长度不合法(1-50)")
    private String seqName;

    /**
     * 序列备注.
     */
    @Length(min = 0, max = 50, message = "[seqNote]序列备注长度不合法(0-50)")
    private String seqNote;

    /**
     * 序列号前缀
     */
    private String seqPrefix;

    /**
     * 流水号步长
     */
    private int seqStep = 1;

    /**
     * 最小流水号.
     */
    private int minValue = 1;

    /**
     * 最大流水号.
     */
    private int maxValue = 99999;

    /**
     * 年.
     */
    private boolean byYear;

    /**
     * 月.
     */
    private boolean byMonth;

    /**
     * 日.
     */
    private boolean byDate;

    public String getSeqName() {
        return seqName;
    }

    public void setSeqName(String seqName) {
        this.seqName = seqName;
    }

    public String getSeqNote() {
        return seqNote;
    }

    public void setSeqNote(String seqNote) {
        this.seqNote = seqNote;
    }

    public void setByYear(boolean byYear) {
        this.byYear = byYear;
    }

    public boolean getByYear() {
        return byYear;
    }

    public boolean getByMonth() {
        return byMonth;
    }

    public void setByMonth(boolean byMonth) {
        this.byMonth = byMonth;
    }

    public boolean getByDate() {
        return byDate;
    }

    public void setByDate(boolean byDate) {
        this.byDate = byDate;
    }

    public String getSeqPrefix() {
        return seqPrefix;
    }

    public void setSeqPrefix(String seqPrefix) {
        this.seqPrefix = seqPrefix;
    }

    public int getSeqStep() {
        return seqStep;
    }

    public void setSeqStep(int seqStep) {
        this.seqStep = seqStep;
    }

    public int getMinValue() {
        return minValue;
    }

    public void setMinValue(int minValue) {
        this.minValue = minValue;
    }

    public int getMaxValue() {
        return maxValue;
    }

    public void setMaxValue(int maxValue) {
        this.maxValue = maxValue;
    }
}
