package com.yuchen.saas.park.api.entity.park;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yuchen.saas.park.api.entity.property.PropertyBuildings;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.Date;
import java.util.List;

/**
 * 园区基本信息
 *
 * @author 黄辉
 * @version 1.0
 * @date 2021-04-26 14:38:35
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "园区基本信息", description = "园区基本信息")
@TableName("pmg_bat_park_info")
public class PmgBatParkInfo extends TenantEntity {
    /**
     * 园区名称
     */
    @ApiModelProperty(name = "parkName", value = "园区名称")
    private String parkName;
    /**
     * 园区地理位置
     */
    @ApiModelProperty(name = "parkGeographicalLocation", value = "园区地理位置")
    private String parkGeographicalLocation;
    /**
     * 园区负责人
     */
    @ApiModelProperty(name = "parkFunctionary", value = "园区负责人")
    private String parkFunctionary;
    /**
     * 联系人电话
     */
    @ApiModelProperty(name = "phone", value = "联系人电话")
    private String phone;
    /**
     * 园区成立时间
     */
    @ApiModelProperty(name = "foundingTime", value = "园区成立时间")
    private Date foundingTime;
    /**
     * 园区占地面积 单位 平方米
     */
    @ApiModelProperty(name = "area", value = "园区占地面积 单位 平方米")
    private Double area;
    /**
     * 建筑面积 单位 平方米
     */
    @ApiModelProperty(name = "constructionArea", value = "建筑面积 单位 平方米")
    private Double constructionArea;
    /**
     * 地上面积 单位 平方米
     */
    @ApiModelProperty(name = "abovegroundArea", value = "地上面积 单位 平方米")
    private Double abovegroundArea;
    /**
     * 地下面积 单位 平方米
     */
    @ApiModelProperty(name = "undergroundArea", value = "地下面积 单位 平方米")
    private Double undergroundArea;
    /**
     * 容积率
     */
    @ApiModelProperty(name = "volumeRate", value = "容积率")
    private Double volumeRate;
    /**
     * 绿化率  单位 百分比
     */
    @ApiModelProperty(name = "greeningRate", value = "绿化率  单位 百分比")
    private Double greeningRate;
    /**
     * 楼宇数量
     */
    @ApiModelProperty(name = "buildingNumber", value = "楼宇数量")
    private Long buildingNumber;
    /**
     * 入住企业数量
     */
    @ApiModelProperty(name = "inenterprise", value = "入住企业数量")
    private Long inenterprise;
    /**
     * 空置房间数
     */
    @ApiModelProperty(name = "numberVacantRooms", value = "空置房间数")
    private Long numberVacantRooms;
    /**
     * 车位数量
     */
    @ApiModelProperty(name = "numberParking", value = "车位数量")
    private Long numberParking;
    /**
     * 园区平面图
     */
    @ApiModelProperty(name = "parkPlan", value = "园区平面图")
    private String parkPlan;
    /**
     * 地理坐标X
     */
    @ApiModelProperty(name = "coordX", value = "地理坐标X")
    private Double coordX;
    /**
     * 地理坐标Y
     */
    @ApiModelProperty(name = "coordY", value = "地理坐标Y")
    private Double coordY;
    /**
     * 备注信息
     */
    @ApiModelProperty(name = "remark", value = "备注信息")
    private String remark;


    @ApiModelProperty(name = "decimalRate", value = "置空率")
    private Double emptyRate;

    @ApiModelProperty(name = "sMark", value = "主场景唯一标识")
    private String sMark;

    @ApiModelProperty(name = "operator", value = "运营商id（nest_customer_manage表主键）")
    private Long operator;
    @ApiModelProperty(name = "operatorName", value = "运营商名")
    private String operatorName;
    @ApiModelProperty(name = "orgType", value = "机构类型 1:单位；2：企业；3：个体户；4：个人；5：其他")
    private Integer orgType;

    @ApiModelProperty(name = "orgType", value = "机构类型 1:单位；2：企业；3：个体户；4：个人；5：其他")
    private Integer operateStatus;
    @ApiModelProperty(name = "servicePhone", value = "服务电话")
    private String servicePhone;
    @ApiModelProperty(name = "areaCode", value = "园区省市区code")
    private String areaCode;
    @ApiModelProperty(name = "areaName", value = "园区省市区名")
    private String areaName;

    @ApiModelProperty(name = "parkType", value = "园区（项目）类型 1：社区 2：园区 3：场站 4：酒店 5：商业楼，6：公寓楼")
    private Integer parkType;

    @ApiModelProperty(name = "buildingManagePhoto", value = "楼宇管理")
    private String buildingManagePhoto;
    @ApiModelProperty(name = "park3dPhoto", value = "园区3D图")
    private String park3dPhoto;
    @ApiModelProperty(name = "park2dPhoto", value = "园区2D鸟瞰图")
    private String park2dPhoto;
    @ApiModelProperty(name = "parkColor", value = "楼宇颜色")
    private String parkColor;

    @ApiModelProperty(name = "verifyState", value = "确认状态（0：未确认，1：已确认）")
    private String verifyState;

    @ApiModelProperty(name = "publishType", value = "发布类型（1：统一平台，2：客户专用）")
    private String publishType;

    @ApiModelProperty(name = "collectFeeModel", value = "收费模式（1：平台代收，定期结算，2：客户直收，自动分层, 3:免费模式）")
    private String collectFeeModel;

    @ApiModelProperty(name = "invoiceModel", value = "开票模式（1：平台开票，2：客户开票）")
    private String invoiceModel;

    @ApiModelProperty(name = "parkingNum", value = "停车场数量")
    private Integer parkingNum;

    @ApiModelProperty(name = "parkingChargeNum", value = "新能源充电站数量")
    private Integer parkingChargeNum;

    @ApiModelProperty(name = "projectTagId", value = "项目标签id")
    private Long projectTagId;

    @ApiModelProperty(name = "projectPhase", value = "项目阶段（1：新房出售，2：交付阶段，3：入住阶段）")
    private String projectPhase;

    @ApiModelProperty(name = "projectCode", value = "项目编号")
    private String projectCode;

    @TableField(exist = false)
    @ApiModelProperty(name = "buildings", value = "建筑列表")
    private List<PropertyBuildings> buildings;

    @TableField(exist = false)
    @ApiModelProperty(name = "publishApplyIdList", value = "发布平台ID列表")
    private List<Long> publishApplyIdList;

    @TableField(exist = false)
    @ApiModelProperty(name = "collectFeeConfig", value = "收费配置")
    private Boolean collectFeeConfig = false;



}
