# AdjApproveLevelDTO.java

    package cloud.wconnect.frontoffice.pojo.dto.adjustment;

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

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

    /**
     * @author lichen
     * @description 审批配置信息DTO
     * @date 2023/3/30
     */
    @Data
    public class AdjApproveLevelDTO {

        @NotNull(message = "id cannot be null")
        private Long id;
        /**
         * 资产id
         */
        @Null(message = "propertyId must be null")
        private Integer propertyId;
        /**
         * 审批层级索引
         */
        @Null(message = "index must be null")
        private Integer approveIndex;

        /**
         * 类型(1:Sales 2:Front Desk 3:Accounting 4:Misposting )
         */
        @NotNull(message = "type can not be null")
        @Range(min = 1 , max = 3, message = "index must be 1:Sales 2:Front Desk 3:Accounting")
        private Integer type;

        /**
         * 审批规则（0:任一，1:全部）
         */
        @NotNull(message = "The rule cannot be null")
        @Range(min = 0 , max = 1, message = "The rule must be 0:any or 1:all")
        private Integer rule;
        /**
         * 描述
         */
        private String description;
        /**
         * 审批级别上的人员信息
         */
        @Valid
        @NotEmpty(message = "users can not be empty")
        private List<AdjApproveUser> users;

        /**
         * 审批层级抄送人
         */
        @Valid
        private List<AdjApproveCCDTO> ccList;

    }