package com.ningdatech.carapi.safe.model.dto;

import java.io.Serializable;
import java.time.LocalDateTime;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * @author CMM
 * @since 2022/12/26 15:28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "VehicleAccidentReportDTO", description = "车辆事故上报信息保存")
public class VehicleAccidentReportDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty("车牌号")
    @NotBlank(message = "请输入车牌号!")
    private String carPlate;

    @ApiModelProperty("事故驾驶员")
    @NotBlank(message = "请输入驾驶员姓名!")
    private String accidentDriver;

    @ApiModelProperty("事故日期")
    @NotNull(message = "请输入事故发生时间!")
    private LocalDateTime accidentTime;

    @ApiModelProperty("事故地点")
    @NotBlank(message = "请填写事故地点!")
    @Length(max = 100)
    private String accidentAddress;

    @ApiModelProperty("受伤人数")
    @NotNull(message = "请填写受伤人数!")
    @Range(min = 0,max = 100)
    private Integer injuries;

    @ApiModelProperty("死亡人数")
    @NotNull(message = "请填写死亡人数!")
    @Range(min = 0,max = 100)
    private Integer deathToll;

}
