# UpdateMonthRgiDTO.java

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

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import jakarta.validation.constraints.Digits;
    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.Pattern;
    import lombok.Data;

    import java.math.BigDecimal;

    /**
     * DTO: Update Month Rgi
     *
     * @author: yyt
     * 2025-08-15
     */
    @Data
    public class UpdateMonthRgiDTO {

        /**
         * yyyyMM
         */
        @NotBlank(message = "the yearMonth must not be blank")
        @Pattern(regexp = "^\\d{4}\\d{2}$", message = "The yearMonth format is incorrect, right format is [yyyyMM]")
        private String yearMonth;

        /**
         * 预测 rgi（限制：整数4位）
         */
        @DigitsCustom(integer = 4, message = "the budgetRgi is wrong format")
        private BigDecimal budgetRgi;

        /**
         * 实际 rgi（限制：整数4位）
         */
        @DigitsCustom(integer = 4, message = "the actualRgi is wrong format")
        private BigDecimal actualRgi;

        /**
         * STR Revpar Index（限制：整数8位）
         */
        @Digits(integer = 8, fraction = 0, message = "the strRevpar is wrong format")
        private Integer strRevpar;

        /**
         * Hotel Revpar（限制：整数8位）
         */
        @DigitsCustom(integer = 8, message = "the hotelRevpar is wrong format")
        private BigDecimal hotelRevpar;

        /**
         * CS Revpar（限制：整数8位）
         */
        @Digits(integer = 8, fraction = 0, message = "the csRevpar is wrong format")
        private Integer csRevpar;

    }