# MonthlyRevenueReportDateRangeEnum.java

    package cloud.wconnect.rateshop.cons.weeklymonthlyrevenue;

    import lombok.AllArgsConstructor;
    import lombok.Getter;

    /**
     * ENUM: Weekly Monthly Revenue Report Date Range
     *
     * @author lichen
     * @date 2025/12/12
     */
    @Getter
    @AllArgsConstructor
    public enum MonthlyRevenueReportDateRangeEnum {

        HISTORY_AND_FORECAST(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_HISTORY_AND_FORECAST.getType(), "0,100"),
        GROUP_PICKUP(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_GROUP_PICKUP.getType(), "-2,100"),
        RESERVATION_STATISTICS(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_STATISTICS.getType(), "-1,-1"),
        RESERVATION_FORECAST(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_FORECAST.getType(), "0,100"),
        CANCELLATION_SUMMARY(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_CANCELLATION_SUMMARY.getType(), "-2,-1"),
        MANAGER_FLASH_ONE_DAY_AGO(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_ONE_DAY_AGO.getType(), "-1,-1"),
        MANAGER_FLASH_TWO_DAY_AGO(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_TWO_DAY_AGO.getType(), "-2,-2"),
        RESERVATION_FORECAST_DAY_BEFORE_YESTERDAY_ONE_HUNDRED_DAYS(MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_FORECAST.getType(), "-2,100");

        /**
         * 类型
         */
        private final Integer type;

        /**
         * 报告数据范围
         */
        private final String dateRange;

        /**
         * 获取报告数据范围
         *
         * @param type 类型
         * @return 报告数据范围
         */
        public static String getDateRange(Integer type) {
            for (MonthlyRevenueReportDateRangeEnum value : MonthlyRevenueReportDateRangeEnum.values()) {
                if (value.getType().equals(type)) {
                    return value.getDateRange();
                }
            }
            return null;
        }
    }