package com.hrs.model.entity;

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

/**   
* Copyright: Copyright (c) 2026 chinasofti
* 
* @ClassName: House.java
* @Description: 房源实体类
*
* @version: v1.0.0
* @author: 赵恒
* @date: 2026年4月13日 上午9:59:13 
*
* Modification History:
* Date         Author          Version            Description
*---------------------------------------------------------*
* 2026年4月13日     赵恒           v1.0.0               新建文件
*/
public class House {
    
    private Long id;                 // 主键ID
    private Long landlordId;         // 房东ID
    private String houseNo;          // 房源编号
    private String title;            // 房源标题
    private String area;             // 房源区域
    private String address;          // 详细地址
    private String houseType;        // 户型
    private BigDecimal rentPrice;    // 月租金
    private String rentType;         // 租赁类型：0-整租；1-合租
    private String facility;         // 配套设施
    private String description;      // 房源描述
    private String imgUrl;           // 房源图片路径
    private String status;           // 房源状态：0-待审核；1-已上架；2-已下架；3-违规
    private String createBy;         // 创建人
    private Date createTime;         // 创建时间
    private String updateBy;         // 更新人
    private Date updateTime;         // 更新时间
    
    // 关联字段（不存数据库，用于显示房东信息）
    private String landlordName;     // 房东姓名
    private String landlordPhone;    // 房东电话
    /**
     * 
    * @Function: House
    * @Description: 无参构造方法
    *
    * @param: 无
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:56:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public House() {
    }
    /**
     * 
    * @Function: getId
    * @Description: 获取主键ID
    *
    * @param: 无
    * @return：Long 主键ID
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:56:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    // Getter 和 Setter
    public Long getId() {
        return id;
    }
    /**
     * 
    * @Function: setId
    * @Description: 设置主键ID
    *
    * @param: id 主键ID
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:57:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setId(Long id) {
        this.id = id;
    }
    /**
     * 
    * @Function: getLandlordId
    * @Description: 获取房东ID
    *
    * @param: 无
    * @return：Long 房东ID
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:57:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public Long getLandlordId() {
        return landlordId;
    }
    /**
     * 
    * @Function: setLandlordId
    * @Description: 设置房东ID
    *
    * @param: landlordId 房东ID
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:57:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setLandlordId(Long landlordId) {
        this.landlordId = landlordId;
    }
    /**
     * 
    * @Function: getHouseNo
    * @Description: 获取房源编号
    *
    * @param: 无
    * @return：String 房源编号
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:57:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getHouseNo() {
        return houseNo;
    }
    /**
     * 
    * @Function: setHouseNo
    * @Description: 设置房源编号
    *
    * @param: houseNo 房源编号
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:58:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }
    /**
     * 
    * @Function: getTitle
    * @Description: 获取房源标题
    *
    * @param: 无
    * @return：String 房源标题
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:58:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */	    
    public String getTitle() {
        return title;
    }
    /**
     * 
    * @Function: setTitle
    * @Description: 设置房源标题
    *
    * @param: title 房源标题
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:58:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setTitle(String title) {
        this.title = title;
    }
    /**
     * 
    * @Function: getArea
    * @Description: 获取房源区域
    *
    * @param: 无
    * @return：String 房源区域
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:58:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getArea() {
        return area;
    }
    /**
     * 
    * @Function: setArea
    * @Description: 设置房源区域
    *
    * @param: area 房源区域
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:59:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setArea(String area) {
        this.area = area;
    }
    /**
     * 
    * @Function: getAddress
    * @Description: 获取详细地址
    *
    * @param: 无
    * @return：String 详细地址
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:59:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getAddress() {
        return address;
    }
    /**
     * 
    * @Function: setAddress
    * @Description: 设置详细地址
    *
    * @param: address 详细地址
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:59:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setAddress(String address) {
        this.address = address;
    }
    /**
     * 
    * @Function: getHouseType
    * @Description: 获取户型
    *
    * @param: 无
    * @return：String 户型
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午2:59:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getHouseType() {
        return houseType;
    }
    /**
     * 
    * @Function: setHouseType
    * @Description: 设置户型
    *
    * @param: houseType 户型
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:00:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */   
    public void setHouseType(String houseType) {
        this.houseType = houseType;
    }
    /**
     * 
    * @Function: getRentPrice
    * @Description: 获取月租金
    *
    * @param: 无
    * @return：BigDecimal 月租金
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:00:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public BigDecimal getRentPrice() {
        return rentPrice;
    }
    /**
     * 
    * @Function: setRentPrice
    * @Description: 设置月租金
    *
    * @param: rentPrice 月租金
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:00:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setRentPrice(BigDecimal rentPrice) {
        this.rentPrice = rentPrice;
    }
    /**
     * 
    * @Function: getRentType
    * @Description: 获取租赁类型
    *
    * @param: 无
    * @return：String 租赁类型（0-整租；1-合租）
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:00:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getRentType() {
        return rentType;
    }
    /**
     * 
    * @Function: setRentType
    * @Description: 设置租赁类型
    *
    * @param: rentType 租赁类型（0-整租；1-合租）
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:01:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setRentType(String rentType) {
        this.rentType = rentType;
    }
    /**
     * 
    * @Function: getRentTypeText
    * @Description: 获取租赁类型文本
    *
    * @param: 无
    * @return：String 租赁类型文本（整租/合租）
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:01:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getRentTypeText() {
        return "0".equals(rentType) ? "整租" : "合租";
    }
    /**
     * 
    * @Function: getFacility
    * @Description: 获取配套设施
    *
    * @param: 无
    * @return：String 配套设施
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:01:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getFacility() {
        return facility;
    }
    /**
     * 
    * @Function: setFacility
    * @Description: 设置配套设施
    *
    * @param: facility 配套设施
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:01:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setFacility(String facility) {
        this.facility = facility;
    }
    /**
     * 
    * @Function: getDescription
    * @Description: 获取房源描述
    *
    * @param: 无
    * @return：String 房源描述
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:02:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getDescription() {
        return description;
    }
    /**
     * 
    * @Function: setDescription
    * @Description: 设置房源描述
    *
    * @param: description 房源描述
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:02:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setDescription(String description) {
        this.description = description;
    }
    /**
     * 
    * @Function: getImgUrl
    * @Description: 获取房源图片路径
    *
    * @param: 无
    * @return：String 房源图片路径
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:02:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getImgUrl() {
        return imgUrl;
    }
    /**
     * 
    * @Function: getImgUrl
    * @Description: 获取房源图片路径
    *
    * @param: 无
    * @return：String 房源图片路径
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:02:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }
    /**
     * 
    * @Function: getStatus
    * @Description: 获取房源状态
    *
    * @param: 无
    * @return：String 房源状态（0-待审核；1-已上架；2-已下架；3-违规）
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:03:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getStatus() {
        return status;
    }
    /**
     * 
    * @Function: getStatus
    * @Description: 获取房源状态
    *
    * @param: 无
    * @return：String 房源状态（0-待审核；1-已上架；2-已下架；3-违规）
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:03:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */   
    public void setStatus(String status) {
        this.status = status;
    }
    /**
     * 
    * @Function: getStatusText
    * @Description: 获取房源状态文本
    *
    * @param: 无
    * @return：String 房源状态文本
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:03:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getStatusText() {
        switch (status) {
            case "0": return "待审核";
            case "1": return "已上架";
            case "2": return "已下架";
            case "3": return "违规";
            default: return "未知";
        }
    }
    /**
     * 
    * @Function: getCreateBy
    * @Description: 获取创建人
    *
    * @param: 无
    * @return：String 创建人
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:03:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getCreateBy() {
        return createBy;
    }
    /**
     * 
    * @Function: setCreateBy
    * @Description: 设置创建人
    *
    * @param: createBy 创建人
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:04:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }
    /**
     * 
    * @Function: getCreateTime
    * @Description: 获取创建时间
    *
    * @param: 无
    * @return：Date 创建时间
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:04:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public Date getCreateTime() {
        return createTime;
    }
    /**
     * 
    * @Function: setCreateTime
    * @Description: 设置创建时间
    *
    * @param: createTime 创建时间
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:04:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    /**
     * 
    * @Function: getUpdateBy
    * @Description: 获取更新人
    *
    * @param: 无
    * @return：String 更新人
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:04:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getUpdateBy() {
        return updateBy;
    }
    /**
     * 
    * @Function: setUpdateBy
    * @Description: 设置更新人
    *
    * @param: updateBy 更新人
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:05:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }
    /**
     * 
    * @Function: getUpdateTime
    * @Description: 获取更新时间
    *
    * @param: 无
    * @return：Date 更新时间
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:05:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public Date getUpdateTime() {
        return updateTime;
    }
    /**
     * 
    * @Function: setUpdateTime
    * @Description: 设置更新时间
    *
    * @param: updateTime 更新时间
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:05:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    /**
     * 
    * @Function: getLandlordName
    * @Description: 获取房东姓名
    *
    * @param: 无
    * @return：String 房东姓名
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:05:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getLandlordName() {
        return landlordName;
    }
    /**
     * 
    * @Function: setLandlordName
    * @Description: 设置房东姓名
    *
    * @param: landlordName 房东姓名
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:06:00 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setLandlordName(String landlordName) {
        this.landlordName = landlordName;
    }
    /**
     * 
    * @Function: getLandlordPhone
    * @Description: 获取房东电话
    *
    * @param: 无
    * @return：String 房东电话
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:06:15 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getLandlordPhone() {
        return landlordPhone;
    }
    /**
     * 
    * @Function: setLandlordPhone
    * @Description: 设置房东电话
    *
    * @param: landlordPhone 房东电话
    * @return：无
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:06:30 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public void setLandlordPhone(String landlordPhone) {
        this.landlordPhone = landlordPhone;
    }
    /**
     * 
    * @Function: getFirstImage
    * @Description: 获取第一张图片（用于列表展示）
    *
    * @param: 无
    * @return：String 第一张图片路径
    * @throws：无
    *
    * @version: v1.0.0
    * @author: 赵恒
    * @date: 2025年4月13日 下午3:06:45 
    *
    * Modification History:
    * Date         Author          Version            Description
    *---------------------------------------------------------*
    * 2025年4月13日     赵恒           			v1.0.0                             新建方法
     */    
    public String getFirstImage() {
        if (imgUrl != null && !imgUrl.isEmpty()) {
            String[] images = imgUrl.split(",");
            return images[0];
        }
        return null;
    }
     /**
      * 
     * @Function: toString
     * @Description: 重写toString方法
     *
     * @param: 无
     * @return：String 对象字符串表示
     * @throws：无
     *
     * @version: v1.0.0
     * @author: 赵恒
     * @date: 2025年4月13日 下午3:07:00 
     *
     * Modification History:
     * Date         Author          Version            Description
     *---------------------------------------------------------*
     * 2025年4月13日     赵恒           			v1.0.0                             新建方法
      */    
    @Override
    public String toString() {
        return "House{" +
                "id=" + id +
                ", title='" + title + '\'' +
                ", area='" + area + '\'' +
                ", rentPrice=" + rentPrice +
                ", status='" + status + '\'' +
                '}';
    }
}