package org.dromara.domain.houseInfo.bo;


import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.domain.houseInfo.PropertyFee;

import java.math.BigDecimal;

/**
 * 物业费管理业务对象 property_fee
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PropertyFee.class, reverseConvertGenerate = false)
public class PropertyFeeBo extends BaseEntity {

    /**
     * 物业费信息主键
     */
    @NotNull(message = "物业费信息主键不能为空", groups = { EditGroup.class })
    private Long propertyId;

    /**
     * 房屋信息主键id
     */
    private Long houseId;

    /**
     * 权利人姓名
     */
    private String ownerName;

    /**
     * 房屋坐落位置
     */
    private String location;

    /**
     * 房屋面积，单位为平方米
     */
    private Long area;

    /**
     * 不动产单元号，唯一标识不动产单元
     */
    private String propertyUnitNumber;

    /**
     * 房屋的详细门牌号
     */
    private String detailedAddress;

    /**
     * 是否有车位，Y表示有，N表示无
     */
    private String hasParkingSpace;

    /**
     * 车位编号
     */
    private String parkingNumber;

    /**
     * 房屋所在小区名称
     */
    private String communityName;

    /**
     * 物业费缴费年份
     */
    private String year;

    /**
     * 业主缴费时间
     */
    private String time;

    /**
     * 应缴物业费用
     */
    private BigDecimal tenementExpense;

    /**
     * 应缴车位费用
     */
    private BigDecimal parkingExpense;

    /**
     * 应缴能耗费用
     */
    private BigDecimal energyExpense;

    /**
     * 应缴总费用
     */
    private BigDecimal totalExpense;

    /**
     * 是否缴费，Y表示有，N表示无
     */
    private String isExpense;

    /**
     * 备注
     */
    private String remark;


}
