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

import com.baomidou.mybatisplus.annotation.TableName;
import com.thinkunion.park.service.common.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

@Data
@TableName("pmg_bat_park_car")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "车辆信息对象", description = "车辆信息表")
public class PmgBatParkCar extends BasicEntity {
    /**
     * 车牌号码
     */
    @ApiModelProperty(value = "车牌号码")
    private String plateNo;
    /**
     * 车场id
     */
    @ApiModelProperty(name = "parkingId",value = "车场id")
    private Long parkingId;
    /**
     * 车主姓名
     */
    @ApiModelProperty(value = "车主姓名")
    private String personName;

    /**
     * 车主所属企业ID
     */
    @ApiModelProperty(value = "车主所属企业ID")
    private Long ownerCompanyId;

    /**
     * 车主电话
     */
    @ApiModelProperty(value = "车主电话")
    private String personPhone;
    /**
     * 车牌类型
     */
    @ApiModelProperty(value = "车牌类型")
    private String plateType;
    /**
     * 车牌颜色
     */
    @ApiModelProperty(value = "车牌颜色")
    private String plateColor;
    /**
     * 车辆类型
     */
    @ApiModelProperty(value = "车辆类型")
    private String vehicleType;
    /**
     * 车辆收费类型（1：月卡车、2：错时车、3：内部车、4：产权车、5：临时车）
     */
    @ApiModelProperty(value = "车辆收费类型（1：月卡车、2：错时车、3：内部车、4：产权车、5：临时车）")
    private Integer vehicleFeeType;

    /**
     * 能源类型
     */
    @ApiModelProperty(value = "能源类型（0：其他类型、1：汽油车、2：新能源）")
    private String energyType;
    /**
     * 车辆颜色
     */
    @ApiModelProperty(value = "车辆颜色")
    private String vehicleColor;
    /**
     * 车辆描述
     */
    @ApiModelProperty(value = "车辆描述")
    private String description;

    /**
     * 车辆内部类型
     */
    @ApiModelProperty(value = "车辆内部类型")
    private String code;

    /**
     * 参数和返回公用
     * 固定车类别：地面停车场-vip,地下停车场-vip(以逗号隔开)
     */
//    @ApiModelProperty(value = "固定车类别")
//    @TableField(exist = false)
//    private String groupClass;

    /**
     * 参数和返回公用
     * 是否为月卡车
     */
//    @ApiModelProperty(value = "是否为月卡车")
//    @TableField(exist = false)
//    private Integer isMonthCar;
//
//    @ApiModelProperty(value = "是否是固定车")
//    @TableField(exist = false)
//    private Integer isFixed;

    @ApiModelProperty(value = "有效开始时间")
    private Date validStartTime;

    @ApiModelProperty(value = "有效结束时间")
    private Date validEndTime;

    @ApiModelProperty(value = "车位号")
    private String placeNo;

    @ApiModelProperty(value = "车位id")
    private Long placeId;

    @ApiModelProperty(value = "车辆信息来源（1：后台创建，2 系统导入, 3：系统同步（月卡，错时，固定车），")
    private Integer sourceType;

    @ApiModelProperty(value = "是否免费")
    private Boolean isFree;
    @ApiModelProperty(value = "收费标准id")
    private Long feeStandardId;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "车辆品牌")
    private String vehicleBrand;
    @ApiModelProperty(value = "车辆设备号")
    private String vehicleIdentificationNumber;
    @ApiModelProperty(value = "行驶证号")
    private String vehicleRegistrationNumber;
    @ApiModelProperty(value = "主品牌,为子品牌时赋值，为主品牌时为0")
    private String parentPlateNo;
    @ApiModelProperty(value = "是否一卡多车,true为父，false为子")
    private Boolean hasChildren;

    @ApiModelProperty(value = "月卡开始时间")
    private Date cardStartTime;

    @ApiModelProperty(value = "月卡结束时间")
    private Date cardEndTime;
    @ApiModelProperty(value = "是否长期有效")
    private Boolean  longTimeValid;
    @ApiModelProperty(value = "未缴费，按缴费时间")
    private Boolean  isPayment;
}
