# RqCompRoomForm.java

    package cloud.wconnect.frontoffice.entity.comproom;

    import com.baomidou.mybatisplus.annotation.*;

    import java.io.Serializable;

    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import lombok.experimental.Accessors;

    /**
     * <p>
     *
     * </p>
     *
     * @author lichen
     * @since 2023-03-28
     */
    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @TableName("rq_comp_room_form_v2")
    public class RqCompRoomForm implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * comp room form
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
         * 资产id
         */
        private Integer propertyId;

        /**
         * 来宾姓名或公司名
         */
        private String guestName;

        /**
         * 入住日期 (年月日)
         */
        private Long checkInDate;

        /**
         * 退房日期 (年月日)
         */
        private Long checkOutDate;

        /**
         * 房间号,多个逗号分隔
         */
        private String roomNumber;

        /**
         * 房间类型
         */
        private String roomType;

        /**
         * 确认信息 [“确认信息1”,“确认信息2”]
         */
        private String confirmation;

        /**
         * 成年人数
         */
        private Integer adultsNumber;

        /**
         * 儿童人数
         */
        private Integer childrenNumber;

        /**
         * 附件
         */
        private String attachement;

        /**
         * 审批状态 1：pending 待送审 2:Approvaing 审核中 3: Approved 审核结束 4:rejected 审核驳回
         */
        private Integer approveStatus;

        /**
         * 当前审批层级索引
         */
        private Integer approveIndex;

        /**
         * 当前审批批次id
         */
        private Long batchId;

        /**
         * 备注 json数组：["备注1","备注2"]
         */
        private String comments;

        /**
         * 创建人
         */
        private Integer createdBy;

        /**
         * 创建时间
         */
        private Long createdTime;

        /**
         * 更新人
         */
        private Integer updatedBy;

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

        /**
         * 关联的报告数据id,多个逗号分隔。报告表：comp_room_complimentary
         */
        private String relIds;

        /**
         * 房间数
         */
        private Integer numberOfRooms;

        /**
         * 是否关联报告的数据 1：是 0：否
         */
        private Boolean isRel;

        /**
         * 客人类型
         */
        private Integer guestType;

        /**
         * 是否归档
         */
        private Boolean isArchive;

        /**
         * guestName,checkInDate生成唯一的key
         *
         * @return java.lang.String
         * @author lichen
         * @date 2024/1/4
         */
        public String generateKeyByCheckInDateAndGuestName(){
            return String.join("_",this.guestName,this.checkInDate.toString());
        }

    }