# SaveApproveLevelDTO.java

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

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

    import jakarta.validation.Valid;
    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import jakarta.validation.constraints.Null;
    import java.util.List;

    /**
     * DTO: Save Approve Level
     *
     * @author yyt
     * 2023/8/25
     */
    @Data
    public class SaveApproveLevelDTO {

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

        /**
         * 名称
         */
        @NotBlank(message = "the name must not be blank")
        @Length(max = 255, message = "the name max length 255")
        private String name;

        /**
         * 审批规则（0:任一，1:全部）
         */
        @NotNull(message = "the rule must not be null")
        @Range(min = 0, max = 1, message = "the rule must in [0：any one，1：all]")
        private Integer rule;

        /**
         * 审批层级
         */
        @Null(message = "the approveIndex must be null")
        private Integer approveIndex;

        /**
         * 审批人
         */
        private List<Integer> users;

        /**
         * 抄送人
         */
        @Valid

        private List<CbCaseCCDTO> cc;

    }