# HotelKpiV2CrawlValueDTO.java

    package cloud.wconnect.workperformance.pojo.dto.hotelkpi.internal.crawl.value.v2;

    import jakarta.validation.Valid;
    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;

    import java.util.List;

    /**
     * DTO: Hotel KPI V2 Crawl Value
     *
     * @author zc
     * @date 2025/08/19
     */
    @Data
    public class HotelKpiV2CrawlValueDTO {

        /**
         * 日期类型
         */
        @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;

        /**
         * 日期
         */
        @NotNull(message = "The date cannot be null")
        private Long date;

        /**
         * 指标类型
         */
        @NotNull(message = "The metricsType cannot be null")
        private Integer metricsType;

        /**
         * 保存数据集合
         */
        @Valid
        @NotEmpty(message = "The list cannot be empty")
        private List<HotelKpiV2CrawlValueCategoryDTO> list;
    }