package org.dromara.domain.houseInfo.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.domain.houseInfo.HouseInfo;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 房屋信息视图对象 house_info
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HouseInfo.class)
public class HouseInfoVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 房屋信息主键，唯一标识每条房屋信息
     */
    @ExcelProperty(value = "房屋信息主键，唯一标识每条房屋信息")
    private Long houseId;

    /**
     * 权利人姓名
     */
    @ExcelProperty(value = "权利人姓名")
    private String ownerName;

    /**
     * 房屋坐落位置
     */
    @ExcelProperty(value = "房屋坐落位置")
    private String location;

    /**
     * 权利类型，如所有权、使用权等
     */
    @ExcelProperty(value = "权利类型，如所有权、使用权等")
    private String rightType;

    /**
     * 房屋面积，单位为平方米
     */
    @ExcelProperty(value = "房屋面积，单位为平方米")
    private Long area;

    /**
     * 房屋相关的字第号
     */
    @ExcelProperty(value = "房屋相关的字第号")
    private String documentNumber;

    /**
     * 不动产单元号，唯一标识不动产单元
     */
    @ExcelProperty(value = "不动产单元号，唯一标识不动产单元")
    private String propertyUnitNumber;

    /**
     * 房屋的共有情况，如共有比例等
     */
    @ExcelProperty(value = "房屋的共有情况，如共有比例等")
    private String coOwnership;

    /**
     * 房屋用途，如住宅、商业等
     */
    @ExcelProperty(value = "房屋用途，如住宅、商业等")
    private String usageType;

    /**
     * 房屋使用期限
     */
    @ExcelProperty(value = "房屋使用期限")
    private String usagePeriod;

    /**
     * 房屋登记日期
     */
    @ExcelProperty(value = "房屋登记日期")
    private Date registrationDate;

    /**
     * 共有人姓名，多个共有人可以用逗号分隔
     */
    @ExcelProperty(value = "共有人姓名，多个共有人可以用逗号分隔")
    private String coOwner;

    /**
     * 房屋的详细门牌号
     */
    @ExcelProperty(value = "房屋的详细门牌号")
    private String detailedAddress;

    /**
     * 是否有车位，Y表示有，N表示无
     */
    @ExcelProperty(value = "是否有车位，Y表示有，N表示无")
    private String hasParkingSpace;

    /**
     * 车位编号
     */
    @ExcelProperty(value = "车位编号")
    private String parkingNumber;

    /**
     * 房屋所在小区名称
     */
    @ExcelProperty(value = "房屋所在小区名称")
    private String communityName;

    /**
     * 房屋状态：1-自住，2-空闲，3-待售空闲，4-出租
     */
    @ExcelProperty(value = "房屋状态：1-自住，2-空闲，3-待售空闲，4-出租")
    private Long houseStatus;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
