package com.nova.sankuai.service.impl;
|
|
import cn.hutool.core.util.IdUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.nova.sankuai.domain.api.channelUnion.ChannelUnionAutoResponse;
|
import com.nova.sankuai.domain.api.channelUnion.ChannelUnionAutoUtil;
|
import com.nova.sankuai.domain.api.channelUnion.ChannelUnionCollisionResponse;
|
import com.nova.sankuai.domain.api.doudouqian.DdqUtil;
|
import com.nova.sankuai.domain.api.hengyidai.response.HyGetOrderStatusResponse;
|
import com.nova.sankuai.domain.api.huizhixin.HzxGetResponse;
|
import com.nova.sankuai.domain.api.huizhixin.HzxResponse;
|
import com.nova.sankuai.domain.api.huizhixin.HzxResponseData;
|
import com.nova.sankuai.domain.api.huizhixin.HzxUtil;
|
import com.nova.sankuai.domain.api.rongduoduo.RongDuoDuoResponse;
|
import com.nova.sankuai.domain.api.rongduoduo.RongDuoDuoUtil;
|
import com.nova.sankuai.domain.api.rongduoduo.SanKuaiCustomer;
|
import com.nova.sankuai.domain.api.taojinhui.TjhAutoResponse;
|
import com.nova.sankuai.domain.api.taojinhui.TjhCollisionResponse;
|
import com.nova.sankuai.domain.api.taojinhui.TjhUtil;
|
import com.nova.sankuai.domain.api.xinyeyoupin.XinYeYouPinUtil;
|
import com.nova.sankuai.domain.api.xinyeyoupin.XyypResponse;
|
import com.nova.sankuai.domain.api.xinyongfei.XinYongFeiResponse;
|
import com.nova.sankuai.domain.api.xinyongfei.XinYongFeiUtil;
|
import com.nova.sankuai.domain.api.yibeifenqi.YiBeiCheckUserResponseVO;
|
import com.nova.sankuai.domain.api.yibeifenqi.YiBeiRegisterDTO;
|
import com.nova.sankuai.domain.api.yibeifenqi.YiBeiRegisterResponseVO;
|
import com.nova.sankuai.domain.api.yibeifenqi.YiBeiUtil;
|
import com.nova.sankuai.domain.api.yinsheng.SerialGenerator;
|
import com.nova.sankuai.domain.api.yixin.YXUtil;
|
import com.nova.sankuai.domain.api.yixin.response.YxLoanResponse;
|
import com.nova.sankuai.domain.api.zhongzan.RbResponse;
|
import com.nova.sankuai.domain.api.zzxf.ZzxfResponse;
|
import com.nova.sankuai.domain.dto.CapitalPushDto;
|
import com.nova.sankuai.domain.entity.*;
|
import com.nova.sankuai.domain.enums.CustomerUserBusinessTypeEnum;
|
import com.nova.sankuai.domain.enums.capitalInfo.*;
|
import com.nova.sankuai.domain.vo.RongDuoDuoOrderSubmitVo;
|
import com.nova.sankuai.domain.vo.capitalflow.CapitalRepayEntryVo;
|
import com.nova.sankuai.domain.vo.capitalresult.*;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.constants.Constants;
|
import com.nova.sankuai.infra.mapper.*;
|
import com.nova.sankuai.infra.utils.ConstantsUtil;
|
import com.nova.sankuai.infra.utils.ResultJson;
|
import com.nova.sankuai.infra.utils.UserUtil;
|
import com.nova.sankuai.infra.utils.ZzxfUtil;
|
import com.nova.sankuai.infra.utils.eshidai.EsdUtil;
|
import com.nova.sankuai.infra.utils.hht.HhtUtil;
|
import com.nova.sankuai.infra.utils.hjqb.HjqbUtil;
|
import com.nova.sankuai.infra.utils.mxc.MxcUtil;
|
import com.nova.sankuai.infra.utils.qinghuayoupin.QingHuaYouPinUtil;
|
import com.nova.sankuai.infra.utils.ryh.RyhUtil;
|
import com.nova.sankuai.infra.utils.sms.FirstMessage;
|
import com.nova.sankuai.infra.utils.sms.shandongMessage.ShanDongMessageSendUtil;
|
import com.nova.sankuai.infra.utils.syh.SyhUtil;
|
import com.nova.sankuai.infra.utils.zhd.ZhdUtil;
|
import com.nova.sankuai.infra.utils.zhongzan.ZhongZanUtil;
|
import com.nova.sankuai.infra.utils.zhxyp.ZhxypUtil;
|
import com.nova.sankuai.security.HttpClientUtil;
|
import com.nova.sankuai.security.UserDetail;
|
import com.nova.sankuai.service.*;
|
import lombok.AllArgsConstructor;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.time.LocalDateTime;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author weikangdi
|
* @create 2022/5/7
|
*/
|
@Service
|
@AllArgsConstructor
|
public class CustomerCapitalResultServiceImpl extends ServiceImpl<CustomerCapitalResultMapper, CustomerCapitalResult> implements ICustomerCapitalResultService {
|
|
|
private final CustomerMapper customerMapper;
|
|
private final YXUtil yxUtil;
|
|
private final ZhongZanUtil zhongZanUtil;
|
|
private final CustomerCapitalResultMapper capitalResultMapper;
|
|
private final CapitalInfoMapper capitalInfoMapper;
|
|
private final CustomerUserMapper customerUserMapper;
|
|
private final XinYongFeiUtil xinYongFeiUtil;
|
|
private static final Logger log = LoggerFactory.getLogger("capitalLogger");
|
|
private final HzxUtil hzxUtil;
|
|
private final YiBeiUtil yiBeiUtil;
|
|
private final ZzxfUtil zzxfUtil;
|
|
private final MxcUtil mxcUtil;
|
|
private final TjhUtil tjhUtil;
|
|
private final XinYeYouPinUtil xinYeYouPinUtil;
|
|
private final ChannelUnionAutoUtil channelUnionAutoUtil;
|
private final DdqUtil doudouUtil;
|
|
private final UnionloginProductMapper unionloginProductMapper;
|
|
private final RongDuoDuoUtil rongDuoDuoUtil;
|
private final ICapitalResultCommonService capitalResultCommonService;
|
|
private final IHengYiDaiService hengYiDaiService;
|
|
private final IXiaoBaiYouKaService xiaoBaiYouKaService;
|
private final ITaoHuiHuaService taoHuiHuaService;
|
|
private final SmsTemplateMapper smsMapper;
|
|
private final ZhxypUtil zhxypUtil;
|
private final QingHuaYouPinUtil qingHuaYouPinUtil;
|
|
@Override
|
public void sendSmsApprovalResultAdopt() {
|
LocalDateTime endTime = LocalDateTime.now();
|
LocalDateTime startTime = LocalDateTime.now().minusHours(24);
|
List<CapitalApprovalResultAdoptVo> result = capitalResultMapper.findCapitalApprovalResultAdopt(startTime, endTime);
|
//授信通过后给用户发送短信
|
CustomerCapitalResult capitalResult;
|
List<SmsTemplate> okNotify = smsMapper.selectList(new LambdaQueryWrapper<SmsTemplate>().eq(SmsTemplate::getCode, "CAPITAL_OK_NOTIFY"));
|
|
for (CapitalApprovalResultAdoptVo vo : result) {
|
if (StringUtils.isEmpty(vo.getAppName())) continue;
|
String content = null;
|
for (SmsTemplate template : okNotify) {
|
if (Objects.equals(vo.getAppName(), template.getType())) {
|
content = template.getContent();
|
try {
|
if (vo.getTotalCredit() == null) {
|
vo.setTotalCredit("0");
|
}
|
content = content.replace("${customerUserName}", vo.getCustomerUserName());
|
content = content.replace("${totalCredit}", vo.getTotalCredit());
|
boolean success = ShanDongMessageSendUtil.sendMessage(vo.getCustomerUserPhone(), content);
|
if (success) {
|
log.info("手机号{" + vo.getCustomerUserPhone() + "},资方【" + vo.getCapitalName() + "】授信通知短信已发送");
|
capitalResult = new CustomerCapitalResult();
|
capitalResult.setId(vo.getId());
|
capitalResult.setIsSendSms(1);
|
capitalResultMapper.updateById(capitalResult);
|
} else {
|
log.error("为资方授信成功的客户发送短信失败!手机好为:【" + vo.getCustomerUserPhone() + "】" + "资方为: " + vo.getCapitalName());
|
}
|
} catch (Exception e) {
|
log.error("资方授信通过后给用户发送短信异常", e);
|
}
|
}
|
// else {
|
// log.error("审批通过发送短信找不到AppName: {}", vo.getCustomerUserPhone());
|
// }
|
}
|
|
if (content == null){
|
log.error("审批通过发送短信找不到AppName: {} 用户手机号:{}", vo.getAppName(), vo.getCustomerUserPhone());
|
}
|
}
|
|
}
|
|
@Override
|
public void makeLoans() {
|
LocalDateTime endTime = LocalDateTime.now();
|
LocalDateTime startTime = LocalDateTime.now().minusHours(24);
|
List<CapitalMackLoanAdoptVo> makeLoans = capitalResultMapper.makeLoans(startTime, endTime);
|
//授信通过后给用户发送短信
|
CustomerCapitalResult capitalResult;
|
List<SmsTemplate> notify = smsMapper.selectList(new LambdaQueryWrapper<SmsTemplate>().eq(SmsTemplate::getCode, "MAKE_LOAN_NOTIFY"));
|
String content;
|
for (CapitalMackLoanAdoptVo makeLoan : makeLoans) {
|
if (StringUtils.isEmpty(makeLoan.getAppName())) continue;
|
for (SmsTemplate tem : notify) {
|
if (Objects.equals(makeLoan.getAppName(), tem.getType())) {
|
content = tem.getContent();
|
content = content.replace("${customerUserName}", makeLoan.getCustomerUserName());
|
content = content.replace("${capitalName}", makeLoan.getCapitalName());
|
content = content.replace("${lastNumber}", StringUtils.substring(makeLoan.getLastNumber(), makeLoan.getLastNumber().length() - 3));
|
try {
|
boolean success = ShanDongMessageSendUtil.sendMessage(makeLoan.getCustomerUserPhone(), content);
|
if (success) {
|
log.info("手机号{" + makeLoan.getCustomerUserPhone() + "},资方【" + makeLoan.getCapitalName() + "】授信通知短信已发送");
|
capitalResult = new CustomerCapitalResult();
|
capitalResult.setId(makeLoan.getId());
|
capitalResult.setMakeLoanSendSms(1);
|
capitalResultMapper.updateById(capitalResult);
|
} else {
|
log.error("为资方资方放款客户发送短信失败!手机好为:【" + makeLoan.getCustomerUserPhone() + "】" + "资方为: " + makeLoan.getCapitalName());
|
}
|
} catch (Exception e) {
|
log.error("资方放款用户发送短信异常", e);
|
}
|
}
|
}
|
}
|
}
|
|
@Override
|
public void notDrawMoney() {
|
List<NotDrawMoneyVo> notDrawMoneyVos = baseMapper.selectNotDrawMoneyList();
|
String content;
|
for (NotDrawMoneyVo vo : notDrawMoneyVos) {
|
content = "【卡大拿】尊敬的${name},您在${capitalName}申请的${totalCredit}元借款已通过审核。点 dldcredit.com/kdn 立即提取,以免额度过期。退订回T";
|
content = content.replace("${name}", vo.getName());
|
content = content.replace("${capitalName}", vo.getCapitalName());
|
content = content.replace("${totalCredit}", vo.getTotalCredit());
|
FirstMessage.sendNotDrawMoneyMessage(vo.getPhone(), content);
|
}
|
}
|
|
/**
|
* 标注:这里是撞库开始
|
*/
|
@Override
|
public void checkCapitalInfo(Customer customer, Integer material) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "资方列表-撞库开始:" + material);
|
try {
|
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
|
.eq(CustomerUser::getPhone, customer.getPhone()));
|
if (customerUser == null) {
|
log.error("日志编号:" + logNumber + "资方列表-对应用户不存在");
|
}
|
List<CapitalInfo> result = capitalInfoMapper.selectList(Wrappers.<CapitalInfo>lambdaQuery()
|
.eq(CapitalInfo::getEnableFlag, 1));
|
List<CustomerCapitalResult> capitalResultList = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId()).list();
|
Map<String, List<CustomerCapitalResult>> collect = null;
|
if (capitalResultList != null && !capitalResultList.isEmpty()) {
|
collect = capitalResultList.stream().collect(Collectors.groupingBy(CustomerCapitalResult::getCapitalInfoCode));
|
}
|
log.info("日志编号:" + logNumber + " checkCapitalInfo:{} ", result);
|
for (CapitalInfo capitalInfo : result) {
|
try {
|
int fundType = capitalInfo.getFundType().intValue();
|
log.info("日志编号:" + logNumber + "资方列表-撞库 fundType:" + fundType);
|
if (CapitalTypeEnum.UNION.getCode().equals(capitalInfo.getType()) && fundType == 0) {
|
// 标注:随易花撞库可以参考这里
|
log.info("资方:{} 开始撞库", capitalInfo.getName());
|
checkCustomerByChannelUnion(capitalInfo, customer, customerUser, logNumber);
|
continue;
|
}
|
if (material != null && fundType == 0 && !(CapitalTypeEnum.LVDI_HALF.getCode().equals(capitalInfo.getType()))) {//
|
continue;
|
}
|
// 2024-08-21新增:半流程不加入该流程
|
Integer collionMode = capitalInfo.getCollionMode();
|
if (!Objects.isNull(collionMode) && collionMode.intValue() == 1 && !"慧借".equals(capitalInfo.getName())) {// 半流程且不是慧借
|
continue;
|
}
|
if (collect != null && collect.get(capitalInfo.getCode()) != null && !collect.get(capitalInfo.getCode()).isEmpty()) {
|
continue;
|
}
|
log.info("日志编号:" + logNumber + "资方列表-撞库 businessType:{} code:{} type:{}",
|
customerUser.getBusinessType(), capitalInfo.getCode(), capitalInfo.getType());
|
if (CustomerUserBusinessTypeEnum.RONG_YI_TUI.getCode().equals(customerUser.getBusinessType())) {
|
if (!(CapitalInfoTypeCodeEnum.YI_XIN.getCode().equals(capitalInfo.getCode()))) {
|
continue;
|
}
|
// if (!(CapitalInfoTypeCodeEnum.YI_XIN.getCode().equals(capitalInfo.getCode())
|
// || CapitalInfoTypeCodeEnum.XIAO_HUA_QIAN_BAO.getCode().equals(capitalInfo.getCode()))) {
|
// continue;
|
// }
|
}
|
|
if (CapitalTypeEnum.COMMON.getCode().equals(capitalInfo.getType())) {
|
if (CapitalInfoTypeCodeEnum.XIN_YONG_FEI.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByXinYongFei(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.HUI_ZHI_XIN.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByHuiZhiXin(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.YI_BEI.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByYiBei(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.ZHONG_ZAN.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByZhongZan(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.TAO_JIN_HUI.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByTaoJinHui(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.XIN_YE_YOU_PIN.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByXinYeYouPin(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.DOU_DOU_QIAN.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByDouDouQian(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.RONG_DUO_DUO.getCode().equals(capitalInfo.getCode())) {
|
checkCustomerByRongDuoDuo(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.HENG_YI_DAI.getCode().equals(capitalInfo.getCode())) {
|
hengYiDaiService.checkCustomerByHengYiDai(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.XIAO_BAI_YOU_KA.getCode().equals(capitalInfo.getCode())) {
|
xiaoBaiYouKaService.checkCustomerByXiaoBaiYouKa(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalInfoTypeCodeEnum.TAO_HUI_HUA.getCode().equals(capitalInfo.getCode())) {
|
taoHuiHuaService.checkCustomerByTaoHuiHua(capitalInfo, customer, customerUser, logNumber);
|
}
|
} else if (CapitalTypeEnum.LVDI_HALF.getCode().equals(capitalInfo.getType())) {
|
checkCustomerByLvdi(capitalInfo, customer, customerUser, logNumber);
|
} else if (CapitalTypeEnum.UNION.getCode().equals(capitalInfo.getType()) || CapitalTypeEnum.UNION_HALF.getCode().equals(capitalInfo.getType())) {
|
// 标注:随易花撞库可以参考这里
|
log.info("资方:{} 开始撞库", capitalInfo.getName());
|
checkCustomerByChannelUnion(capitalInfo, customer, customerUser, logNumber);
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方列表批量撞库失败", e);
|
}
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方列表批量撞库失败", e);
|
}
|
log.info("日志编号:" + logNumber + "资方列表-撞库结束");
|
}
|
|
/**
|
* 标注:随易花可以参考这里
|
* @param customer 客户申请记录
|
*/
|
@Override
|
public void pushHjqb(Customer customer) {
|
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
|
.eq(CustomerUser::getPhone, customer.getPhone()));
|
if (customerUser == null) {
|
log.error("日志编号:" + customer.getPhone() + "资方列表-对应用户不存在");
|
}
|
hjqbUtil.hjqbPushNoIncome(customerUser, "HUI_JIE_QIAN_BAO");
|
}
|
|
/**
|
* 标注:随易花可以参考这里
|
* @param customer 客户申请记录
|
*/
|
@Override
|
public void autoPushCapitalInfo(Customer customer) {
|
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
|
.eq(CustomerUser::getPhone, customer.getPhone()));
|
if (customerUser == null) {
|
log.error("日志编号:" + customer.getPhone() + "资方列表-对应用户不存在");
|
}
|
List<CapitalInfo> capitalInfos = capitalInfoMapper.gettVerifyAutoPushCapitalList(customerUser.getId(), customer.getId());
|
|
if (capitalInfos != null && capitalInfos.size() > 0) {
|
// 2024-08-22新增:随机选择三个非半流程撞库
|
// 1.随机选择3个并从小到大排序
|
Collections.shuffle(capitalInfos);
|
List<CapitalInfo> list = capitalInfos.stream()
|
.limit(3)
|
.collect(Collectors.toList()).stream().sorted(Comparator.comparingInt(CapitalInfo::getSeq)).collect(Collectors.toList());
|
|
for (CapitalInfo capitalInfo : list) {
|
//for (CapitalInfo capitalInfo : capitalInfos) {
|
try {
|
pushCustomer(capitalInfo, customerUser, null);
|
} catch (Exception e) {
|
log.error("日志编号:" + capitalInfo.getName() + "推送异常", e);
|
}
|
}
|
}
|
}
|
|
/**
|
* 从浏览器h5推送数据,不包括慧借钱包
|
* @param customer 客户申请记录
|
*/
|
@Override
|
public void h5AutoPushCapitalInfo(Customer customer) {
|
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
|
.eq(CustomerUser::getPhone, customer.getPhone()));
|
if (customerUser == null) {
|
log.error("日志编号:" + customer.getPhone() + "资方列表-对应用户不存在");
|
}
|
List<CapitalInfo> capitalInfos = capitalInfoMapper.gettVerifyAutoPushCapitalList(customerUser.getId(), customer.getId());
|
if (capitalInfos != null && capitalInfos.size() > 0) {
|
// 2024-08-22新增:随机选择三个非半流程撞库
|
// 1.随机选择3个并从小到大排序
|
Collections.shuffle(capitalInfos);
|
List<CapitalInfo> list = capitalInfos.stream()
|
.limit(3)
|
.collect(Collectors.toList()).stream().sorted(Comparator.comparingInt(CapitalInfo::getSeq)).collect(Collectors.toList());
|
|
for (CapitalInfo capitalInfo : list) {
|
//for (CapitalInfo capitalInfo : capitalInfos) {
|
try {
|
CapitalPushDto capitalPushDto = new CapitalPushDto();
|
// capitalPushDto.setIsNotPushHjqb(true);
|
pushCustomer(capitalInfo, customerUser, capitalPushDto);
|
} catch (Exception e) {
|
log.error("日志编号:" + capitalInfo.getName() + "推送异常", e);
|
}
|
}
|
}
|
}
|
|
|
/**
|
* 检测用户信息
|
*
|
* @param request
|
* @return
|
*/
|
@Override
|
public CustomerUser checkUser(HttpServletRequest request) {
|
String token = request.getHeader("Authorization");
|
UserDetail user = UserUtil.getUser(token);
|
if (user == null) throw new CommonException("用户Token无效");
|
CustomerUser customerUser = customerUserMapper.selectById(user.getId());
|
if (customerUser == null) throw new CommonException("用户不存在");
|
return customerUser;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public CustomerCapitalResult checkCustomerByLvdi(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
if (customerUser.getTestFlag() != null && customerUser.getTestFlag()) {
|
log.info("日志编号:" + logNumber + "此用户为测试用户,不推送给" + capitalInfo.getName());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
} else {
|
UUID uuid = UUID.randomUUID();
|
String creditNo = uuid.toString().replace("-", "");
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "对接原始撞库数据" + customer.toString());
|
log.info("日志编号:" + logNumber + "资方信息表" + capitalInfo.toString());
|
log.info(String.valueOf(capitalInfo.getId() == 4L));
|
capitalResult.setCreditNo(creditNo);
|
// 绿地初筛接口
|
// 容易花不推送
|
RbResponse rbResponse = null;
|
if (capitalInfo.getId() == 1L){//众赞
|
rbResponse = zhongZanUtil.checkUser(capitalInfo, customer, customerUser);
|
}else if(capitalInfo.getId() == 4L && capitalInfo.getAcquisitionSwitch().equals(1)){//轻花优品
|
rbResponse = qingHuaYouPinUtil.checkUser(capitalInfo, customer, customerUser);
|
}
|
if (!Objects.isNull(rbResponse)) {
|
if ("0".equals(rbResponse.getCode()) || "200".equals(rbResponse.getCode())) {//为了适配轻花优品加了200
|
log.info("日志编号:" + logNumber + " " + capitalInfo.getName() + "初筛接口撞库:准入");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.info("日志编号:" + logNumber + " " + capitalInfo.getName() + "初筛接口撞库:拒绝");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}else {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "初筛接口撞库:返回请求值为空");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
/*YxApplyCheckResponse yxCheckResponse = yxUtil.yxApplyCheck(creditNo, customer.getName(), customer.getIdCard(),
|
customer.getPhone(), String.valueOf(customerUser.getId()), yxUtil.getFunding(capitalInfo.getCode()), log, logNumber);
|
if (yxCheckResponse != null) {
|
// 请求成功并且准入
|
if (yxCheckResponse.isSuccess() && "01".equals(yxCheckResponse.getApprovalResult())) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "初筛接口撞库:准入");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "初筛接口撞库:拒绝");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
} else {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "初筛接口撞库:返回请求值为空");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}*/
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "初筛接口撞库失败", e);
|
}
|
if (CustomerUserBusinessTypeEnum.RONG_YI_TUI.getCode().equals(customerUser.getBusinessType())) {
|
capitalResult.setCapitalResultSourceCode(CapitalResultSourceCodeEnum.RONG_YI_TUI.getCode());
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
/**
|
* 于2022-11-29新增:
|
* 标注:随易花可以参考这里
|
* @param isNotCheckResult 若为true则不需要判断approval_result或check_result为1
|
* @return
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
public LvdiPushResultVo pushCustomerByLvdi(CapitalInfo capitalInfo, CustomerUser customerUser, String
|
platform, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "对接流程开始");
|
LvdiPushResultVo pushResultVo = new LvdiPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
log.info("日志编号:" + logNumber + customer.getId()+","+customerUser.getId()+","+capitalInfo.getCode());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCheckResult, 1)
|
.eq(CustomerCapitalResult::getCapitalInfoCode, capitalInfo.getCode())
|
.one();
|
if (capitalResult == null) {
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
pushResultVo.setCheckResult(true);
|
} else {
|
pushResultVo.setCheckResult(false);
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "数据推送开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
try {
|
//绿地返回解密
|
customer.setCreditNo(capitalResult.getCreditNo());
|
boolean canPush = true;
|
/*if (CapitalInfoTypeCodeEnum.PU_RONG_HUA.getCode().equals(capitalInfo.getCode())) {
|
boolean filter = hengYiDaiService.filterCustomerByHengYidai(customer, capitalInfo, logNumber);
|
if (!filter) {
|
canPush = false;
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
wrapper.set(CustomerCapitalResult::getFailedReason, "不满足推送要求,进行内部过滤");
|
update(wrapper);
|
}
|
}*/
|
String approvalStatus ="";
|
if (canPush) {
|
// 授信
|
boolean isSucc = false;
|
if(capitalInfo.getId() == 1L){//众赞
|
isSucc = zhongZanUtil.pushProfile(customer);
|
}else if(capitalInfo.getId() == 4L && capitalInfo.getAcquisitionSwitch().equals(1)){//轻花
|
RbResponse rbResponse = qingHuaYouPinUtil.pushProfile(customer);
|
cn.hutool.json.JSONObject data = rbResponse.getData();
|
approvalStatus = (String) data.get("approvalStatus");
|
if("200".equals(rbResponse.getCode())){
|
isSucc = true;
|
}
|
}
|
if (isSucc) {
|
log.info("日志编号:" + logNumber + " " + capitalInfo.getName() + "授信申请成功");
|
//保存绿地授权编号
|
customerUserMapper.update(null, Wrappers.<CustomerUser>lambdaUpdate()
|
.set(CustomerUser::getCreditNo, capitalResult.getCreditNo())
|
.eq(CustomerUser::getId, customerUser.getId()));
|
if(capitalInfo.getId() == 4L){
|
log.info("日志编号:" + logNumber + ",id=" + capitalInfo.getId() + "授信申请成功");
|
if ("AUDIT_PASS".equals(approvalStatus)){
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
capitalResult.setThirdOrderStatus(HyGetOrderStatusResponse.STATUS_AUDIT_SUCCESS);
|
}else if ("AUDITING".equals(approvalStatus)){
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_WAIT.getCode());
|
capitalResult.setThirdOrderStatus(HyGetOrderStatusResponse.STATUS_AUDIT_WAIT);
|
}else if ("AUDIT_REJECT".equals(approvalStatus)){
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REFUSE.getCode());
|
capitalResult.setThirdOrderStatus(HyGetOrderStatusResponse.STATUS_AUDIT_FAIL);
|
}
|
|
}else {
|
log.info("日志编号:" + logNumber + ",其他" + capitalInfo.getId() + "授信申请成功");
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_WAIT.getCode());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
log.info("日志编号:" + logNumber + ",CustomerCapitalResult" + capitalResult.getThirdOrderStatus());
|
} else {
|
if(capitalInfo.getId() == 4L){
|
capitalResult.setThirdOrderStatus(HyGetOrderStatusResponse.STATUS_AUDIT_FAIL);
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REFUSE.getCode());
|
}else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
}
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "授信申请失败");
|
}
|
/*YXResponse yxResponse = yxUtil.yxCreditApply(customer, String.valueOf(customerUser.getId()), yxUtil.getFunding(capitalInfo.getCode()), log, logNumber);
|
if (yxResponse != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "授权申请返回结果" + yxResponse.toString());
|
if (yxResponse.isSuccess()) {
|
//保存绿地授权编号
|
customerUserMapper.update(null, Wrappers.<CustomerUser>lambdaUpdate()
|
.set(CustomerUser::getCreditNo, capitalResult.getCreditNo())
|
.eq(CustomerUser::getId, customerUser.getId()));
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_WAIT.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "授权申请被拒绝" + yxResponse.toString());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} else {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}*/
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "授信申请请求失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "数据推送结束");
|
}
|
|
// 2022-11-29新增:不需要判断ApprovalResult为1
|
boolean impl = false;// 是否要执行获取url动作
|
if (isNotCheckResult) {
|
impl = true;
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult()) && capitalResult.getCapitalInfoId() != 4L ) {
|
impl = true;
|
}
|
}
|
// 完
|
|
// 2022-11-28修改:注释掉
|
// if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (impl) {
|
try {
|
YxLoanResponse response = yxUtil.yxGetLoanUrl(capitalResult.getCustomerUserId().toString(), capitalResult.getCreditNo(), platform, yxUtil.getFunding(capitalResult.getCapitalInfoCode()), log, logNumber);
|
if (response != null) {
|
if (response.isSuccess()) {
|
pushResultVo.setUrl(response.getReturnUrl());
|
pushResultVo.setUrlType(response.getUrlType());
|
}
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "获取借贷链接失败", e);
|
}
|
}
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "对接流程结束");
|
return pushResultVo;
|
}
|
|
@Transactional(rollbackFor = Exception.class)
|
@Override
|
public CustomerCapitalResult checkCustomerByXinYongFei(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "信用飞撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
XinYongFeiResponse xinYongFeiResponse = xinYongFeiUtil.collisionLibraryRequest(customerUser.getPhone());
|
if (xinYongFeiResponse == null) {
|
log.error("日志编号:" + logNumber + "信用飞错误,撞库对接返回为空");
|
throw new CommonException("信用飞错误,撞库对接失败");
|
} else {
|
if (xinYongFeiResponse.getCode() == 0) {
|
log.info("日志编号:" + logNumber + "信用飞,撞库对接信息:{}", xinYongFeiResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.error("日志编号:" + logNumber + "信用飞错误,撞库对接失败:{}", xinYongFeiResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "信用飞错误,撞库接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + "信用飞撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
/**
|
* 于2022-11-29新增:
|
*
|
* @param isNotCheckResult 若为true则不需要判断approval_result或check_result为1
|
* @return
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
public XinYongFeiPushResultVo pushCustomerByXinYongFei(CapitalInfo capitalInfo, CustomerUser
|
customerUser, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "信用飞对接流程开始");
|
XinYongFeiPushResultVo pushResultVo = new XinYongFeiPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.XIN_YONG_FEI.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "信用飞资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
pushResultVo.setCheckResult(true);
|
// pushResultVo.setUrl(xinYongFeiUtil.getDownloadAddress());
|
} else {
|
pushResultVo.setCheckResult(false);
|
}
|
|
// 于2022-11-29新增
|
if (isNotCheckResult) {// 不需要判断CheckResult是否为1
|
pushResultVo.setUrl(xinYongFeiUtil.getDownloadAddress());
|
} else {
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
pushResultVo.setUrl(xinYongFeiUtil.getDownloadAddress());
|
}
|
}
|
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
}
|
log.info("日志编号:" + logNumber + "信用飞对接流程结束");
|
return pushResultVo;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public CustomerCapitalResult checkCustomerByHuiZhiXin(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "汇智信撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
// 汇智信撞库判断是否有身份证正反面图片,如果没有撞库失败
|
if (StringUtils.isBlank(customer.getIdCardBackPath()) || StringUtils.isBlank(customer.getIdCardFrontPath())) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
capitalResultMapper.insert(capitalResult);
|
return capitalResult;
|
}
|
try {
|
HzxResponse<HzxResponseData> hzxResponse = hzxUtil.checkUser(customer.getIdCard(), customerUser.getPhone(), customerUser.getName());
|
if (hzxResponse == null) {
|
log.error("日志编号:" + logNumber + "汇智信错误,撞库对接返回为空");
|
throw new CommonException("汇智信错误,撞库对接失败");
|
} else {
|
if ("0000".equals(hzxResponse.getCode()) && "000".equals(hzxResponse.getData().getCode())) {
|
log.info("日志编号:" + logNumber + "汇智信,撞库对接信息:{}", hzxResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
//生成订单号,36位字符
|
String orderNo = ConstantsUtil.getOrder();
|
capitalResult.setCreditNo(orderNo);
|
} else {
|
log.error("日志编号:" + logNumber + "汇智信错误,撞库对接失败:{}", hzxResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "汇智信错误,撞库接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + "汇智信撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
/**
|
* 于2022-11-29新增:
|
*
|
* @param isNotCheckResult 若为true则不需要判断approval_result或check_result为1
|
* @return
|
*/
|
public HuiZhiXinPushResultVo pushCustomerByHuiZhiXin(CapitalInfo capitalInfo, CustomerUser customerUser, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "汇智信对接流程开始");
|
HuiZhiXinPushResultVo huiZhiXinPushResultVo = new HuiZhiXinPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.HUI_ZHI_XIN.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "汇智信资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
huiZhiXinPushResultVo.setCheckResult(true);
|
} else {
|
huiZhiXinPushResultVo.setCheckResult(false);
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信数据推送开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
String orderNo = capitalResult.getCreditNo();
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "订单号:" + orderNo);
|
if (StringUtils.isEmpty(orderNo)) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信订单号为空");
|
throw new CommonException("订单号为空");
|
}
|
try {
|
if (StringUtils.isBlank(customer.getRelationshipName()) || StringUtils.isBlank(customer.getRelationshipPhone()) || StringUtils.isBlank(customer.getFacePhotoPath())
|
|| StringUtils.isBlank(customer.getContactName()) || StringUtils.isBlank(customer.getContactPhone()) || StringUtils.isBlank(customer.getCompanyPhone()) || StringUtils.isBlank(customer.getCompanyName())
|
|| StringUtils.isBlank(customer.getCompanyCity()) || StringUtils.isBlank(customer.getCompanyProvince())
|
|| StringUtils.isBlank(customer.getCompanyCity()) || StringUtils.isBlank(customer.getMaritalStatus())) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "不满足汇智信推送要求");
|
return huiZhiXinPushResultVo;
|
}
|
HzxResponse apply = hzxUtil.apply(orderNo);
|
if (apply != null) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信授权申请返回结果" + apply.toString());
|
if (apply.isSuccess()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信授权申请失败" + apply.toString());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} else {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信数据推送结束");
|
}
|
|
// 2022-11-29新增:不需要判断ApprovalResult为1
|
boolean impl = false;// 是否要执行获取url动作
|
if (isNotCheckResult) {
|
impl = true;
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
impl = true;
|
}
|
}
|
// 完
|
|
// 2022-11-28修改:注释掉
|
// if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (impl) {
|
try {
|
HzxGetResponse partnerUrl = hzxUtil.getPartnerUrl(capitalResult.getCreditNo(), null);
|
if (partnerUrl != null) {
|
if ("0000".equals(partnerUrl.getCode())) {
|
huiZhiXinPushResultVo.setUrl(partnerUrl.getData().getUrl());
|
}
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + capitalInfo.getName() + "获取借贷链接失败", e);
|
}
|
}
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "汇智信对接流程结束");
|
return huiZhiXinPushResultVo;
|
}
|
|
@Override
|
public CustomerCapitalResult checkCustomerByTaoJinHui(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "淘金荟撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
TjhCollisionResponse tjhCollisionResponse = tjhUtil.checkUser(customer.getPhone(), customer.getOs(), customer.getDeviceBrand(), customer.getDeviceOsVersion(), customer.getSystemModel());
|
if (tjhCollisionResponse == null) {
|
log.error("日志编号:" + logNumber + "淘金荟错误,撞库对接返回为空");
|
throw new CommonException("淘金荟错误,撞库对接失败");
|
} else {
|
if (1 == tjhCollisionResponse.getStatus()) {
|
log.info("日志编号:" + logNumber + "淘金荟,撞库对接信息:{}", tjhCollisionResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.error("日志编号:" + logNumber + "淘金荟错误,撞库对接失败:{}", tjhCollisionResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "淘金荟错误,撞库接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + "淘金荟撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
/**
|
* 于2022-11-29新增:
|
*
|
* @param isNotCheckResult 若为true则不需要判断approval_result或check_result为1
|
* @return
|
*/
|
public TaoJinHuiPushResultVo pushCustomerByTaoJinHui(CapitalInfo capitalInfo, CustomerUser customerUser, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "淘金荟对接流程开始");
|
TaoJinHuiPushResultVo taoJinHuiPushResultVo = new TaoJinHuiPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.TAO_JIN_HUI.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "淘金荟资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
taoJinHuiPushResultVo.setCheckResult(true);
|
} else {
|
taoJinHuiPushResultVo.setCheckResult(false);
|
}
|
String url = null;
|
TjhAutoResponse register = null;
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",淘金荟数据推送开始");
|
try {
|
register = tjhUtil.register(customer.getPhone(), customer.getOs(), customer.getDeviceBrand(), customer.getDeviceOsVersion(), customer.getSystemModel());
|
if (register != null) {
|
// if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult()) && register.getUrl() != null) {
|
// 2022-11-29新增:不需要判断ApprovalResult(为1
|
if (isNotCheckResult) {
|
if (register.getUrl() != null) {
|
url = register.getUrl();
|
}
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult()) && register.getUrl() != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",淘金荟数据返回地址为:" + register.getUrl());
|
url = register.getUrl();
|
}
|
}
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "淘金荟授权申请返回结果" + register.toString());
|
if (1 == register.getResult()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "淘金荟授权申请失败" + register.toString());
|
}
|
} else {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "淘金荟授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "淘金荟授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "淘金荟数据推送结束");
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",淘金荟数据推送结束");
|
}
|
if (url != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",淘金荟数据返回地址为:" + url);
|
taoJinHuiPushResultVo.setUrl(url);
|
} else {
|
// 2022-11-29新增:不需要判断ApprovalResult为1
|
if (isNotCheckResult) {
|
if (register != null && register.getUrl() != null) {
|
taoJinHuiPushResultVo.setUrl(register.getUrl());
|
}
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (register != null && register.getUrl() != null) {
|
taoJinHuiPushResultVo.setUrl(register.getUrl());
|
}
|
}
|
}
|
// 完
|
}
|
/*else if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (register != null && register.getUrl() != null) {
|
taoJinHuiPushResultVo.setUrl(register.getUrl());
|
}
|
}*/
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",淘金荟对接流程结束");
|
return taoJinHuiPushResultVo;
|
}
|
|
@Override
|
public CustomerCapitalResult checkCustomerByYiBei(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "易贝分期撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
YiBeiCheckUserResponseVO yiBeiCheckUserResponseVO = yiBeiUtil.checkUser(customerUser.getPhone());
|
if (yiBeiCheckUserResponseVO == null) {
|
log.error("日志编号:" + logNumber + ",用户手机号为:" + customer.getPhone() + ",易贝分期错误,撞库对接返回为空");
|
throw new CommonException("易贝分期错误,撞库对接失败");
|
} else {
|
if (1 == yiBeiCheckUserResponseVO.getStatus() && 1 == yiBeiCheckUserResponseVO.getData().getFilterResult()) {
|
log.info("日志编号:" + logNumber + ",用户手机号为:" + customer.getPhone() + ",易贝分期,撞库对接信息:{}", yiBeiCheckUserResponseVO.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.error("日志编号:" + logNumber + ",用户手机号为:" + customer.getPhone() + ",易贝分期错误,撞库对接失败:{}", yiBeiCheckUserResponseVO.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + ",用户手机号为:" + customer.getPhone() + ",易贝分期错误,撞库接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + ",用户手机号为:" + customer.getPhone() + ",易贝分期撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
/**
|
* 于2022-11-29新增:
|
*
|
* @param isNotCheckResult 若为true则不需要判断approval_result或check_result为1
|
* @return
|
*/
|
public YiBeiPushResultVo pushCustomerByYiBei(CapitalInfo capitalInfo, CustomerUser customerUser, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "易贝分期对接流程开始");
|
YiBeiPushResultVo yiBeiPushResultVo = new YiBeiPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.YI_BEI.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "易贝分期资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
yiBeiPushResultVo.setCheckResult(true);
|
} else {
|
yiBeiPushResultVo.setCheckResult(false);
|
}
|
YiBeiRegisterResponseVO register = null;
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期数据推送开始");
|
try {
|
YiBeiRegisterDTO yiBeiRegisterDTO = new YiBeiRegisterDTO();
|
yiBeiRegisterDTO.setName(customer.getName());
|
yiBeiRegisterDTO.setPhone(customer.getPhone());
|
yiBeiRegisterDTO.setIdNo(null);
|
register = yiBeiUtil.register(yiBeiRegisterDTO);
|
if (register != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期授权申请返回结果" + register.toString());
|
if (1 == register.getStatus() && 1 == register.getData().getCode()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
if (register.getData().getValidRegistration() != null) {
|
capitalResult.setValidRegistration(register.getData().getValidRegistration());
|
}
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期授权申请失败" + register.toString());
|
}
|
} else {
|
log.error("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期授权申请返回结果为空");
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
if (capitalResult.getValidRegistration() != null) {
|
wrapper.set(CustomerCapitalResult::getValidRegistration, capitalResult.getValidRegistration());
|
}
|
update(wrapper);
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期数据推送结束");
|
}
|
|
// 2022-11-29新增:不需要判断ApprovalResult为1
|
boolean impl = false;// 是否要执行获取url动作
|
if (isNotCheckResult) {
|
impl = true;
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
impl = true;
|
}
|
}
|
// 完
|
|
// 2022-11-28修改:注释掉
|
// if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (impl) {
|
if (register != null && register.getData() != null) {
|
String url = register.getData().getUrl();
|
if (1 == register.getStatus() && 1 == register.getData().getCode() && !StringUtils.isEmpty(url)) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期数据返回地址为:" + url);
|
yiBeiPushResultVo.setUrl(url);
|
}
|
}
|
}
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ",易贝分期对接流程结束");
|
return yiBeiPushResultVo;
|
}
|
|
@Override
|
public CustomerCapitalResult checkCustomerByZhongZan(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
log.info("日志编号:" + logNumber + "中赞信服,撞库默认成功");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
capitalResultMapper.insert(capitalResult);
|
return capitalResult;
|
}
|
|
@Override
|
public ZhongZanPushResultVo pushCustomerByZhongZan(CapitalInfo capitalInfo, CustomerUser customerUser) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "中赞信服对接流程开始");
|
ZhongZanPushResultVo zhongZanPushResultVo = new ZhongZanPushResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服数据推送开始");
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.ZHONG_ZAN.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "中赞信服资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
zhongZanPushResultVo.setCheckResult(true);
|
} else {
|
zhongZanPushResultVo.setCheckResult(false);
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "中赞信服数据推送开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
try {
|
ZzxfResponse apply = zzxfUtil.dataImport(customer);
|
if (apply != null) {
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服授权申请返回结果" + apply.toString());
|
if (0 == apply.getResponseCode()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服授权申请失败" + apply.toString());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} else {
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "中赞信服授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服数据推送结束");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",中赞信服对接流程结束");
|
return zhongZanPushResultVo;
|
}
|
|
@Override
|
public CustomerCapitalResult checkCustomerByDouDouQian(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "豆豆钱撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
boolean checkResult = false;
|
boolean md5Check = doudouUtil.apiMd5Check(customer);
|
if (md5Check) {
|
log.info("日志编号:" + logNumber + "豆豆钱,撞库成功" + customerUser.getPhone());
|
boolean register = doudouUtil.register(customer);
|
if (register) {
|
log.info("日志编号:" + logNumber + "豆豆钱,注册成功" + customerUser.getPhone());
|
checkResult = true;
|
}
|
}
|
if (checkResult) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.info("日志编号:" + logNumber + "豆豆钱,撞库失败");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "豆豆钱,撞库失败,接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + "豆豆钱撞库结束");
|
return capitalResult;
|
}
|
|
// @Override
|
|
public DouDouQianOrderSubmitVo pushCustomerByDouDouQian(CapitalInfo capitalInfo, CustomerUser
|
customerUser, boolean isNotCheckResult) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "豆豆钱对接流程开始");
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.DOU_DOU_QIAN.getCode()).one();
|
DouDouQianOrderSubmitVo res = new DouDouQianOrderSubmitVo();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "豆豆钱交单进件对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
res.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult()));
|
res.setHasBindCard(true);
|
res.setUrl(doudouUtil.downloadUrl);
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
if (capitalResult.getHasBindCard() == null || capitalResult.getHasBindCard() == 0) {
|
res.setHasBindCard(false);
|
if (!isNotCheckResult) {// 于2022-11-29新增:若不需要判断
|
res.setUrl(null);
|
}
|
return res;
|
} else {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "豆豆钱交单进件开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
try {
|
String logPrefix = "日志编号:" + logNumber + ",手机号为:" + customer.getPhone();
|
boolean submitOrderFlag = doudouUtil.submitOrder(customer, logPrefix);
|
if (submitOrderFlag) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_WAIT.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "豆豆钱交单进件失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",豆豆钱交单进件结束");
|
}
|
}
|
return res;
|
}
|
|
/**
|
* 融多多撞库
|
*
|
* @param capitalInfo
|
* @param customer
|
* @param customerUser
|
* @param logNumber
|
* @return
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
@Override
|
public CustomerCapitalResult checkCustomerByRongDuoDuo(CapitalInfo capitalInfo, Customer customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + "融多多撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
try {
|
String md5Check = rongDuoDuoUtil.apiMd5Check(customer);
|
if (RongDuoDuoUtil.getResponse(md5Check).getStatus() == 200) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
log.info("日志编号:" + logNumber + "融多多,撞库成功" + customerUser.getPhone());
|
} else {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "融多多,撞库失败", customerUser.getPhone());
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + "融多多,撞库失败,接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + "融多多撞库结束");
|
return capitalResult;
|
}
|
|
/**
|
* 推送数据给融多多
|
*
|
* @param capitalInfo
|
* @param customerUser
|
* @return
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
@Override
|
public RongDuoDuoOrderSubmitVo pushCustomerByRongDuoDuo(CapitalInfo capitalInfo, CustomerUser customerUser) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "融多多对接流程开始");
|
RongDuoDuoOrderSubmitVo rongDuoDuoOrderSubmitVo = new RongDuoDuoOrderSubmitVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多数据推送开始");
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.RONG_DUO_DUO.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "融多多资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
rongDuoDuoOrderSubmitVo.setCheckResult(true);
|
} else {
|
rongDuoDuoOrderSubmitVo.setCheckResult(false);
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "融多多数据推送开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
try {
|
SanKuaiCustomer cstm = rongDuoDuoUtil.parseParam(customer);
|
String param = RongDuoDuoUtil.encrypt(JSONObject.toJSONString(cstm));
|
log.info("日志编号:" + logNumber + "加密参数:" + param);
|
String result = HttpClientUtil.getInstance().postJsonData(rongDuoDuoUtil.url2, JSONObject.toJSONString(param));
|
log.info("日志编号:" + logNumber + "融多多推送数返回:" + result);
|
RongDuoDuoResponse response = JSON.parseObject(result, RongDuoDuoResponse.class);
|
if (response != null) {
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多授权申请返回结果" + response.toString());
|
if (0 == response.getStatus()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多授权申请失败" + response.toString());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} else {
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "融多多授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多数据推送结束");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",融多多对接流程结束");
|
return rongDuoDuoOrderSubmitVo;
|
}
|
|
@Override
|
public CustomerCapitalResult checkCustomerByXinYeYouPin(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
log.info("日志编号:" + logNumber + "信业优品,撞库默认成功");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
String order = SerialGenerator.getOrder();
|
capitalResult.setCreditNo(order);
|
capitalResultMapper.insert(capitalResult);
|
return capitalResult;
|
}
|
|
@Override
|
public XinYeYouPinResultVo pushCustomerByXinYeYouPin(CapitalInfo capitalInfo, CustomerUser customerUser) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + "信业优品对接流程开始");
|
XinYeYouPinResultVo xinYeYouPinResultVo = new XinYeYouPinResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品数据推送开始");
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.XIN_YE_YOU_PIN.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "信业优品资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
xinYeYouPinResultVo.setCheckResult(true);
|
} else {
|
xinYeYouPinResultVo.setCheckResult(false);
|
}
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "信业优品数据推送开始");
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
String creditNo = capitalResult.getCreditNo();
|
try {
|
XyypResponse push = xinYeYouPinUtil.push(customer, creditNo);
|
if (push != null) {
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品授权申请返回结果" + push.toString());
|
if (200 == push.getCode()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品授权申请失败" + push.toString());
|
}
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
} else {
|
log.error("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "信业优品授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品数据推送结束");
|
}
|
log.info("日志编号:" + logNumber + ",手机号为:" + customer.getPhone() + ",信业优品对接流程结束");
|
return xinYeYouPinResultVo;
|
}
|
|
/**
|
* 标注:这里是撞库,面向产品方撞库不联登模式,对接我们文档,只推送电话号码
|
* 标注:随易花可参考这里,随易花相当于这里的撞库
|
*
|
*/
|
@Override
|
public CustomerCapitalResult checkCustomerByChannelUnion(CapitalInfo capitalInfo, Customer
|
customer, CustomerUser customerUser, String logNumber) {
|
log.info("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "撞库开始");
|
CustomerCapitalResult capitalResult = CustomerCapitalResult.initResult(capitalInfo, customerUser.getId(), customer.getId());
|
capitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode());
|
CustomerCapitalResult filterResult = capitalResultCommonService.filterCustomer(customer, capitalInfo, capitalResult, logNumber);
|
log.info("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + ",{}" + filterResult);
|
if (filterResult != null) {
|
log.info("日志编号:" + logNumber + capitalInfo.getName() + "撞库时不满足资方信息筛选条件,撞库失败");
|
return filterResult;
|
}
|
// if (StringUtils.isEmpty(capitalInfo.getAppId())) {
|
// log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据错误,缺少appid");
|
// throw new CommonException("该资方不为撞库联登模式");
|
// }
|
try {
|
if (CapitalInfoTypeCodeEnum.DOU_DOU_QIAN.getCode().equals(capitalInfo.getCode()) ||
|
"YI_XIN_QIAN_BAO".equals(capitalInfo.getCode())) {// 商品-本APP或芒小橙
|
String url = null;
|
if (CapitalInfoTypeCodeEnum.DOU_DOU_QIAN.getCode().equals(capitalInfo.getCode())) {
|
url = zhxypUtil.check(customer.getIdCard(), customer.getPhone(), customer.getName());
|
} else {
|
url = mxcUtil.push(customer.getIdCard(), customer.getPhone(), customer.getName());
|
}
|
|
if (StringUtils.isNotBlank(url)) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + ", " + capitalInfo.getName() + " 撞库联登成功");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
capitalResult.setPopupDdq(0);
|
capitalResult.setNotificationUrl(url);
|
}
|
else {
|
log.error("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + ", " + capitalInfo.getName() + " 撞库联登失败");
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
else {
|
// 若是容易花,独立处理,id=phone+System.currentTimeMillis(),返回结果是订单编号loanNo和CPS70价格yqgAmount
|
UnionloginProduct unionloginProduct = unionloginProductMapper.selectOne(new LambdaQueryWrapper<UnionloginProduct>().eq(UnionloginProduct::getAppId, capitalInfo.getAppId()));
|
if (unionloginProduct == null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "数据错误,撞库联登模式数据为空");
|
throw new CommonException("错误,资方不存在");
|
}
|
ChannelUnionCollisionResponse channelUnionCollisionResponse = channelUnionAutoUtil.getCollision(unionloginProduct.getCaptitalName(), unionloginProduct.getCaptitalPublicKey(),
|
unionloginProduct.getCaptitalUrl(), unionloginProduct.getAppId(), customer.getPhone(), customer.getIdCard(),
|
customer.getName(), customer.getCityName(), capitalInfo.getCode());
|
if (channelUnionCollisionResponse == null) {
|
log.error("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "错误,撞库对接返回为空");
|
throw new CommonException(capitalInfo.getName() + "错误,撞库对接失败");
|
} else {
|
if (200 == channelUnionCollisionResponse.getCode() && (Constants.SYHCAPITALNAME.equals(capitalInfo.getName()) ||
|
"好汇推".equals(capitalInfo.getName()) ||
|
"助贷".equals(capitalInfo.getName())) ||
|
"任意花".equals(capitalInfo.getName()) ||
|
"e时贷".equals(capitalInfo.getName()) ||
|
"慧借".equals(capitalInfo.getName()) ||
|
"商城-本APP".equals(capitalInfo.getName())
|
) {// 随易花或好汇推或助贷
|
log.info("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "撞库对接信息:{}", channelUnionCollisionResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
if ("商城-本APP".equals(capitalInfo.getName())) {
|
capitalResult.setPopupDdq(0);
|
}
|
} else if (200 == channelUnionCollisionResponse.getCode() && channelUnionCollisionResponse.getData() &&
|
!Constants.SYHCAPITALNAME.equals(capitalInfo.getName())) {
|
log.info("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "撞库对接信息:{}", channelUnionCollisionResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_SUCCESS);
|
} else {
|
log.error("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "错误,撞库对接失败:{}", channelUnionCollisionResponse.toString());
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
}
|
}
|
}
|
} catch (Exception e) {
|
capitalResult.setCheckResult(CustomerCapitalResult.CHECK_FAIL);
|
log.error("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "错误,撞库接口异常:", e);
|
}
|
capitalResultMapper.insert(capitalResult);
|
log.info("日志编号:" + logNumber + ",手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "撞库结束");
|
return capitalResult;
|
|
}
|
|
/**
|
* 标注:这里是联登
|
*/
|
@Override
|
public ChannelUnionResultVo pushCustomerByChannelUnion(CapitalInfo capitalInfo, CustomerUser
|
customerUser, CapitalPushDto capitalPushDto) {
|
String logNumber = IdUtil.randomUUID();
|
log.info("日志编号:" + logNumber + ",手机号:" + customerUser.getPhone() + "," + capitalInfo.getName() + "联登对接流程开始");
|
ChannelUnionResultVo channelUnionResultVo = new ChannelUnionResultVo();
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, capitalInfo.getCode()).one();
|
if (capitalResult == null) {
|
log.info("日志编号:" + logNumber + "," + capitalInfo.getName() + "资方对接结果不存在");
|
throw new CommonException("资方对接结果不存在");
|
}
|
if (CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
channelUnionResultVo.setCheckResult(true);
|
} else {
|
channelUnionResultVo.setCheckResult(false);
|
}
|
String url = null;
|
ChannelUnionAutoResponse register = null;
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据推送开始");
|
if (StringUtils.isEmpty(capitalInfo.getAppId())) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据错误,缺少appid");
|
throw new CommonException("该资方不为撞库联登模式");
|
}
|
try {
|
UnionloginProduct unionloginProduct = unionloginProductMapper.selectOne(new LambdaQueryWrapper<UnionloginProduct>().eq(UnionloginProduct::getAppId, capitalInfo.getAppId()));
|
if (unionloginProduct == null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据错误,撞库联登模式数据为空");
|
throw new CommonException("错误,资方不存在");
|
}
|
if ("KUAI_YI_JIN_FU".equals(capitalInfo.getCode())) {
|
register = channelUnionAutoUtil.getAuto(capitalInfo, unionloginProduct.getCaptitalPublicKey(), unionloginProduct.getCaptitalUrl(), unionloginProduct.getAppId(), customer.getPhone(), customer.getIdCard(), customer.getName());
|
} else {
|
register = channelUnionAutoUtil.getAuto(capitalInfo, unionloginProduct.getCaptitalPublicKey(), unionloginProduct.getCaptitalUrl(), unionloginProduct.getAppId(), customer.getPhone(), null, customer.getName());
|
}
|
if (register != null) {
|
if ("1".equals(capitalPushDto.getIsNotApprovalResult())) {// 于2022-11-28新增:是否不需要判断ApprovalResult为1
|
if (register.getUrl() != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据返回地址为:" + register.getUrl());
|
url = register.getUrl();
|
}
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult()) && register.getUrl() != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据返回地址为:" + register.getUrl());
|
url = register.getUrl();
|
}
|
}
|
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "," + capitalInfo.getName() + "联登授权申请返回结果" + register.toString());
|
if (200 == register.getCode()) {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode());
|
} else {
|
capitalResult.setApprovalResult(CapitalApprovalResultEnum.APPROVAL_REQUEST_FAIL.getCode());
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "," + capitalInfo.getName() + "登信授权申请失败" + register.toString());
|
}
|
} else {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "," + capitalInfo.getName() + "联登授权申请返回结果为空");
|
throw new CommonException("授权申请返回结果为空");
|
}
|
} catch (Exception e) {
|
log.error("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "," + capitalInfo.getName() + "联登授权申请失败", e);
|
throw new CommonException("请求异常");
|
}
|
log.info("日志编号:" + logNumber + "资方结果id:" + capitalResult.getId() + "," + capitalInfo.getName() + "联登数据推送结束");
|
if (CapitalResultStatusEnum.CHECK.getCode().equals(capitalResult.getStatus())
|
&& CustomerCapitalResult.CHECK_SUCCESS.equals(capitalResult.getCheckResult())) {
|
capitalResult.setStatus(CapitalResultStatusEnum.APPLY.getCode());
|
LambdaUpdateWrapper<CustomerCapitalResult> wrapper = capitalResultCommonService.getWrapper(capitalInfo, capitalResult);
|
update(wrapper);
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据推送结束");
|
}
|
if (url != null) {
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登数据返回地址为:" + url);
|
channelUnionResultVo.setUrl(url);
|
} else {
|
if ("1".equals(capitalPushDto.getIsNotApprovalResult())) {// 于2022-11-28新增:是否不需要判断ApprovalResult为1
|
if (register != null && register.getUrl() != null) {
|
channelUnionResultVo.setUrl(register.getUrl());
|
}
|
} else {
|
if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
if (register != null && register.getUrl() != null) {
|
channelUnionResultVo.setUrl(register.getUrl());
|
}
|
}
|
}
|
// if (CapitalApprovalResultEnum.APPROVAL_SUCCESS.getCode().equals(capitalResult.getApprovalResult())) {
|
// if (register != null && register.getUrl() != null) {
|
// channelUnionResultVo.setUrl(register.getUrl());
|
// }
|
// }
|
}
|
log.info("日志编号:" + logNumber + ",用户手机号:" + customer.getPhone() + "," + capitalInfo.getName() + "联登对接流程结束");
|
return channelUnionResultVo;
|
}
|
|
@Override
|
public CapitalRepayEntryVo getRepayEntry(HttpServletRequest request) {
|
CapitalRepayEntryVo entryVo = new CapitalRepayEntryVo();
|
entryVo.setShowRepayEntry(false);
|
CustomerUser customerUser = checkUser(request);
|
Customer customer = customerMapper.getLatestCustomerRecord(customerUser.getPhone());
|
if (customer == null) {
|
return entryVo;
|
}
|
CustomerCapitalResult capitalResult = lambdaQuery()
|
.eq(CustomerCapitalResult::getCustomerUserId, customerUser.getId())
|
.eq(CustomerCapitalResult::getCustomerRecordId, customer.getId())
|
.eq(CustomerCapitalResult::getCapitalInfoCode, CapitalInfoTypeCodeEnum.HENG_YI_DAI.getCode()).one();
|
if (capitalResult == null) {
|
return entryVo;
|
}
|
if (HyGetOrderStatusResponse.STATUS_LOAN_APPLY_SUCCESS.equals(capitalResult.getThirdOrderStatus()) ||
|
HyGetOrderStatusResponse.STATUS_REPAY_NORMAL.equals(capitalResult.getThirdOrderStatus()) ||
|
HyGetOrderStatusResponse.STATUS_REPAY_OVERDUE.equals(capitalResult.getThirdOrderStatus())) {
|
entryVo.setShowRepayEntry(true);
|
entryVo.setCapitalResultId(capitalResult.getId());
|
entryVo.setCapitalId(capitalResult.getCapitalInfoId());
|
}
|
return entryVo;
|
}
|
|
@Override
|
public void notificationStatistics(Integer type, String capitalResultId, String notificationUrl) {
|
if (StringUtils.isEmpty(capitalResultId)) {
|
throw new CommonException("资方结果id不能为空");
|
}
|
Long aLong = Long.valueOf(capitalResultId);
|
CustomerCapitalResult customerCapitalResult = getById(aLong);
|
if (customerCapitalResult == null) {
|
throw new CommonException("资方结果不存在");
|
}
|
if (type == null) {
|
throw new CommonException("统计类型不能为空");
|
}
|
if (NotificationEnum.ACCESS_POPUP_HOME.getCode().equals(type)) {
|
Integer accessPopupHomeSum = customerCapitalResult.getAccessPopupHomeSum();
|
accessPopupHomeSum = accessPopupHomeSum + 1;
|
customerCapitalResult.setAccessPopupHomeSum(accessPopupHomeSum);
|
} else if (NotificationEnum.ACCESS_POPUP_RETURN.getCode().equals(type)) {
|
Integer accessPopupReturnSum = customerCapitalResult.getAccessPopupReturnSum();
|
accessPopupReturnSum = accessPopupReturnSum + 1;
|
customerCapitalResult.setAccessPopupReturnSum(accessPopupReturnSum);
|
customerCapitalResult.setNotificationUrl(notificationUrl);
|
} else if (NotificationEnum.ACCESS_CLICKED_HOME.getCode().equals(type)) {
|
Integer accessClickedHomeSum = customerCapitalResult.getAccessClickedHomeSum();
|
accessClickedHomeSum = accessClickedHomeSum + 1;
|
customerCapitalResult.setAccessClickedHomeSum(accessClickedHomeSum);
|
} else if (NotificationEnum.ACCESS_CLICKED_RETURN.getCode().equals(type)) {
|
Integer accessClickedReturnSum = customerCapitalResult.getAccessClickedReturnSum();
|
accessClickedReturnSum = accessClickedReturnSum + 1;
|
customerCapitalResult.setAccessClickedReturnSum(accessClickedReturnSum);
|
}
|
update(Wrappers.<CustomerCapitalResult>lambdaUpdate()
|
.set(CustomerCapitalResult::getAccessPopupHomeSum, customerCapitalResult.getAccessPopupHomeSum())
|
.set(CustomerCapitalResult::getAccessPopupReturnSum, customerCapitalResult.getAccessPopupReturnSum())
|
.set(CustomerCapitalResult::getAccessClickedHomeSum, customerCapitalResult.getAccessClickedHomeSum())
|
.set(CustomerCapitalResult::getAccessClickedReturnSum, customerCapitalResult.getAccessClickedReturnSum())
|
.set(CustomerCapitalResult::getNotificationUrl, customerCapitalResult.getNotificationUrl())
|
.eq(CustomerCapitalResult::getId, capitalResultId));
|
}
|
|
|
private final SyhUtil syhUtil;
|
private final HhtUtil hhtUtil;
|
private final ZhdUtil zhdUtil;
|
private final RyhUtil ryhUtil;
|
private final HjqbUtil hjqbUtil;
|
private final EsdUtil esdUtil;
|
@Override
|
/**
|
* 标注:这里是调用联登的地方
|
* 标注:随易花可以参考这里,这里是推送用户资料给资方
|
*/
|
public ResultJson<?> pushCustomer(CapitalInfo capitalInfo, CustomerUser customerUser, CapitalPushDto capitalPushDto) {
|
log.info("日志编号: CapitalPushDto "+capitalPushDto);
|
boolean isNotPushHjqb = false;// 是否不需要推送慧借钱包
|
if (!Objects.isNull(capitalPushDto)) {
|
Boolean isNotPush = capitalPushDto.getIsNotPushHjqb();
|
if (!Objects.isNull(isNotPush)) {
|
if(isNotPush) {
|
isNotPushHjqb = true;
|
}
|
}
|
}
|
if (CapitalTypeEnum.COMMON.getCode().equals(capitalInfo.getType())) {// 独立对接模式
|
if (CapitalInfoTypeCodeEnum.XIN_YONG_FEI.getCode().equals(capitalInfo.getCode())) {
|
// 于2022-11-28新增:"1".equals(capitalPushDto.getIsNotApprovalResult())
|
XinYongFeiPushResultVo xinYongFeiPushResultVo = pushCustomerByXinYongFei(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
// 完
|
|
return ResultJson.ok(xinYongFeiPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.HUI_ZHI_XIN.getCode().equals(capitalInfo.getCode())) {
|
HuiZhiXinPushResultVo huiZhiXinPushResultVo = pushCustomerByHuiZhiXin(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(huiZhiXinPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.YI_BEI.getCode().equals(capitalInfo.getCode())) {
|
YiBeiPushResultVo yiBeiPushResultVo = pushCustomerByYiBei(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(yiBeiPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.ZHONG_ZAN.getCode().equals(capitalInfo.getCode())) {
|
ZhongZanPushResultVo zhongZanPushResultVo = pushCustomerByZhongZan(capitalInfo, customerUser);
|
return ResultJson.ok(zhongZanPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.TAO_JIN_HUI.getCode().equals(capitalInfo.getCode())) {
|
TaoJinHuiPushResultVo taoJinHuiPushResultVo = pushCustomerByTaoJinHui(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(taoJinHuiPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.XIN_YE_YOU_PIN.getCode().equals(capitalInfo.getCode())) {
|
XinYeYouPinResultVo xinYeYouPinResultVo = pushCustomerByXinYeYouPin(capitalInfo, customerUser);
|
return ResultJson.ok(xinYeYouPinResultVo);
|
} else if (CapitalInfoTypeCodeEnum.DOU_DOU_QIAN.getCode().equals(capitalInfo.getCode())) {
|
DouDouQianOrderSubmitVo vo = pushCustomerByDouDouQian(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(vo);
|
} else if (CapitalInfoTypeCodeEnum.RONG_DUO_DUO.getCode().equals(capitalInfo.getCode())) {
|
RongDuoDuoOrderSubmitVo vo = pushCustomerByRongDuoDuo(capitalInfo, customerUser);
|
return ResultJson.ok(vo);
|
} else if (CapitalInfoTypeCodeEnum.HENG_YI_DAI.getCode().equals(capitalInfo.getCode())) {
|
HengYiDaiPushResultVo hengYiDaiPushResultVo = hengYiDaiService.pushCustomerByHengYiDai(capitalInfo, customerUser);
|
return ResultJson.ok(hengYiDaiPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.XIAO_BAI_YOU_KA.getCode().equals(capitalInfo.getCode())) {
|
XiaoBaiYouKaPushResultVo xiaoBaiYouKaPushResultVo = xiaoBaiYouKaService.pushCustomerByXiaoBaiYouKa(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(xiaoBaiYouKaPushResultVo);
|
} else if (CapitalInfoTypeCodeEnum.TAO_HUI_HUA.getCode().equals(capitalInfo.getCode())) {
|
TaoHuiHuaPushResultVo taoHuiHuaPushResultVo = taoHuiHuaService.pushCustomerByTaoHuiHua(capitalInfo, customerUser,
|
"1".equals(capitalPushDto.getIsNotApprovalResult()));
|
return ResultJson.ok(taoHuiHuaPushResultVo);
|
}
|
}
|
else if (CapitalTypeEnum.LVDI_HALF.getCode().equals(capitalInfo.getType())) {// 绿地半流程对接
|
String platform = null;
|
if (capitalPushDto != null) {
|
platform = capitalPushDto.getPlatform();
|
}
|
boolean isNotApprovalResult = capitalPushDto == null? false:"1".equals(capitalPushDto.getIsNotApprovalResult());
|
LvdiPushResultVo lvdiPushResultVo = pushCustomerByLvdi(capitalInfo, customerUser, platform,
|
isNotApprovalResult);
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else if (Constants.SYHCAPITALNAME.equals(capitalInfo.getName())) {// 随易花推送
|
// 返回LvdiPushResultVo
|
LvdiPushResultVo lvdiPushResultVo = syhUtil.syhPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else if ("好汇推".equals(capitalInfo.getName())) {//好汇推推送
|
// 返回LvdiPushResultVo
|
LvdiPushResultVo lvdiPushResultVo = hhtUtil.hhtPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else if ("助贷".equals(capitalInfo.getName())) {//助贷推送
|
// 返回LvdiPushResultVo
|
LvdiPushResultVo lvdiPushResultVo = zhdUtil.zhdPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else if ("任意花".equals(capitalInfo.getName())) {//任意花
|
// 返回LvdiPushResultVo
|
LvdiPushResultVo lvdiPushResultVo = ryhUtil.ryhPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}else if ("慧借".equals(capitalInfo.getName())) {//慧借钱包
|
// 返回LvdiPushResultVo
|
if (!isNotPushHjqb) {
|
LvdiPushResultVo lvdiPushResultVo = hjqbUtil.hjqbPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else {
|
return null;
|
}
|
}
|
else if ("e时贷".equals(capitalInfo.getName())) {//助贷推送
|
// 返回LvdiPushResultVo
|
LvdiPushResultVo lvdiPushResultVo = esdUtil.esdPush(customerUser, capitalInfo.getCode());
|
return ResultJson.ok(lvdiPushResultVo);
|
}
|
else if ("商城-本APP".equals(capitalInfo.getName())) {//商城-本APP
|
return null;
|
}
|
else {// 面向产品方撞库联登模式
|
ChannelUnionResultVo channelUnionResultVo = pushCustomerByChannelUnion(capitalInfo, customerUser, capitalPushDto);
|
return ResultJson.ok(channelUnionResultVo);
|
}
|
return null;
|
}
|
}
|