Commit cd991bf1 authored by 郝彦辉's avatar 郝彦辉

手动修复数据工具4

parent a461c16e
......@@ -384,5 +384,15 @@ public class ExZhuDaiBaiHangReSendController {
}
}
@RequestMapping("/manual/d3_build_err_D3_041_2")
public String d3_build_err_D3_041_2(String p3,String secretKey, String filePath){
if(manualToolService.checkSecretKey(p3,secretKey)){
baiHangZhuDaiService.d3_build_err_D3_041_2(filePath);
return "d3_build_err_D3_041_2任务调度完成";
}else{
return "d3_build_err_D3_041_2任务调度失败,参数错误";
}
}
}
......@@ -2723,6 +2723,74 @@ public class BaiHangZhuDaiService {
}
//2020.06.08 修复D3_041, 第一次以M修复后,还报D3_041,对方沟通说有两条,修复第二条时,status_confirm_at时间不能和第一条一样
@Async
public String d3_build_err_D3_041_2(String filePath) {
//写入文件的路径和前缀
String writeFilePath = "";
String file_= "";
if(filePath.lastIndexOf("/")!=-1){//linux
writeFilePath = filePath.substring(0,filePath.lastIndexOf("/")) + "/build20200608";
file_ = filePath.substring(filePath.lastIndexOf("/"), filePath.lastIndexOf("."));
}else{//windows
writeFilePath = filePath.substring(0,filePath.lastIndexOf("\\")) + "\\build20200608";
file_ = filePath.substring(filePath.lastIndexOf("\\"), filePath.lastIndexOf("."));
}
long starUtc = System.currentTimeMillis();
//11499 "errorDetail":{"errorCode":"D3_041","errorMsg":"贷款账户编号+还款期数+还款状态确认时间+业务发生机构代码在还款记录中唯一。"}]}
String SQL_QUERY_D3_log = " select d3.* from repayment_loan_info_zhudai d3 " +
" join tmp_d3_bh_send_log err on d3.record_id=err.req_id and err.op_code='M' and err.errorCode='D3_041' " +
" where d3.created_at > '2020-06-04 21:50:00' and d3.created_at < '2020-06-05 00:00:00' " +
" and d3.op_code='M' " +
" and d3.term_status='normal' and d3.loan_status=3; ";
List<RepaymentInfoZhuDai> logBeanList = riskDatasourceJdbcTemplate.query(SQL_QUERY_D3_log, new Object[]{}, new RowMapper<RepaymentInfoZhuDai>() {
@Override
public RepaymentInfoZhuDai mapRow(ResultSet rs, int rowNum) throws SQLException {
RepaymentInfoZhuDai bean = new RepaymentInfoZhuDai();
bean.setRecordId(rs.getString("record_id"));
bean.setReqID(rs.getString("req_id"));
bean.setName(rs.getString("name"));
bean.setPid(rs.getString("pid"));
bean.setMobile(rs.getString("mobile"));
bean.setOpCode(rs.getString("op_code"));
bean.setUploadTs(rs.getString("upload_ts"));
bean.setLoanId(rs.getString("loan_id"));
bean.setTermNo(rs.getInt("term_no"));
bean.setTermStatus(rs.getString("term_status"));
bean.setTargetRepaymentDate(rs.getString("target_repayment_date"));
bean.setRealRepaymentDate(rs.getString("real_repayment_date"));
bean.setPlannedPayment(rs.getBigDecimal("planned_payment"));
bean.setTargetRepayment(rs.getBigDecimal("target_repayment"));
bean.setRealRepayment(rs.getBigDecimal("real_repayment"));
bean.setOverdueAmount(rs.getBigDecimal("overdue_amount"));
bean.setRemainingAmount(rs.getBigDecimal("remaining_amount"));
bean.setOverdueStatus(rs.getString("overdue_status"));
bean.setLoanStatus(rs.getInt("loan_status"));
bean.setStatusConfirmAt(rs.getString("status_confirm_at"));
return bean;
}
});
int fsize = logBeanList.size();
log.info("查询数据库结束err_D3_041, SQL: {} , 大小: {} , 耗时: {} ", filePath, fsize, (System.currentTimeMillis()-starUtc));
for(int i=0; i< fsize; i++){
RepaymentInfoZhuDai repaymentLoanInfo = logBeanList.get(i);
repaymentLoanInfo.setStatusConfirmAt(repaymentLoanInfo.getUploadTs());
//原始文件
this.wirteFile(writeFilePath + file_+ "_Err_D3_041_3_saveLog.txt", JSON.toJSONString(repaymentLoanInfo)+"\r\n");
//要报送的文件
repaymentLoanInfo.setReqID(repaymentLoanInfo.getRecordId());
repaymentLoanInfo.setRecordId(null);
this.wirteFile(writeFilePath + file_+ "_Err_D3_041_3_ok.txt", JSON.toJSONString(repaymentLoanInfo)+"\r\n");
log.info("Err_D3_041,20200608处理i:"+i);
}
log.info("Err_D3_041,20200608根据处理数据结束<<<");
return "Err_D3_041,20200608根据处理数据结束";
}
......
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