package com.nova.sankuai.domain.dto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.nova.sankuai.domain.enums.customerinfo.LargeLoanAmountEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data public class RiskCustomerUserDto { //登录来源 0为H5 public static final int H5 = 0; //渠登录来源 1为APP public static final int APP = 1; @ApiModelProperty(value = "默认借款金额") public static final Double DEFAULT_QUOTA = 10000d; @ApiModelProperty(value = "默认借款期数") public static final Integer DEFAULT_TERM = 12; @ApiModelProperty(value = "重新审批时间") public static final Integer VALID_DAY = 365; @ApiModelProperty(value = "customerUserId") private Long customerUserId; @ApiModelProperty(value = "用户手机号") private String phone; @ApiModelProperty(value = "创建时间") private Date creationDate; @ApiModelProperty(value = "用户名") private String name; @ApiModelProperty(value = "删除标志 0-未删除 1-已删除") private Integer deleteFlag; @ApiModelProperty(value = "来源渠道") private Integer sourceChannel; @ApiModelProperty(value = "审核通过时间") private Date approvalTime; @ApiModelProperty(value = "下次申请时间") private Date nextApplyTime; @ApiModelProperty(value = "用户初审额度") private Integer firstQuota; @ApiModelProperty(value = "用户会员额度") private Integer vipQuota; @ApiModelProperty(value = "设备信息 0-pc 1-android 2-ios") private Integer device; @ApiModelProperty(value = "授信编号") private String creditNo; @ApiModelProperty(value = "测试标志 0-否 1-是") private Boolean testFlag; @ApiModelProperty(value = "会员开始日期") private Date vipStartDate; @ApiModelProperty(value = "会员结束日期") private Date vipEndDate; @ApiModelProperty(value = "是否展示初审额度页面 0-否 1-是") private Boolean showActivationPage; @ApiModelProperty(value = "审核排队会员Code 参考枚举QueueVipTypeEnum") private String queueVipCode; @ApiModelProperty(value = "审核排队-普通名次") private Integer commonQueue; @ApiModelProperty(value = "购买会员卡ID") private String vipCardId; @ApiModelProperty(value = "手机号MD5") private String phoneMd5; @ApiModelProperty(value = "订单编号") private String orderNumber; @ApiModelProperty(value = "订单有效截止时间") private String orderValidEndDay; @ApiModelProperty(value = "身份证号") private String idCard; @ApiModelProperty(value = "姓名md5") private String nameMd5; @ApiModelProperty(value = "身份证md5") private String idCardMd5; @ApiModelProperty(value = "贷超会员开始时间") private Date loanVipStartDate; @ApiModelProperty(value = "贷超会员结束时间") private Date loanVipEndDate; @ApiModelProperty(value = "第三方用户Id") private String thirdUserId; @ApiModelProperty(value = "业务类型 用于描述定制化内容") private String businessType; @ApiModelProperty(value = "业务编号 作用于描述定制化内容的订单编号") private String businessNo; @ApiModelProperty(value = "高级会员开始时间") private Date seniorVipStartDate; @ApiModelProperty(value = "高级会员结束时间") private Date seniorVipEndDate; @ApiModelProperty(value = "业务类型回调结果 0为进件通知 1为结果通知") private Integer callBackResult; @ApiModelProperty(value = "用户是否是测试账户 0为否,1为是") private Integer testUserFlag; @ApiModelProperty(value = "APP最近一次登录时间") private Date appLastUpdatedDate; @ApiModelProperty(value = "H5最近一次登录时间") private Date h5LastUpdatedDate; @ApiModelProperty(value = "放款机构id") @TableField(updateStrategy = FieldStrategy.IGNORED) @JsonFormat(shape = JsonFormat.Shape.STRING) private Long mechanismId; @TableField(exist = false) @ApiModelProperty(value = "放款机构名称") private String mechanismName; @ApiModelProperty(value = "所在城市ID") private String city; @ApiModelProperty(value = "所在城市名称") private String cityName; @ApiModelProperty(value = "同步原始渠道代码") private Integer syncChannelCode; @ApiModelProperty(value = "同步原始渠道名称") private String syncChannelName; @ApiModelProperty(value = "用户资料录入程度") private Integer status; @ApiModelProperty(value = "通过宜信审核 通过审核 参考枚举YiXinApprovalResultEnum") private Integer passApproval; @ApiModelProperty(value = "洋钱罐用户Id") private String yqgUserId; /** * 基本资料部分 */ @ApiModelProperty(value = "职业信息") private Integer professionInfo; @ApiModelProperty(value = "芝麻分") private Integer sesame; @ApiModelProperty(value = "社保缴纳") private Integer socialSecurity; @ApiModelProperty(value = "公积金缴纳") private Integer providentFund; @ApiModelProperty(value = "房产情况") private Integer houseStatus; @ApiModelProperty(value = "车辆情况") private Integer carStatus; @ApiModelProperty(value = "保险保单") private Integer insurancePolicy; @ApiModelProperty(value = "信用卡") private Integer creditCard; @ApiModelProperty(value = "贷款金额 单位元") private Double loanAmount; @ApiModelProperty(value = "贷款期数") private Integer loanTerm; @ApiModelProperty(value = "预审批贷款金额") private Double approvalLoanAmount; @ApiModelProperty(value = "预审批贷款期数") private Integer approvalLoanTerm; @ApiModelProperty(value = "申请时间") private Date applyDate; @ApiModelProperty(value = "邮箱") private String email; @ApiModelProperty(value = "婚姻情况0-未婚 1-已婚") private String maritalStatus; @ApiModelProperty(value = "借款用途") private String useOfLoan; @ApiModelProperty(value = "月收入") private Integer monthlyIncome; @ApiModelProperty(value = "详细地址") @TableField(updateStrategy = FieldStrategy.IGNORED) private String address; @ApiModelProperty(value = "大额贷款额度") private Integer largeLoanAmount; @ApiModelProperty(value = "企业信息") private Integer enterpriseInfo; @ApiModelProperty(value = "工资代发") private Integer payrollAgency; @ApiModelProperty(value = "工作状态") private Integer workStatus; @ApiModelProperty(value = "微粒贷额度") private Integer microLoan; @ApiModelProperty(value = "房产属性") private Integer houseAttributes; @ApiModelProperty(value = "房产付款类型") private Integer housePayment; /** * OCR资料部分 */ @ApiModelProperty(value = "身份证正面照片路径") private String idCardFrontPath; @ApiModelProperty(value = "身份证背面照片路径") private String idCardBackPath; @ApiModelProperty(value = "活检照片") private String facePhotoPath; @ApiModelProperty(value = "年龄") private Integer age; @ApiModelProperty(value = "性别") private String sex; @ApiModelProperty(value = "国籍") private String nationality; @ApiModelProperty(value = "民族") private String nation; @ApiModelProperty(value = "出生日期") private String birthday; @ApiModelProperty(value = "户籍地址") private String idAddress; @ApiModelProperty(value = "签发机关") private String signOrganization; @ApiModelProperty(value = "有效期起始时间") private String idValidDateBegin; @ApiModelProperty(value = "有效期结束时间") private String idValidDateEnd; @ApiModelProperty(value = "长期身份证") private String idLongTerm; @ApiModelProperty(value = "活体检测分") private String verifySimilarity; @ApiModelProperty(value = "活体检测服务商") private String verifySimilarityName; /** * 设备资料部分 */ @ApiModelProperty(value = "登录设备IP") private String clientIp; @ApiModelProperty(value = "手机设备id") private String deviceId; @ApiModelProperty(value = "操作系统") private String os; @ApiModelProperty(value = "app来源信息") private String channelInfo; @ApiModelProperty(value = "设备唯一编码") private String imei; @ApiModelProperty(value = "androidId") private String androidId; @ApiModelProperty(value = "是否root或越狱") private Integer isRoot; @ApiModelProperty(value = "当前用户请求时的IP") private String ipAddres; @ApiModelProperty(value = "IP解析后阿里云的城市") private String ipCityRaw; @ApiModelProperty(value = "IP解析后对应的系统内城市ID") private String ipCityMapped; @ApiModelProperty(value = "设备版本号") private String deviceOsVersion; @ApiModelProperty(value = "SIM卡插卡状态 Y:插卡,N:无卡") private String simCardStatus; @ApiModelProperty(value = "是否为模拟器 Y:是模拟器,N:非模拟器") private String isEmulator; @ApiModelProperty(value = "经度") private String lng; @ApiModelProperty(value = "纬度") private String lat; @ApiModelProperty(value = "Mac") private String mac; @ApiModelProperty(value = "IDFA标识") private String idfa; @ApiModelProperty(value = "identifierForVendor") private String idfv; @ApiModelProperty(value = "Gps省") private String gpsProvince; @ApiModelProperty(value = "Gps市") private String gpsCity; @ApiModelProperty(value = "Gps区") private String gpsArea; /** * 资金方资料部分 */ @ApiModelProperty(value = "其他联系人关系") private String contactRelation; @ApiModelProperty(value = "学历") private String education; @ApiModelProperty(value = "亲属关系 0-父母 1-子女") private String relationship; @ApiModelProperty(value = "直系亲属姓名") private String relationshipName; @ApiModelProperty(value = "直系亲属手机号") private String relationshipPhone; @ApiModelProperty(value = "亲属1关系 0-父母 1-子女") private String relationship1; @ApiModelProperty(value = "直系亲属1姓名") private String relationship1Name; @ApiModelProperty(value = "直系亲属1手机号") private String relationship1Phone; @ApiModelProperty(value = "普通联系人姓名") private String contactName; @ApiModelProperty(value = "普通联系人手机号") private String contactPhone; @ApiModelProperty(value = "普通联系人1姓名") private String contact1Name; @ApiModelProperty(value = "普通联系人1手机号") private String contact1Phone; @ApiModelProperty(value = "职业") private String occupation; @ApiModelProperty(value = "单位名称") private String companyName; @ApiModelProperty(value = "单位所在省") private String companyProvince; @ApiModelProperty(value = "单位所在市") private String companyCity; @ApiModelProperty(value = "单位所在区") private String companyArea; @ApiModelProperty(value = "单位详细地址") private String companyAddress; @ApiModelProperty(value = "本单位工作开始时间") private String workStartTime; @ApiModelProperty(value = "本单位工作结束时间") private String workEndTime; @ApiModelProperty(value = "居住省") private String liveProvince; @ApiModelProperty(value = "居住区") private String liveArea; @ApiModelProperty(value = "居住城市") private String liveCity; @ApiModelProperty(value = "职务") private String jobTitle; @ApiModelProperty(value = "公司所属行业") private String companyTrade; @ApiModelProperty(value = "公司性质") private String companyNature; @ApiModelProperty(value = "家庭月收入") private Double familyMonthlyIncome; @ApiModelProperty(value = "配偶身份证信息") private String certNo; @ApiModelProperty(value = "配偶公司") private String contactCompany; @ApiModelProperty(value = "居住房类型") private String livest; @ApiModelProperty(value = "公司电话") private String companyPhone; /** * 银行卡信息部分 */ @ApiModelProperty(value = "银行卡号") private String cardNo; @ApiModelProperty(value = "发卡行银行码") private String bankCode; @ApiModelProperty(value = "银行名称") private String bankName; @ApiModelProperty(value = "银行预留手机号") private String bankPhoneNo; @ApiModelProperty(value = "银行户名") private String bankCardName; /** * 还款计划资料 */ @ApiModelProperty(value = "还款计划-还款方式") private Integer repayType; @ApiModelProperty(value = "还款计划-借款金额") private Integer repayAmount; @ApiModelProperty(value = "还款计划-还款期数") private Integer repayTerm; @ApiModelProperty(value = "还款计划-借款用途") private String repayLoanPurpose; @ApiModelProperty(value = "还款计划-还款计划日") private Integer repayPlanDay; @ApiModelProperty(value = "还款计划-还款利率") private Integer repayQuotaRate; @ApiModelProperty(value = "还款计划-提交日期") private Date repayApplyDate; @ApiModelProperty(value = "是否填写还款计划") private Integer hasRepayPlan; @ApiModelProperty(value = "设备厂商") private String deviceBrand; @ApiModelProperty(value = "系统型号") private String systemModel; @ApiModelProperty(value = "居住区code") private String liveAreaCode; @ApiModelProperty(value = "单位所在区code") private String companyAreaCode; @ApiModelProperty(value = "ocr是否识别成功 0为否 1为是") private Integer isDistinguishOcr; //增加申请时的appName @ApiModelProperty(value = "app应用名") private String appName; public Integer parseLoadAmount() { if (this.getLoanAmount() == null) { Integer quota = LargeLoanAmountEnum.parseAmountToYuan(this.getLargeLoanAmount()); return quota; } else { return this.loanAmount.intValue(); } } }