package com.yuchen.saas.manage.user.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.mp.base.BaseEntity;

import java.util.Date;

/**
 * @Author 蔡文强
 * @Date 2023/5/5 15:56
 * @Description 用户车牌认证表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("user_vehicle_certification")
@ApiModel(value="UserVehicleCertification对象", description="用户车辆认证记录表")
public class UserVehicleCertification extends BaseEntity {

    /**
     * 车牌号
     */
    @ApiModelProperty(name = "plateNo", value = "车牌号")
    private String plateNo;
    /**
     * 车辆类型
     */
    @ApiModelProperty(name = "vehicleType", value = "车辆类型")
    private String vehicleType;
    /**
     * 车架号码
     */
    @ApiModelProperty(name = "frameNo", value = "车架号码")
    private String frameNo;
    /**
     * 发动机号
     */
    @ApiModelProperty(name = "engineNo", value = "发动机号")
    private String engineNo;

    /**
     * 所有人
     */
    @ApiModelProperty(name = "owner", value = "所有人")
    private String owner;

    /**
     * 识别代码
     */
    @ApiModelProperty(name = "vin", value = "识别代码")
    private String vin;

    /**
     * 行驶证图片
     */
    @ApiModelProperty(name = "vehicleLicense", value = "行驶证图片")
    private String vehicleLicense;

    /**
     * 发证日期
     */
    @ApiModelProperty(name = "issueDate", value = "发证日期")
    private String issueDate;

    /**
     * 平台级用户ID
     */
    @ApiModelProperty(name = "userDetailId", value = "平台级用户ID")
    private Long userDetailId;
    /**
     * 用户账号(绑定账号)
     */
    @ApiModelProperty(name = "userPhone", value = "用户账号(绑定账号)")
    private String userPhone;
    /**
     * 认证结果(1:认证成功 2:认证失败)
     */
    @ApiModelProperty(name = "auditResult", value = "认证结果(0:待处理 1:认证成功 2:认证失败，3申诉取消认证)")
    private Integer auditResult;
    /**
     * 认证方式(1:自动识别 2:人工审核 3:服务审核,4:申诉审核)
     */
    @ApiModelProperty(name = "auditType", value = "认证方式(1:自动识别 2:人工审核 3:服务审核,4:申诉审核)")
    private Integer auditType;
    /**
     * 认证人(审核人)
     */
    @ApiModelProperty(name = "reviewer", value = "认证人(审核人)")
    private String reviewer;
    /**
     * 认证时间(审核时间)
     */
    @ApiModelProperty(name = "auditTime", value = "认证时间(审核时间)")
    private Date auditTime;
    /**
     * 认证备注(审核备注)
     */
    @ApiModelProperty(name = "auditRemark", value = "认证备注(审核备注)")
    private String auditRemark;
    /**
     * 提交时间
     */
    @ApiModelProperty(name = "submitTime", value = "提交时间")
    private Date submitTime;
    /**
     * 身份证图片
     */
    @ApiModelProperty(name = "idCardUrl", value = "身份证图片")
    private String idCardUrl;
    /**
     * 身份证号码
     */
    @ApiModelProperty(name = "idCard", value = "身份证号码")
    private String idCard;
    /**
     * 身份证姓名
     */
    @ApiModelProperty(name = "idCardName", value = "身份证姓名")
    private String idCardName;

    /**
     * 申诉类型（1：车辆认证申诉，2：绑定车辆申诉）
     */
    @ApiModelProperty(name = "appealType", value = "申诉类型（1：车辆认证申诉，2：绑定车辆申诉）")
    private Integer appealType;

    /**
     * 申诉说明备注
     */
    @ApiModelProperty(name = "appealRemark", value = "申诉说明备注")
    private String appealRemark;
    /**
     * 认证人(审核人)
     */
    @ApiModelProperty(name = "auditOrgUserId", value = "认证人(审核人)")
    private Long auditOrgUserId;

    /**
     * 能源类型（0：其他，1：燃油车，2：新能源车）
     */
    @ApiModelProperty(name = "energyType", value = "能源类型（0：其他，1：燃油车，2：新能源车）")
    private Integer energyType;
    /**
     * 认证通道（1：身份证）
     */
    @ApiModelProperty(name = "certificationChannel", value = "认证通道（1：身份证）")
    private Integer certificationChannel;
    /**
     * 数据来源（对象nest_apply_manage主键）
     */
    @ApiModelProperty(name = "sourceApplyId", value = "数据来源（对象nest_apply_manage主键）")
    private Long sourceApplyId;
    /**
     * 已认证车辆id（user_vehicle_certification主键）
     */
    @ApiModelProperty(name = "vehicleCertificationId", value = "已认证车辆id（user_vehicle_certification主键）认证方式为申诉审核时必填")
    private Long vehicleCertificationId;

}
