package com.propertyManagement.business.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
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_carport
 *
 * @author liushuai
 * @date 2025-05-26
 */
@Data
@ExcelIgnoreUnannotated
public class WxCarportVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long carportId;

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

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

    /**
     * 业主ID
     */
    private Long proprietorId;

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

    /**
     * 业主电话
     */
    private String proprietorPhone;

    /**
     * 业主户号
     */
    @ExcelProperty(value = "业主户号")
    private String room;

    /**
     * 登记车牌
     */
    @ExcelProperty(value = "登记车牌")
    private String plateNumber;

    /**
     * 车型
     */
    @ExcelProperty(value = "车型")
    private String vehicleModel;

    /**
     * 车主电话
     */
    @ExcelProperty(value = "车主电话")
    private String carportPhone;

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

    /**
     * 月费（元）
     */
    @ExcelProperty(value = "月费(元)")
    private BigDecimal monthMoney;

    /**
     * 车位类型
     */
    @ExcelProperty(value = "车位类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "wx_carport_type")
    private Integer type;

    /**
     * 缴费日期
     */
    @ExcelProperty(value = "缴费日期")
    private Date startTime;

    /**
     * 到期日期
     */
    @ExcelProperty(value = "到期日期")
    private Date endTime;

}
