package com.nova.sankuai.domain.api.yangqianguan.dto;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.nova.sankuai.domain.api.yangqianguan.vo.*;
|
import com.nova.sankuai.domain.entity.Customer;
|
import com.nova.sankuai.domain.enums.CustomerInfoStatusEnum;
|
import com.nova.sankuai.domain.enums.SourceTypeEnum;
|
import com.nova.sankuai.domain.enums.yixin.YiXinCompanyNatureEnum;
|
import com.nova.sankuai.domain.enums.yixin.YiXinJobTitleEnum;
|
import com.nova.sankuai.domain.enums.yixin.YiXinLivestEnum;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.apache.commons.lang.StringUtils;
|
|
import java.text.DecimalFormat;
|
import java.util.Date;
|
|
/**
|
* @Description 洋钱罐校验Vo
|
* @Author CWR
|
* @Date 2022/4/26 21:57
|
*/
|
@Data
|
@ApiModel(value = "授信申请Dto")
|
public class CreditApplyDto {
|
|
@ApiModelProperty(value = "基本信息")
|
@JsonProperty("basic_info")
|
private BasicInfoVo basicInfo;
|
|
@ApiModelProperty(value = "申请信息")
|
@JsonProperty("apply_info")
|
private ApplyInfoVo applyInfo;
|
|
@ApiModelProperty(value = "身份证信息")
|
@JsonProperty("id_info")
|
private IdInfoVo idInfo;
|
|
@ApiModelProperty(value = "活体信息")
|
@JsonProperty("living_info")
|
private LivingInfoVo livingInfo;
|
|
@ApiModelProperty(value = "设备信息")
|
@JsonProperty("device_info")
|
private DeviceInfoVo deviceInfo;
|
|
public Customer parseCustomer() {
|
//授信申请数据映射
|
OptionInfoVo optionInfo = applyInfo.getOptionInfo();
|
Customer customer = new Customer();
|
//授信信息-授信编号
|
customer.setCreditNo(basicInfo.getCreditNo());
|
customer.setSourceChannel(SourceTypeEnum.YangQianGuan.getCode());
|
//用户授信信息
|
customer.setLoanAmount(Customer.DEFAULT_QUOTA);
|
customer.setLoanTerm(12);
|
customer.setUseOfLoan(applyInfo.formatUseOfLoan());
|
customer.setName(basicInfo.getUserName());
|
customer.setIdCard(basicInfo.getIdentityNumber());
|
customer.setBirthday(parseBirth(basicInfo.getIdentityNumber()));
|
customer.setPhone(basicInfo.getMobile());
|
customer.setSex(idInfo.getSex());
|
customer.setNation(idInfo.getNation());
|
customer.setIdAddress(idInfo.getAddress());
|
customer.setSignOrganization(idInfo.getIssueAgency());
|
String begin = DateUtil.format(new Date(idInfo.getIssueDate()), "yyyy-MM-dd");
|
customer.setIdValidDateBegin(begin);
|
if (idInfo.getExpireDate() == 0) {
|
customer.setIdValidDateEnd("长期");
|
} else {
|
String end = DateUtil.format(new Date(idInfo.getExpireDate()), "yyyy-MM-dd");
|
customer.setIdValidDateEnd(end);
|
}
|
customer.setEducation(applyInfo.formatEducation());
|
customer.setMaritalStatus(optionInfo.formatMaritalStatus());
|
ResultFaceidVo resultFaceid = livingInfo.getResultFaceid();
|
if (resultFaceid.getConfidence() != null) {
|
DecimalFormat df = new DecimalFormat("#.00");
|
String format = df.format(resultFaceid.getConfidence());
|
customer.setVerifySimilarity(format);
|
} else {
|
customer.setVerifySimilarity("0");
|
}
|
customer.setVerifySimilarityName("03");
|
customer.setLng(applyInfo.getLongitude());
|
customer.setLat(applyInfo.getLatitude());
|
customer.setDeviceOsVersion(deviceInfo.getOsVersion());
|
customer.setOs(deviceInfo.getOsType());
|
customer.setDeviceId(deviceInfo.getUdid());
|
customer.setIdfa(deviceInfo.getIdfa());
|
customer.setIdfv(deviceInfo.getIdfv());
|
customer.setImei(deviceInfo.getImei());
|
customer.setLiveProvince(applyInfo.getAddressProvince());
|
customer.setLiveCity(applyInfo.getAddressCity());
|
customer.setLiveArea(applyInfo.getAddressDistrict());
|
customer.setAddress(applyInfo.getAddressDetail());
|
customer.setClientIp(deviceInfo.getIp());
|
customer.setFamilyMonthlyIncome(applyInfo.getMonthlyIncome());
|
customer.setLivest(YiXinLivestEnum.UNKNOWN.getCode());
|
customer.setGpsProvince(applyInfo.getGpsProvince());
|
customer.setGpsCity(applyInfo.getGpsCity());
|
customer.setGpsArea(applyInfo.getGpsDistrict());
|
//联系人信息
|
customer.setRelationship(applyInfo.formatHomeRelation());
|
customer.setRelationshipName(applyInfo.getImmediateContact().getName());
|
customer.setRelationshipPhone(applyInfo.getImmediateContact().getMobilePhoneNo());
|
customer.setContactRelation(applyInfo.formatContractRelation());
|
customer.setContactName(applyInfo.getSecondImmediateContact().getName());
|
customer.setContactPhone(applyInfo.getSecondImmediateContact().getMobilePhoneNo());
|
|
//职位信息
|
customer.setMonthlyIncome(applyInfo.formatMonthlyIncome());
|
customer.setCompanyName(optionInfo.getCompanyName());
|
customer.setCompanyAddress(optionInfo.getOfficeAddressDistrict());
|
customer.setCompanyProvince(optionInfo.getOfficeAddressProvince());
|
customer.setCompanyCity(optionInfo.getOfficeAddressCity());
|
customer.setCompanyArea(optionInfo.getOfficeAddressDistrict());
|
customer.setCompanyPhone(basicInfo.getMobile());
|
customer.setOccupation(applyInfo.formatCareer());
|
customer.setJobTitle(YiXinJobTitleEnum.UNKNOWN.getCode());
|
customer.setCompanyNature(YiXinCompanyNatureEnum.Nature_6.getCode());
|
//其余字段
|
customer.setYqgUserId(basicInfo.getUserId());
|
customer.setApplyDate(new Date(basicInfo.getCreditTime()));
|
customer.setCompanyTrade(applyInfo.formatIndustry());
|
customer.setSimCardStatus(deviceInfo.getSimCardStatus());
|
customer.setIsEmulator(deviceInfo.getIsEmulator());
|
customer.setStatus(CustomerInfoStatusEnum.CAPITAL_INFO.getCode());
|
return customer;
|
}
|
|
private String parseBirth(String idCard) {
|
if (StringUtils.isEmpty(idCard)) {
|
return null;
|
} else if (idCard.length() == 18) {
|
String year = idCard.substring(6).substring(0, 4);
|
String month = idCard.substring(10).substring(0, 2);
|
String day = idCard.substring(12).substring(0, 2);
|
return (year + "-" + month + "-" + day);
|
} else if (idCard.length() == 15) {
|
String year = "19" + idCard.substring(6, 8);
|
String month = idCard.substring(8, 10);
|
String day = idCard.substring(10, 12);
|
return (year + "-" + month + "-" + day);
|
}
|
return null;
|
}
|
}
|