package org.dromara.domain.proprietorCar.bo;

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

/**
 * 业主车辆管理业务对象 proprietor_car
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ProprietorCar.class, reverseConvertGenerate = false)
public class ProprietorCarBo extends BaseEntity {

    /**
     * 业主车辆主键
     */
    @NotNull(message = "业主车辆主键不能为空", groups = { EditGroup.class })
    private Long carId;

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

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

    /**
     * 居住人员表id
     */
    private Long residentId;

    /**
     * 业主id
     */
    private Long userId;

    /**
     * 业主姓名
     */
    private String userName;

    /**
     * 业主手机号
     */
    private String residentPhone;

    /**
     * 车牌号码
     */
    @NotBlank(message = "车牌号码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String plateNumber;

    /**
     * 车辆车型 （大众汽车牌SVW6474DFD）
     */
    private String vehicleBrand;

    /**
     * 车辆类型 （小型普通客车）
     */
    private String vehicleType;

    /**
     * 车辆能源类型 燃油 新能源
     */
    private String vehicleEnergy;

    /**
     * 车辆颜色
     */
    private String vehicleColour;

    /**
     * 发动机编号
     */
    private String engineNumber;

    /**
     * 车辆识别代号
     */
    private String identificationNumber;

    /**
     * 注册日期
     */
    private String registrationDate;

    /**
     * 发证日期
     */
    private String issueDate;

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


}
