package com.propertyManagement.business.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.propertyManagement.common.annotation.ExcelDictFormat;
import com.propertyManagement.common.convert.ExcelDictConvert;
import lombok.Data;

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

/**
 * 小区业主台账信息视图对象 wx_proprietor_ledger
 *
 * @author liushuai
 * @date 2025-05-15
 */
@Data
@ExcelIgnoreUnannotated
public class WxProprietorLedgerVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long proprietorId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 小区主键
     */
    private Long communityId;

    /**
     * 小区名称
     */
    private String communityName;

    /**
     * 业主姓名
     */
    @ExcelProperty(value = "业主姓名")
    private String name;

    /**
     * 联系电话（多个以,分割）
     */
    @ExcelProperty(value = "联系电话多个以,分割")
    private String phone;

    /**
     * 房间户型
     */
    @ExcelProperty(value = "房间户型")
    private String houseType;

    /**
     * 房间号
     */
    @ExcelProperty(value = "房间号")
    private String room;

    /**
     * 房间面积（㎡）
     */
    @ExcelProperty(value = "房间面积㎡")
    private BigDecimal sqm;

    /**
     * 面积单价（元）
     */
    @ExcelProperty(value = "物业费用面积单价（元）")
    private BigDecimal sqmPrice;

    /**
     * 物业月费
     */
    @ExcelProperty(value = "物业月费")
    private BigDecimal monthMoney;

    /**
     * 物业年费
     */
    @ExcelProperty(value = "物业年费")
    private BigDecimal yearMoney;

    /**
     * 出生日期
     */
    private Date birthDate;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    @ColumnWidth(15)
    private String identityCard;

    /**
     * 户籍地
     */
    @ExcelProperty(value = "户籍地")
    @ColumnWidth(20)
    private String registerAddress;

    /**
     * 现居地址
     */
    private String presentAddress;

    /**
     * 水费预存余额
     */
    @ExcelProperty(value = "水费预存余额")
    private BigDecimal waterPrepaidMoney;

    /**
     * 电费预存余额
     */
    @ExcelProperty(value = "电费预存余额")
    private BigDecimal electricityPrepaidMoney;

    /**
     * 物业预存余额
     */
    @ExcelProperty(value = "物业预存余额")
    private BigDecimal propertyPrepaidMoney;

    /**
     * 车位管理预存余额
     */
    @ExcelProperty(value = "车位管理预存余额")
    private BigDecimal carportManagePrestoreMoney;

    /**
     * 车位租赁预存余额
     */
    @ExcelProperty(value = "车位租赁预存余额")
    private BigDecimal carportLeasePrestoreMoney;

    /**
     * 储藏室租赁预存金额
     */
    @ExcelProperty(value = "储藏室租赁预存金额")
    private BigDecimal storeroomLeasePrestoreMoney;

    /**
     * 其他项目预存金额
     */
    @ExcelProperty(value = "其他项目预存金额")
    private BigDecimal otherPrestoreMoney;

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


}
