package com.fdkanfang.domain.backend;

import com.fdkanfang.common.model.BaseModel;
import lombok.Data;
import org.hibernate.annotations.Where;

import javax.persistence.*;
import java.io.Serializable;
import java.util.List;

/**
 * 房源信息
 */
@Data
@Entity
@Table(name = "tb_house")
@Where(clause = "rec_status='0'")
public class HouseEntity extends BaseModel implements Serializable {

    private static final long serialVersionUID = -5191918184688236778L;

    /**
     * 房源编号
     * 从10000开始
     */
    @Column
    private Integer num;

    // 小区名称
    @Column(length = 200)
    private String districtName;

    // 地址
    @Column(length = 200)
    private String address;

    // 户型 三房两厅一位（3-2-1）
    @Column(length = 200)
    private String unitType;

    // 面积
    @Column(length = 200)
    private String area;

    // 楼层 ：一共有多少层
    @Column(length = 3)
    private int floor;


    /**
     * 朝向
     *
     * E: 东
     * W: 西
     * S: 南
     * N: 北
     *
     * ES: 东南
     * EN: 东北
     * WS: 西南
     * WN: 西北
     */
    @Column(length = 50)
    private String orientation;

    /**
     * 状态
     * 0: 初始状态
     * 1：垂直校验完成
     * 2：垂直校验计算失败
     * 3：模型计算中
     * 4：模型计算完成
     * 5：模型计算失败
     */
    @Column(length = 2)
    private Integer status;

    // 制作要求
    @Column
    private String requirement;

    // 操作者
    @Column(length = 50)
    private Long handler;

    // 上传人id
    @Column
    private Long userId;

    // 审核描述
    private String auditDesc;

    @Transient
    private List<ImageEntity>  images;

    // 调用垂直校验需要使用
    private String sceneJson;

    // 最新的sceneJson
    private String newSceneJson;

    // 场景码
    private String sceneCode;

    // 编辑场景url
    private String webSite;

    // 服务器文件位置
    private String filePath;

    // 预审结果： 1 通过 0 未通过
    private Integer auditResult;

    // 无法制作： 1 可以制作（默认） 0 不能制作
    private Integer canNotEdit;

    // 无法制作的原因描述
    private String canNotEditDesc;
    //楼层照片json数组
    private String floorData;


}
