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

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
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 miaoqs
 * @since 2023-07-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("vehicle_blacklist")
@ApiModel(value="VehicleBlacklist对象", description="黑名单车辆")
public class VehicleBlacklist extends TenantEntity {

    /**
     * 停车场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;
    /**
     * 违规类型(1.多次逃费；2:多次违停；3.其他原因)
     */
    @ApiModelProperty(name = "foulType", value = "违规类型(1.多次逃费；2:多次违停；3.其他原因)")
    private String foulType;
    /**
     * 其他原因
     */
    @ApiModelProperty(name = "otherReason", value = "其他原因")
    private String otherReason;
    /**
     * 限制方式(1.禁止进出；2:进场提醒)
     */
    @ApiModelProperty(name = "astrictType", value = "限制方式(1.禁止进出；2:进场提醒)")
    private String astrictType;
    /**
     * 禁止方式(1.禁止进场；2.禁止出场),可多选逗号隔开
     */
    @ApiModelProperty(name = "forbidType", value = "禁止方式(1.禁止进场；2.禁止出场),可多选逗号隔开")
    private String forbidType;
    /**
     * 禁止期间(1:永久禁止；2.指定期间)
     */
    @ApiModelProperty(name = "forbidDate", value = "禁止期间(1:永久禁止；2.指定期间)")
    private String forbidDate;
    /**
     * 禁止开始日期
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(name = "startTime", value = "禁止开始日期")
    private Date startTime;
    /**
     * 禁止结束日期
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(name = "endTime", value = "禁止结束日期")
    private Date endTime;
    /**
     * 备注信息
     */
    @ApiModelProperty(name = "remark", value = "备注信息")
    private String remark;
    /**
     * 车辆类型
     */
    @ApiModelProperty(value = "车辆类型")
    private String vehicleType;
    /**
     * 园区id
     */
    @ApiModelProperty(name = "parkId", value = "园区id")
    private Long parkId;

}
