Commit ad6104d0 authored by 陈宏杰's avatar 陈宏杰

A1增量报送

parent 554fe27a
......@@ -63,11 +63,11 @@ public class QuantGroupZhuDaiReportToBaiHang {
log.info("量化派-助贷模式报送贷款信息开始, newTime: {} , startnyr: {} , endnyr: {} ", LocalDateTime.now(), startnyr, endnyr);
// String msg_A1 = baiHangZhuDaiService.sendZhuDaiApplyToBaiHang(startnyr,endnyr); //生产 助贷-贷款申请 报送T+1 暂时先不报送C1 因为百行还没有开放查询接口
// dingTalk.talk("Info","报送"+startnyr+"申请A1结束",msg_A1);
// if(msg_A1.contains("[false]")){
// dingTalk.talk_ToUser("申请A1报送失败", "报送"+startnyr+"申请A1有部分失败,请尽快手动处理!");
// }
String msg_A1 = baiHangZhuDaiService.sendZhuDaiApplyToBaiHang(startnyr,endnyr); //生产 助贷-贷款申请 报送T+1 暂时先不报送C1 因为百行还没有开放查询接口
dingTalk.talk("Info","报送"+startnyr+"申请A1结束",msg_A1);
if(msg_A1.contains("[false]")){
dingTalk.talk_ToUser("申请A1报送失败", "报送"+startnyr+"申请A1有部分失败,请尽快手动处理!");
}
//放款
ReportResult loanResult = baiHangZhuDaiService.sendZhuDaiLoanToBaiHang(startnyr,endnyr); //生产 助贷-放款信息 报送T+1
String msg_D2 = loanResult.getMsg();
......
......@@ -6,6 +6,7 @@ import cn.quantgroup.report.enums.ReportType;
import cn.quantgroup.report.mapper.baihang.ApplyLoanInfoMapper;
import cn.quantgroup.report.mapper.baihang.LoanInfoMapper;
import cn.quantgroup.report.mapper.baihang.RepaymentLoanInfoMapper;
import cn.quantgroup.report.mapper.master.ApplyLoanInfoZhuDaiMapper;
import cn.quantgroup.report.mapper.master.LoanInfoDbMapper;
import cn.quantgroup.report.mapper.master.RepaymentLoanInfoDbMapper;
import cn.quantgroup.report.mapper.master.RepaymentLoanWhiteListMapper;
......@@ -42,6 +43,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import java.io.File;
......@@ -146,6 +148,8 @@ public class BaiHangZhuDaiService {
private static final String branchTemplate = "%s 报送 : \n 成功 %s 条,失败 %s 条,白名单跳过 %s 条";
private static final String rootTemplate = "%s \n %s \n %s";
@Autowired
public ApplyLoanInfoZhuDaiMapper applyLoanInfoZhuDaiMapper;
@PostConstruct
......@@ -180,58 +184,64 @@ public class BaiHangZhuDaiService {
* Scheduled 贷款申请(百行征信报送)
*/
public String sendZhuDaiApplyToBaiHang(String startnyr, String endnyr) {
log.info("量化派助贷TO百行报送T+1申请开始...");
log.info("量化派助贷TO百行报送(A1)T+1申请开始...");
//yyyy-MM-dd
Stopwatch queryWatch1 = Stopwatch.createStarted();
BaiHangTimeRecord timeRecord = BaiHangTimeRecord.builder().startTime(startnyr).endTime(endnyr).build();
List<ApplyLoanInfoZhuDai> applyLoanInfos = applyLoanInfoMapper.findRealTimeApplyLoanZhuDai(timeRecord);
log.info("量化派助贷TO百行报送-非联合贷申请查询完成, 大小: {} , 耗时: {} ", (applyLoanInfos != null ? applyLoanInfos.size() : 0), (queryWatch1.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
log.info("量化派助贷TO百行报送(A1)-非联合贷申请查询完成, 大小: {} , 耗时: {} ", (applyLoanInfos != null ? applyLoanInfos.size() : 0), (queryWatch1.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
Stopwatch queryWatch2 = Stopwatch.createStarted();
List<ApplyLoanInfoZhuDai> applyLoanInfosLh = applyLoanInfoMapper.findRealTimeApplyLoanZhuDaiLh(timeRecord);
log.info("量化派助贷TO百行报送-联合贷申请查询完成, 大小: {} , 耗时: {} ", (applyLoanInfosLh != null ? applyLoanInfosLh.size() : 0), (queryWatch2.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
// Stopwatch queryWatch2 = Stopwatch.createStarted();
// List<ApplyLoanInfoZhuDai> applyLoanInfosLh = applyLoanInfoMapper.findRealTimeApplyLoanZhuDaiLh(timeRecord);
// log.info("量化派助贷TO百行报送-联合贷申请查询完成, 大小: {} , 耗时: {} ", (applyLoanInfosLh != null ? applyLoanInfosLh.size() : 0), (queryWatch2.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
if (applyLoanInfos == null) {
applyLoanInfos = new ArrayList<ApplyLoanInfoZhuDai>();
}
if (applyLoanInfosLh != null && applyLoanInfosLh.size() > 0) {
applyLoanInfos.addAll(applyLoanInfosLh);
}
// if (applyLoanInfos == null) {
// applyLoanInfos = new ArrayList<ApplyLoanInfoZhuDai>();
// }
// if (applyLoanInfosLh != null && applyLoanInfosLh.size() > 0) {
// applyLoanInfos.addAll(applyLoanInfosLh);
// }
Stopwatch sendWatch = Stopwatch.createStarted();
AtomicInteger succ_atomicInteger = new AtomicInteger();
String reqId_log = "";
List<ApplyLoanInfoZhuDai> zhuDaiLogList = null;
for (int i = 0; i < applyLoanInfos.size(); i++) {
String reqId_log = "";
try {
ApplyLoanInfoZhuDai applyLoanInfo = applyLoanInfos.get(i);
reqId_log = applyLoanInfo.getReqID();
//邮箱有错误的就不传
if (!TuoMinUtils.checkEmail(applyLoanInfo.getEmailAddress())) {
applyLoanInfo.setEmailAddress(null);
}
String logJson = JSON.toJSONString(applyLoanInfo);
zhuDaiLogList = applyLoanInfoZhuDaiMapper.findApplyLoanInfoZhuDaiLog(applyLoanInfo.getReqID());
if (CollectionUtils.isEmpty(zhuDaiLogList)) {
//邮箱有错误的就不传
if (!TuoMinUtils.checkEmail(applyLoanInfo.getEmailAddress())) {
applyLoanInfo.setEmailAddress(null);
}
String logJson = JSON.toJSONString(applyLoanInfo);
applyLoanInfo.setName(interfaceUploadClient(applyLoanInfo.getName()));
applyLoanInfo.setMobile(interfaceUploadClient(applyLoanInfo.getMobile()));
applyLoanInfo.setPid(interfaceUploadClient(applyLoanInfo.getPid()));
applyLoanInfo.setName(interfaceUploadClient(applyLoanInfo.getName()));
applyLoanInfo.setMobile(interfaceUploadClient(applyLoanInfo.getMobile()));
applyLoanInfo.setPid(interfaceUploadClient(applyLoanInfo.getPid()));
String resultStr = iHttpService.postBaiHang(baiHangApplyLoanInfoUrl, getHeader(), JSON.toJSONString(applyLoanInfo));
log.info("助贷贷款申请A1报送结果, param: {} , resultStr: {} ", logJson, resultStr);
//if (Objects.isNull(resultStr) || !(resultStr.contains("queryHistory") && resultStr.contains("nonRevolvingLoan") && resultStr.contains("revolvingLoan"))) {
if (Objects.isNull(resultStr) || !"success".equalsIgnoreCase(JSON.parseObject(resultStr).getString("status"))) {
log.info("量化派助贷TO百行报送-贷款申请返回结果不正确, reqId_log: {} , applyId: {} ", reqId_log, applyLoanInfo.getApplyId());
String resultStr = iHttpService.postBaiHang(baiHangApplyLoanInfoUrl, getHeader(), JSON.toJSONString(applyLoanInfo));
log.info("助贷贷款申请A1报送结果, param: {} , resultStr: {} ", logJson, resultStr);
//if (Objects.isNull(resultStr) || !(resultStr.contains("queryHistory") && resultStr.contains("nonRevolvingLoan") && resultStr.contains("revolvingLoan"))) {
if (Objects.isNull(resultStr) || !"success".equalsIgnoreCase(JSON.parseObject(resultStr).getString("status"))) {
log.info("量化派助贷TO百行报送(A1)-贷款申请返回结果不正确, reqId_log: {} , applyId: {} ", reqId_log, applyLoanInfo.getApplyId());
} else {
succ_atomicInteger.getAndIncrement();
}
} else {
succ_atomicInteger.getAndIncrement();
log.error("量化派助贷TO百行增量报送(A1)-贷款申请信息重复报送, applyLoanInfo: {} ", JSON.toJSONString(applyLoanInfo));
}
} catch (Exception e) {
log.error("量化派助贷TO百行报送-贷款申请信息异常, reqId_log: {} ", reqId_log, e);
log.error("量化派助贷TO百行报送(A1)-贷款申请信息异常, reqId_log: {} ", reqId_log, e);
}
}
log.info("量化派助贷TO百行报送-贷款申请报送完成, 实际大小: {} , 报送成功大小: {} , 耗时: {} ", applyLoanInfos.size(), succ_atomicInteger.get(), (sendWatch.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
log.info("量化派助贷TO百行报送(A1)-贷款申请报送完成, 实际大小: {} , 报送成功大小: {} , 耗时: {} ", applyLoanInfos.size(), succ_atomicInteger.get(), (sendWatch.stop().elapsed(TimeUnit.MILLISECONDS) / 1000) + ".s");
String resMsgTemp = "申请报送: 查询 %d条(联合贷%d条), 报送成功 %d条;";
String resMsgTemp = "申请报送(A1): 查询 %d条, 报送成功 %d条;";
resMsgTemp += "[" + (applyLoanInfos.size() == succ_atomicInteger.get()) + "]";
return String.format(resMsgTemp, applyLoanInfos.size(), (applyLoanInfosLh != null ? applyLoanInfosLh.size() : 0), succ_atomicInteger.get());
return String.format(resMsgTemp, applyLoanInfos.size(), succ_atomicInteger.get());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment