package com.yunzhi.marketing.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 认筹表
 * </p>
 *
 * @author jobob
 * @since 2020-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TaRaise implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 认筹id
     */
    @TableId(value = "raise_id", type = IdType.AUTO)
    private Integer raiseId;

    /**
     * 公司id
     */
    private Integer orgId;

    /**
     * 销售批次id
     */
    private Integer salesBatchId;

    /**
     * 项目id
     */
    private String buildingId;

    /**
     * 认筹开始时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime raiseStartTime;

    /**
     * 认筹结束时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime raiseEndTime;

    /**
     * 锁房方式 auto自动锁房，manual手动锁房
     */
    private String houseLockingType;

    /**
     * 认筹金额 单位是分！
     */
    private Integer raisePrice;

    /**
     * 认筹是否预选
     */
    private Boolean needPreselection;

    /**
     * 是否展示房源价格
     */
    private Boolean displayHousePrice;

    /**
     * 缴费方式 onLine线上offLine线下
     */
    private String payType;

    /**
     * 线上缴费说明
     */
    private String payDescriptionOnline;

    /**
     * 线下缴费说明
     */
    private String payDescriptionOffline;

    /**
     * 认筹单注意事项
     */
    private String raisePrecautions;

    /**
     * 线上选房协议
     */
    private String payProtocol;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 楼盘名
     */
    @TableField(exist = false)
    private String buildingName;

    /**
     * 销售批次名
     */
    @TableField(exist = false)
    private String salesBatchName;

    /**
     * 二维码
     */
    @TableField(exist = false)
    private String qrCode;

    /**
     * 认筹实际热度
     */
    @TableField(exist = false)
    private Integer raiseRealHeat;

    /**
     * 销售批次备注
     */
    @TableField(exist = false)
    private String remark;

    @TableField(exist = false)
    private List<String> checkValue;

    /**
     * 出售房源数
     */
    @TableField(exist = false)
    private Integer salesNumber;

    /**
     * 个人认筹单
     */
    @TableField(exist = false)
    private TaRaiseRecord record;

    /**
     * 销售批次状态
     */
    @TableField(exist = false)
    private Integer salesBatchStatus;

    /**
     * 是否邀请制 1是 0否
     */
    private Integer invite;

    /**
     * 被邀请电话号码
     */
    @TableField(exist = false)
    private String inviteTel;
}
