package com.cusc.nirvana.user.rnr.fp.dto;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author stayAnd
 * @date 2022/8/3
 */
@Data
public class RnrOrderDetailDTO {


	/**
	 * 业务信息
	 */
	private BizDetailDTO bizDetail;


	/**
	 * 新车主/责任人信息
	 */
	private PersonDetailDTO rnrDetail;


	/**
	 * 代办人信息
	 */
	private PersonDetailDTO liaisonDetail;


	/**
	 * 企业信息
	 */
	private CompanyDetailDTO companyDetail;

	/**
	 * 认证信息
	 */
	private List<AuthenticationDetailDTO> authenticationList;


	/**
	 * 人工审核信息
	 */
	private AuditDetailDTO auditDetail;


	@Data
	public static class BizDetailDTO{

		/**
		 * 租户号
		 */
		private String tenantNo;


		/**
		 * 租户名称
		 */
		private String tenantName;

		/**
		 * 业务类型
		 */
		private Integer orderType;

		/**
		 * 实名
		 */
		private Date createTime;


		/**
		 * 认证进度
		 */
		private Integer orderStatus;
	}


	@Data
	public static class PersonDetailDTO{

		/**
		 * 姓名
		 */
		private String fullName;


		/**
		 * 性别
		 */
		private Integer gender;

		/**
		 * 证件类型
		 */
		private String certType;

		/**
		 * 证件类型名称
		 */
		private String certTypeName;

		/**
		 * 证件号码
		 */
		private String certNumber;

		/**
		 * 手机号码
		 */
		private String phone;

		/**
		 * 证件有效期
		 */
		private String expiredDate;


		private List<FileDTO> rnrInfoFile;
	}


	@Data
	public static class CompanyDetailDTO{

		/**
		 * 企业名称
		 */
		private String companyName;


		/**
		 * 企业性质
		 */
		private String companyType;

		/**
		 * 企业性质名称
		 */
		private String companyTypeName;

		/**
		 * 行业类型
		 */
		private String industryType;

		/**
		 * 行业类型名称
		 */
		private String industryTypeName;

		/**
		 * 企业证件类型
		 */
		private String companyCertType;

		/**
		 * 企业证件类型证件名称
		 */
		private String companyCertTypeName;

		/**
		 * 企业证件号码
		 */
		private String companyCertNumber;

		/**
		 * 证件地址
		 */
		private String companyCertAddress;

		/**
		 * 通讯地址
		 */
		private String companyContactAddress;


		private List<FileDTO> companyFile;
	}


	@Data
	public static class AuthenticationDetailDTO{

		/**
		 * 1 本人 2 委托人
		 */
		private Integer subjectType;

		/**
		 * 认证方式
		 */
		private String authWayType;

		/**
		 * 认证结果 1-成功 其他失败
		 */
		private String authResult;

		/**
		 * 认证结果信息描述
		 */
		private String authResultMsg;
	}

	@Data
	public static class AuditDetailDTO{

		/**
		 * 工单号
		 */
		private String approvalNo;


		/**
		 * 操作人
		 */
		private String operator;

		/**
		 * 操作人姓名
		 */
		private String operatorName;

		/**
		 * 审核意见
		 */
		private String content;


		/**
		 * 审核时间
		 */
		private Date auditTime;
	}


	private List<FileDTO> fileList;


	@Data
	public static class FileDTO{

		/**
		 * 文件id
		 */
		private String fileId;

		/**
		 * 文件类型
		 */
		private Integer fileType;
	}

}
