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

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 月卡审核提交信息
 */
@Data
public class VehicleMonthlyCardDataAddParam {

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

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


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

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

    /**
     * 手机号
     */
    @NotBlank
    @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;



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

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

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

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

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

    @ApiModelProperty(name = "reason", value = "理由")
    private String reason;

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


}
