# TaRecordsStatus.java

    package cloud.wconnect.finance.entity.ta;

    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableId;
    import lombok.*;
    import lombok.experimental.Accessors;

    import java.io.Serializable;
    import java.util.List;

    /**
     * <p>
     *
     * </p>
     *
     * @author zc
     * @since 2023-07-07
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    public class TaRecordsStatus implements Serializable {

        private static final long serialVersionUID = 1L;

        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
         * 资产id
         */
        @TableField("hotel_id")
        private Integer propertyId;

        /**
         * portal_id(0标识无关联)
         */
        private Long pId;

        /**
         * credit card id集合（英文逗号分隔）
         */
        private String oIds;

        /**
         * 状态(1:matched; 2:missTA; 3:missPMS; 4:priceVariance; 5:TBA; 6:Ignore; 7:Not in PMS; 8:ILWDP)
         */
        private Integer status;

        /**
         * 变更状态后，记录的回滚时需要修改的信息
         */
        private String statusDetail;

        /**
         * 数据种类 0：其他；1：OTA
         */
        private Integer category;

        public static final int CATEGORY_OTHER = 0;
        public static final int CATEGORY_OTA = 1;

        /**
         * 创建人user_id(0表示系统)
         */
        private Integer createId;

        /**
         * 操作人user_id(0表示系统)
         */
        private Integer operatorId;

        /**
         * 更新时间
         */
        private Long updateTime;

        /**
         * 客人入住日期
         */
        private Long arrivalDate;

        /**
         * 客人标识
         */
        private String name;

        /**
         * 房间号(英文逗号分隔)
         */
        private String roomsNo;

        /**
         * 航空公司
         */
        private String airline;

        /**
         * 平台标识（1:TA）
         */
        private Integer type;

        public static final int PLATFORM_TYPE_TA = 1;

        /**
         * 是否可以选择（0否，1是），PMS Credit Card 列表排序时使用
         */
        private Boolean canChoose;

        /**
         * Confirmation #
         */
        private String confirmation;

        /**
         * 卡号后四位
         */
        private String cardNo;

        /**
         * 关联的 Credit Card 数据
         */
        @TableField(exist = false)
        private List<TaCreditCard> creditCards;

        /**
         * 获取对比字符串
         *
         * @return arrivalDate + cardNo
         * @author zc
         * @date 2023/7/22
         */
        public String getContrastStr() {
            return this.arrivalDate + "&" + this.cardNo;
        }
    }