# TaCreditCardListBO.java

    package cloud.wconnect.finance.pojo.bo.ta.creditcard;

    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 jakarta.validation.constraints.DecimalMin;
    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.NotNull;
    import java.math.BigDecimal;

    /**
     * <p>
     * BO: TA Credit Card List
     * </p>
     *
     * @author zc
     * @since 2023-07-07
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public class TaCreditCardListBO {

        /**
         * 房间号
         */
        @Length(max = 10, message = "The roomNo is limited 10 characters")
        private String roomNo;

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

        /**
         * 入住日期(yyyy-MM-dd)
         */
        @NotBlank(message = "The arrivalDay cannot be blank")
        private String arrivalDay;

        /**
         * 退房日期(yyyy-MM-dd)
         */
        @NotBlank(message = "The departureDay cannot be blank")
        private String departureDay;

        /**
         * 信用卡类型
         */
        @NotBlank(message = "The cardType cannot be blank")
        @Length(max = 20, message = "The cardType is limited 20 characters")
        private String cardType;

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

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

        /**
         * F&B费用
         */
        @NotNull(message = "The fbRevenue cannot be null")
        @DigitsInteger(integer = 7, message = "The fbRevenue is wrong format")
        private BigDecimal fbRevenue;

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

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

    }