# TaPortalListDTO.java

    package cloud.wconnect.finance.pojo.dto.ta.portal;

    import cloud.wconnect.commonlib.annotation.validator.DigitsInteger;
    import lombok.AllArgsConstructor;
    import lombok.Builder;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.hibernate.validator.constraints.Length;
    import org.hibernate.validator.constraints.Range;

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

    /**
     * <p>
     * DTO: TA Portal List
     * </p>
     *
     * @author zc
     * @since 2023-07-07
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public class TaPortalListDTO {

        /**
         * 入住日期，yyyyMMdd
         */
        @NotNull(message = "The arrivalDate cannot be null")
        private Long arrivalDate;

        /**
         * 客人标识
         */
        @NotBlank(message = "The name cannot be blank")
        @Length(max = 200, message = "The name is limited 200 characters")
        private String name;

        /**
         * 房间数
         */
        @NotNull(message = "The rooms cannot be null")
        @Range(min = 0, max = 999, message = "The rooms must be between 0 and 999")
        private Integer rooms;

        /**
         * 信用卡号后四位
         */
        @NotBlank(message = "The lastFourDigits cannot be blank")
        @Length(max = 4, message = "The lastFourDigits is limited 4 characters")
        private String lastFourDigits;

        /**
         * 房价
         */
        @NotNull(message = "The rate cannot be null")
        @DigitsInteger(integer = 7, message = "The rate is wrong format")
        @DecimalMin(value = "0", message = "The rate must be greater than 0")
        private BigDecimal rate;

        /**
         * 总费用
         */
        @NotNull(message = "The totalCharged cannot be null")
        @DigitsInteger(integer = 10, message = "The totalCharged is wrong format")
        private BigDecimal totalCharged;

        /**
         * 入住天数
         */
        @NotNull(message = "The nights cannot be null")
        @Range(min = 0, max = 999, message = "The nights must be between 0 and 999")
        private Integer nights;

        /**
         * 航空公司
         */
        @NotBlank(message = "The airline cannot be blank")
        @Length(max = 100, message = "The airline is limited 100 characters")
        private String airline;

        /**
         * Voucher
         */
        @NotBlank(message = "The voucher cannot be blank")
        @Length(max = 100, message = "The voucher is limited 100 characters")
        private String voucher;

        /**
         * 退房日期，yyyyMMdd
         */
        @NotNull(message = "The departureDate cannot be null")
        private Long departureDate;

        /**
         * 客人数量
         */
        @NotNull(message = "The customerNumber cannot be null")
        private Integer customerNumber;
    }