package com.yuchen.saas.parking.api.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.Date;

/**
 * <p>
 * 停车场-内部车辆数据表
 * </p>
 *
 * @author linyb
 * @since 2024-07-31
 */

@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName("pmg_bat_parking_internal_car")
@ApiModel(value="PmgBatParkingInternalCar对象", description="停车场-内部车辆数据表")
public class PmgBatParkingInternalCar extends TenantEntity {

    /**
     * 园区ID
     */
    @ApiModelProperty(name = "parkId", value = "园区ID")
    private Long parkId;

    /**
     * 移动端用户ID
     */
    @ApiModelProperty(name = "payUserId", value = "移动端用户ID")
    private String payUserId;

    /**
     * 停车场ID
     */
    @ApiModelProperty(name = "parkingId", value = "停车场ID")
    private Long parkingId;

    /**
     * 车牌号
     */
    @ApiModelProperty(name = "plateNo", value = "车牌号")
    private String plateNo;

    /**
     * 车主姓名
     */
    @ApiModelProperty(name = "personName", value = "车主姓名")
    private String personName;

    /**
     * 手机号
     */
    @ApiModelProperty(name = "personPhone", value = "手机号")
    private String personPhone;

    /**
     * 车辆类型（0：其他车、1：小型车、2：大型车、3：摩托车）
     */
    @ApiModelProperty(name = "vehicleType", value = "车辆类型（0：其他车、1：小型车、2：大型车、3：摩托车）")
    private Integer vehicleType;

    /**
     * 能源类型（0：其他类型、1：汽油车、2：新能源）
     */
    @ApiModelProperty(name = "energyType", value = "能源类型（0：其他类型、1：汽油车、2：新能源）")
    private Integer energyType;

    /**
     * 进入理由
     */
    @ApiModelProperty(name = "reason", value = "进入理由")
    private String reason;

    /**
     * 是否永久有效（0：否，1：是）
     */
    @ApiModelProperty(name = "permanentlyValid", value = "是否永久有效（0：否，1：是）")
    private Integer permanentlyValid;

    /**
     * 审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝））
     */
    @ApiModelProperty(name = "reviewState", value = "审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝）")
    private Integer reviewState;

    /**
     * 车辆状态（0 关闭 1 开启）
     */
    @ApiModelProperty(name = "carState", value = "车辆状态（0 关闭 1 开启）")
    private Integer carState;

    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;

    /**
     * 包期规则ID
     */
    @ApiModelProperty(name = "ruleId", value = "包期规则ID")
    private Long ruleId;

    /**
     * 包租 开始时间 
     */
    @ApiModelProperty(name = "beginTime", value = "包租 开始时间 ")
    private Date beginTime;

    /**
     * 包租 结束时间
     */
    @ApiModelProperty(name = "endTime", value = "包租 结束时间")
    private Date endTime;

    /**
     * 免费状态 0 免费 1 不免费
     */
    @ApiModelProperty(name = "freeState", value = "免费状态 0 免费 1 不免费")
    private Integer freeState;

    /**
     * 企业ID
     */
    @ApiModelProperty(name = "companyId", value = "企业ID")
    private Long companyId;

    /**
     * 为车辆分配的车位号
     */
    @ApiModelProperty(name = "placeNo", value = "为车辆分配的车位号")
    private String placeNo;

    /**
     * 申请来源0系统1用户（旧数据需要进行数据改动，否则默认系统）
     */
    @ApiModelProperty(name = "applySource", value = "申请来源0系统1用户（旧数据需要进行数据改动，否则默认系统）")
    private Integer applySource;

    /**
     * 是否固定车位号:0否,1是
     */
    @ApiModelProperty(name = "isConstSpaceNo", value = "是否固定车位号:0否,1是")
    private Integer isConstSpaceNo;

    /**
     * c端用户手机号
     */
    @ApiModelProperty(name = "createPhone", value = "c端用户手机号")
    private String createPhone;

    /**
     * 车位ID
     */
    @ApiModelProperty(name = "placeId", value = "车位ID")
    private Long placeId;

    /**
     * 车辆品牌
     */
    @ApiModelProperty(name = "carBrand", value = "车辆品牌")
    private String carBrand;

    /**
     * 车辆设备号
     */
    @ApiModelProperty(name = "carDeviceNo", value = "车辆设备号")
    private String carDeviceNo;

    /**
     * 车辆颜色
     */
    @ApiModelProperty(name = "carColor", value = "车辆颜色")
    private String carColor;

    /**
     * 行驶证号码
     */
    @ApiModelProperty(name = "vehicleLicenseNumber", value = "行驶证号码")
    private String vehicleLicenseNumber;

    public Long getParkId() {
        return parkId;
    }

    public void setParkId(Long parkId) {
        this.parkId = parkId;
    }

    public String getPayUserId() {
        return payUserId;
    }

    public void setPayUserId(String payUserId) {
        this.payUserId = payUserId;
    }

    public Long getParkingId() {
        return parkingId;
    }

    public void setParkingId(Long parkingId) {
        this.parkingId = parkingId;
    }

    public String getPlateNo() {
        return plateNo;
    }

    public void setPlateNo(String plateNo) {
        this.plateNo = plateNo;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

    public String getPersonPhone() {
        return personPhone;
    }

    public void setPersonPhone(String personPhone) {
        this.personPhone = personPhone;
    }

    public Integer getVehicleType() {
        return vehicleType;
    }

    public void setVehicleType(Integer vehicleType) {
        this.vehicleType = vehicleType;
    }

    public Integer getEnergyType() {
        return energyType;
    }

    public void setEnergyType(Integer energyType) {
        this.energyType = energyType;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Integer getPermanentlyValid() {
        return permanentlyValid;
    }

    public void setPermanentlyValid(Integer permanentlyValid) {
        this.permanentlyValid = permanentlyValid;
    }

    public Integer getReviewState() {
        return reviewState;
    }

    public void setReviewState(Integer reviewState) {
        this.reviewState = reviewState;
    }

    public Integer getCarState() {
        return carState;
    }

    public void setCarState(Integer carState) {
        this.carState = carState;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getRuleId() {
        return ruleId;
    }

    public void setRuleId(Long ruleId) {
        this.ruleId = ruleId;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getFreeState() {
        return freeState;
    }

    public void setFreeState(Integer freeState) {
        this.freeState = freeState;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public String getPlaceNo() {
        return placeNo;
    }

    public void setPlaceNo(String placeNo) {
        this.placeNo = placeNo;
    }

    public Integer getApplySource() {
        return applySource;
    }

    public void setApplySource(Integer applySource) {
        this.applySource = applySource;
    }

    public Integer getIsConstSpaceNo() {
        return isConstSpaceNo;
    }

    public void setIsConstSpaceNo(Integer isConstSpaceNo) {
        this.isConstSpaceNo = isConstSpaceNo;
    }

    public String getCreatePhone() {
        return createPhone;
    }

    public void setCreatePhone(String createPhone) {
        this.createPhone = createPhone;
    }

    public Long getPlaceId() {
        return placeId;
    }

    public void setPlaceId(Long placeId) {
        this.placeId = placeId;
    }

    public String getCarBrand() {
        return carBrand;
    }

    public void setCarBrand(String carBrand) {
        this.carBrand = carBrand;
    }

    public String getCarDeviceNo() {
        return carDeviceNo;
    }

    public void setCarDeviceNo(String carDeviceNo) {
        this.carDeviceNo = carDeviceNo;
    }

    public String getCarColor() {
        return carColor;
    }

    public void setCarColor(String carColor) {
        this.carColor = carColor;
    }

    public String getVehicleLicenseNumber() {
        return vehicleLicenseNumber;
    }

    public void setVehicleLicenseNumber(String vehicleLicenseNumber) {
        this.vehicleLicenseNumber = vehicleLicenseNumber;
    }
}
