# CbCaseApproveLevelQuery.java

    package cloud.wconnect.finance.pojo.query.chargeback;

    import cloud.wconnect.commonlib.pojo.dto.group.Addition;
    import cloud.wconnect.commonlib.pojo.dto.group.Edition;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;

    import jakarta.validation.constraints.NotNull;

    /**
     * Query: Cb Case Approve Level
     *
     * @author yyt
     * 2023/8/24
     */
    @Data
    public class CbCaseApproveLevelQuery {

        /**
         * 阶段 1:init，2:hotel operation，3:overdue，4:portal，5:patch，6:final
         */
        @NotNull(message = "the stage must not be null", groups = Addition.class)
        @Range(min = 1, max = 6, message = "the stage must in [1:init，2:hotel operation，3:overdue，4:portal，5:patch，6:final]", groups = Addition.class)
        private Integer stage;

        /**
         * 类型（1：酒店处理人角色，2：财务处理人角色，3：酒店审批人角色，4：财务审批人角色）
         */
        @NotNull(message = "the type must not be null", groups = Edition.class)
        @Range(min = 1, max = 4, message = "the type must in [1：hotel handle role，2：finance handle role，3：hotel approve role，4：finance approve role]", groups = Edition.class)
        private Integer type;

        public static final int TYPE_HOTEL_HANDLE = 1;

        public static final int TYPE_FINANCE_HANDLE = 2;

        public static final int TYPE_HOTEL_APPROVE = 3;

        public static final int TYPE_FINANCE_APPROVE = 4;

    }