Commit 83bb3b0a authored by 陈宏杰's avatar 陈宏杰

A1增量报送-测试入口

parent be7f1f44
......@@ -175,4 +175,11 @@ public class ManualToolController {
}
}
@RequestMapping("/sendZhuDaiApply")
public String sendZhuDaiApply(String startnyr, String endnyr){
//yyyy-MM-dd
zhuDaiService.sendZhuDaiApplyToBaiHang(startnyr, endnyr);
return "SUCCESS";
}
}
......@@ -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
private ApplyLoanInfoZhuDaiMapper applyLoanInfoZhuDaiMapper;
@PostConstruct
......@@ -180,61 +184,66 @@ 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());
}
/**
* 助贷模式-实时批量报送放款D2数据
* Scheduled 实时放款数据(百行征信报送)
......
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