package com.nova.sankuai.domain.entity; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.fasterxml.jackson.annotation.JsonFormat; import com.nova.sankuai.domain.enums.customerinfo.LargeLoanAmountEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author weikangdi */ @Data @ApiModel(value = "客户信息表") public class Customer { @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 = "主键") @JsonFormat(shape = JsonFormat.Shape.STRING) @TableId private Long id; /** * 系统内部配置 */ @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; @TableLogic @ApiModelProperty(value = "删除标志 0-未删除 1-已删除") private Integer deleteFlag; @ApiModelProperty(value = "同步原始渠道代码") private Integer syncChannelCode; @ApiModelProperty(value = "同步原始渠道名称") private String syncChannelName; @ApiModelProperty(value = "用户资料录入程度") private Integer status; @ApiModelProperty(value = "资产信息是否从浏览器上录入, 1为是,0为否") private Integer assetFromBrowser; @ApiModelProperty(value = "用户资料是否录入完成, 1为是,0为否") private Integer dataIsCompleted; @ApiModelProperty(value = "通过宜信审核 通过审核 参考枚举YiXinApprovalResultEnum") private Integer passApproval; @ApiModelProperty(value = "洋钱罐用户Id") private String yqgUserId; @ApiModelProperty(value = "注册用户Id") private Long customerUserId; /** * 基本资料部分 */ @ApiModelProperty(value = "姓名") private String name; @ApiModelProperty(value = "电话") private String phone; @ApiModelProperty(value = "身份证号") private String idCard; @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 sourceChannel; @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 creditNo; @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(); } } }