package com.yuchen.saas.manage.user.api.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;


@Data
@ApiModel("UserVehicleCertificationAppealInfoVO")
public class UserVehicleCertificationAppealInfoVO {


    @ApiModelProperty(name = "id", value = "id")
    private Long id;
    /**
     * 车牌号
     */
    @ApiModelProperty(name = "plateNo", value = "车牌号")
    private String plateNo;
    @ApiModelProperty(name = "appealInfoData", value = "申诉信息详情")
    private AppealInfoVO appealInfoData;
    @ApiModelProperty(name = "vehicleCertificationInfoData", value = "已认证详情")
    private VehicleCertificationInfoVO vehicleCertificationInfoData;
    @ApiModelProperty(name = "auditInfoData", value = "审核详情")
    private AuditInfoVO auditInfoData;

    @Data
    public static class AppealInfoVO{
        /**
         * 车牌号
         */
        @ApiModelProperty(name = "plateNo", value = "车牌号")
        private String plateNo;
        /**
         * 申诉类型（1：车辆认证申诉，2：绑定车辆申诉）
         */
        @ApiModelProperty(name = "appealType", value = "申诉类型（1：车辆认证申诉，2：绑定车辆申诉）")
        private Integer appealType;
        /**
         * 用户账号(绑定账号)
         */
        @ApiModelProperty(name = "userPhone", value = "用户账号(绑定账号)")
        private String userPhone;

        /**
         * 数据来源（对象nest_apply_manage主键）
         */
        @ApiModelProperty(name = "sourceApplyId", value = "数据来源（对象nest_apply_manage主键）")
        private Long sourceApplyId;

        /**
         * 数据来源（对象nest_apply_manage主键）
         */
        @ApiModelProperty(name = "sourceApplyName", value = "数据来源名称）")
        private String sourceApplyName;
        /**
         * 提交时间
         */
        @ApiModelProperty(name = "submitTime", value = "提交时间")
        private Date submitTime;
        /**
         * 车辆类型
         */
        @ApiModelProperty(name = "vehicleType", value = "车辆类型")
        private String vehicleType;
        /**
         * 车架号码
         */
        @ApiModelProperty(name = "frameNo", value = "车架号码")
        private String frameNo;
        /**
         * 发动机号
         */
        @ApiModelProperty(name = "engineNo", value = "发动机号")
        private String engineNo;


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

        /**
         * 平台级用户ID
         */
        @ApiModelProperty(name = "userDetailId", value = "平台级用户ID")
        private Long userDetailId;
        /**
         * 身份证图片
         */
        @ApiModelProperty(name = "idCardUrl", value = "身份证图片")
        private String idCardUrl;
        /**
         * 身份证号码
         */
        @ApiModelProperty(name = "idCard", value = "身份证号码")
        private String idCard;
        /**
         * 身份证姓名
         */
        @ApiModelProperty(name = "idCardName", value = "身份证姓名")
        private String idCardName;
        /**
         * 认证通道（1：身份证）
         */
        @ApiModelProperty(name = "certificationChannel", value = "认证通道（1：身份证）")
        private Integer certificationChannel;


        @ApiModelProperty(name = "appealRemark", value = "申诉说明备注")
        private String appealRemark;

    }

    @Data
    public static class VehicleCertificationInfoVO{
        /**
         * 车牌号
         */
        @ApiModelProperty(name = "plateNo", value = "车牌号")
        private String plateNo;

        /**
         * 用户账号(绑定账号)
         */
        @ApiModelProperty(name = "userPhone", value = "认证用户账号(绑定账号)")
        private String userPhone;

        /**
         * 数据来源（对象nest_apply_manage主键）
         */
        @ApiModelProperty(name = "sourceApplyId", value = "数据来源（对象nest_apply_manage主键）")
        private Long sourceApplyId;

        /**
         * 数据来源（对象nest_apply_manage主键）
         */
        @ApiModelProperty(name = "sourceApplyName", value = "数据来源名称）")
        private String sourceApplyName;
        /**
         * 提交时间
         */
        @ApiModelProperty(name = "certificationTime", value = "认证时间")
        private Date certificationTime;
        /**
         * 车辆类型
         */
        @ApiModelProperty(name = "vehicleType", value = "车辆类型")
        private String vehicleType;
        /**
         * 车架号码
         */
        @ApiModelProperty(name = "frameNo", value = "车架号码")
        private String frameNo;
        /**
         * 发动机号
         */
        @ApiModelProperty(name = "engineNo", value = "发动机号")
        private String engineNo;

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

        /**
         * 身份证图片
         */
        @ApiModelProperty(name = "idCardUrl", value = "身份证图片")
        private String idCardUrl;
        /**
         * 身份证号码
         */
        @ApiModelProperty(name = "idCard", value = "身份证号码")
        private String idCard;
        /**
         * 身份证姓名
         */
        @ApiModelProperty(name = "idCardName", value = "身份证姓名")
        private String idCardName;
        /**
         * 认证通道（1：身份证）
         */
        @ApiModelProperty(name = "certificationChannel", value = "认证通道（1：身份证）")
        private Integer certificationChannel;

        @ApiModelProperty(name = "auditTime", value = "认证时间(审核时间)")
        private Date auditTime;

    }

    @Data
    public static class AuditInfoVO{
        /**
         * 审核结果(0：待处理，1:申诉成功 2:认申诉失败)
         */
        @ApiModelProperty(name = "auditResult", value = "审核结果(0：待处理，1:申诉成功 2:认申诉失败)")
        private Integer auditResult;

        /**
         * 认证人(审核人)
         */
        @ApiModelProperty(name = "auditOrgUserName", value = "认证人(审核人)")
        private String auditOrgUserName;
        /**
         * 认证时间(审核时间)
         */
        @ApiModelProperty(name = "auditTime", value = "认证时间(审核时间)")
        private Date auditTime;
        /**
         * 认证备注(审核备注)
         */
        @ApiModelProperty(name = "auditRemark", value = "认证备注(审核备注)")
        private String auditRemark;

    }
}
