# HotelKpiQuery.java

    package cloud.wconnect.workperformance.pojo.query.hotelkpi.old;

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

    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import jakarta.validation.constraints.Null;

    /**
     * Query: Hotel KPI
     *
     * @author zc
     * @date 2024/06/24
     */
    @Data
    public class HotelKpiQuery {

        /**
         * 日期类型
         */
        @NotNull(message = "The dateType cannot be null")
        @Range(min = 1, max = 4, message = "The dateType must be between [1:Week 2:Month 3:Quarter 4:Year]")
        private Integer dateType;

        /**
         * 开始日期(week:([yyyy],[1 - 12],[1 - 4]);month:([yyyy],[1 - 12]);quarter:([yyyy],[1 - 4]);year:([yyyy]))
         */
        @NotEmpty(message = "The startDate cannot be empty")
        private String startDate;

        /**
         * 结束日期(week:([yyyy],[1 - 12],[1 - 4]);month:([yyyy],[1 - 12]);quarter:([yyyy],[1 - 4]);year:([yyyy]))
         */
        @NotEmpty(message = "The endDate cannot be empty")
        private String endDate;

        /**
         * 开始日期(yyyyMMdd)
         */
        @Null(message = "The startDateLong must be null")
        private Long startDateLong;

        /**
         * 结束日期(yyyyMMdd)
         */
        @Null(message = "The endDateLong must be null")
        private Long endDateLong;
    }