# DailySummaryDTO.java

    package cloud.wconnect.rateshop.pojo.dto.revenue;

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import cloud.wconnect.commonlib.annotation.validator.DigitsInteger;
    import lombok.Getter;
    import lombok.Setter;
    import org.hibernate.validator.constraints.Range;

    import jakarta.validation.constraints.DecimalMin;
    import jakarta.validation.constraints.NotBlank;
    import java.math.BigDecimal;

    /**
     * 手动编辑Daily Summary DTO
     *
     * @author lichen
     * @date 2024/3/27
     */
    @Getter
    @Setter
    public class DailySummaryDTO {

        /**
         * 房价
         */
        @DigitsCustom(integer = 10, message = "The price is wrong format")
        @DecimalMin(value = "0", message = "The price must be greater than 0")
        private BigDecimal price;

        /**
         * 手动编辑房价时，选择的平台ID
         */
        @Range(min = 0, max = 7, message = "The platformId must between in [0:Brand 1:Booking.com 2:Priceline 3:Hotels.com 4:Expedia.com 5:Agoda 6:Optimand 7:Merlin]")
        private Integer platformId;

        /**
         * 已售卖房间数
         */
        private Integer totalRoomsSold;

        /**
         * 可用房间数
         */
        private Integer roomsAvailable;

        /**
         * 入住率
         */
        @DigitsCustom(integer = 3, message = "The occ is wrong format")
        @DecimalMin(value = "0", message = "The occ must be greater than 0")
        private BigDecimal occ;

        private Integer ta;

        /**
         * 散客预订的Pick Up
         */
        private Integer transientPickUp;

        /**
         * 团客预订的Pick Up
         */
        private Integer groupPickUp;

        /**
         * 故障房间数
         */
        private Integer oooRooms;

        /**
         * 未来的客人数量，Final特有
         */
        private Integer noShow;

        /**
         * 取消的客人数，Final特有
         */
        private Integer cancelled;

        /**
         * 平均房价，Final特有
         */
        private BigDecimal adr;

        /**
         * MEPS, Final特有
         */
        private Integer mepsGroupTotal;

        /**
         * 更新的字段
         */
        @NotBlank(message = "The updateFields cannot be blank")
        private String updateFields;

    }