package com.ics.admin.domain.meeting;

import com.baomidou.mybatisplus.annotation.IEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ics.admin.domain.BannerImage;
import com.ics.admin.handler.BannerImageHandler;
import com.ics.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 房间主体内容对象 tb_room_content
 * 
 * @author ics
 * @date 2024-02-22
 */
@Data
@TableName("tb_room_content")
public class RoomContent extends BaseEntity<RoomContent> {
    private static final long serialVersionUID = 1L;


    /** 类型（会议室、办公室、茶室、路演厅） */
    private Integer type;

    /** 名称 */
    private String meetingName;

    /** 容纳人数 */
    private String capacityNum;

    /** 扩充人数 */
    private String expandNum;

    /** 室内图片url */
    private String indoorPicUrl;

//    @TableField(typeHandler = BannerImageHandler.class)
//    private List<BannerImage> bannerImages = new ArrayList<>();

    /** 地址 */
    private String address;

    @TableField(exist = false)
    private Long equipmentId;

    /** 开始时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /** 时长 */
    private Integer duration;


    /** 形状（U型，O型） */
    private String shape;

    /** 金额 */
    private String money;

    /** 是否展示 */
    private Integer isShow;

    /** 负责人姓名 */
    private String headName;

    /** 负责人手机号 */
    private String headPhone;

    /** 房间id */
    private Long roomId;

    @TableField(exist = false)
    private List<Long> roomIds;

    /** 是否收费 */
    private Long isToll;

    /** 是否使用优惠卷 */
    private Long isTicket;

    /** 会议描述 */
    private String content;

    private String remake;

    private Long parkId;

    private Long tenantId;



    @TableField(exist = false)
    private Long customerId;


    @TableField(exist = false)
    private String typeName;

    @TableField(exist = false)
    private Integer typeValue;


    @TableField(exist = false)
    private List<RoomItem> roomItemList;

    @TableField(exist = false)
    private String roomName;

    @TableField(exist = false)
    private String buildingName;

    @TableField(exist = false)
    private String build;

    @TableField(exist = false)
    private Long buildingId;

    @TableField(exist = false)
    private Long buildId;

    @TableField(exist = false)
    private List<RoomServe> roomServeList;

    @TableField(exist = false)
    private BigDecimal area;

    @TableField(exist = false)
    private BigDecimal renArea;

    @TableField(exist = false)
    private Integer itemCount;

    @TableField(exist = false)
    private Integer serveCount;


}
