/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.estate.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 车辆信息实体类
 *
 * @author BladeX
 * @since 2021-03-30
 */
@Data
@TableName("estate_car")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Car对象", description = "车辆信息")
public class Car extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 车牌号
	 */
	@ApiModelProperty(value = "车牌号")
	private String number;
	/**
	 * 车辆类型
	 */
	@ApiModelProperty(value = "车辆类型")
	private Integer type;
	/**
	 * 车辆性质(货运、客运、营运、非运营,出租)
	 */
	@ApiModelProperty(value = "车辆性质(货运、客运、营运、非运营,出租)")
	private Integer properties;
	/**
	 * 车辆型号
	 */
	@ApiModelProperty(value = "车辆型号")
	private String model;
	/**
	 * 燃油类别
	 */
	@ApiModelProperty(value = "燃油类别")
	private String fuelCategory;
	/**
	 * 车身颜色
	 */
	@ApiModelProperty(value = "车身颜色")
	private String color;
	/**
	 * 车主姓名
	 */
	@ApiModelProperty(value = "车主姓名")
	private String personName;
	/**
	 * 车主电话
	 */
	@ApiModelProperty(value = "车主电话")
	private String personPhone;
	/**
	 * 园区ID
	 */
	@ApiModelProperty(value = "园区ID")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long agencyId;

	/**
	 * 园区名称
	 */
	@ApiModelProperty(value = "园区名称")
	private String agencyName;
	/**
	 * 小区id
	 */
	@ApiModelProperty(value = "小区id")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long residentialId;
	/**
	 * 小区名称
	 */
	@ApiModelProperty(value = "小区名称")
	private String residentialName;
	/**
	 * 车辆照片
	 */
	@ApiModelProperty(value = "车辆照片")
	private String carImg;
	/**
	 * 企业id
	 */
	@ApiModelProperty(value = "企业id")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long enterpriseId;

	/**
	 * 企业名称
	 */
	@ApiModelProperty(value = "企业名称")
	private String enterpriseName;
	/**
	 * 机构路径
	 */
	@ApiModelProperty(value = "机构路径")
	private String orgPosition;
	/**
	 * 车主id:若为园区租户则为住户id，若为园区租户则为员工id
	 */
	@ApiModelProperty(value = "车主id:若为园区租户则为住户id，若为园区租户则为员工id")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long personId;
	/**
	 * 所属停车场id
	 */
	@ApiModelProperty(value = "所属停车场id")
	@JsonSerialize(using = ToStringSerializer.class)
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	private Long parkingLotId;
	/**
	 * 行驶证正面图片地址
	 */
	@ApiModelProperty(value = "行驶证正面图片地址")
	private String vehicleDrivingLicense1;
	/**
	 * 审核状态：-1 审核不通过  0-待审核 1-审核通过
	 */
	@ApiModelProperty(value = "审核状态：-1 审核不通过  0-待审核 1-审核通过")
	private Integer auditStatus;
	/**
	 * 审核意见
	 */
	@ApiModelProperty(value = "审核意见")
	private String auditOpinion;
	/**
	 * 行驶证背面图片地址
	 */
	@ApiModelProperty(value = "行驶证背面图片地址")
	private String vehicleDrivingLicense2;

	/**
	 * 租户id
	 */
	@ApiModelProperty(value = "租户id")
	private String tenantId;

	/**
	 * 租户类型 0 社区 1 园区
	 */
	@ApiModelProperty(value = "租户类型")
	private String tenantType;

	@ApiModelProperty(value = "车主身份证号")
	private String userIdCard;

}
