Commit 29d0decb authored by 郝彦辉's avatar 郝彦辉

百行每天的重新报送优化成定时任务

parent 192ffb45
......@@ -4,11 +4,15 @@ import cn.quantgroup.report.response.GlobalResponse;
import cn.quantgroup.report.service.common.CommonQueryService;
import cn.quantgroup.report.service.manualTool.CleanningTransactionLogService;
import cn.quantgroup.report.service.manualTool.ManualToolService;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.ImmutableMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping(value = "/manualtool")
......@@ -40,12 +44,13 @@ public class ManualToolController {
@RequestMapping("/send/baihang")
public GlobalResponse sendBaihang(String p1,String p2,String p3,String p4,String p5,String secretKey, String isSend,String errorCode, String isProduct, String sendIncludeType) {
public String sendBaihang(String p1,String p2,String p3,String p4,String p5,String secretKey, String isSend,String errorCode, String isProduct, String sendIncludeType) {
try{
return manualToolService.sendBaiHangData(p1,p2,p3,p4,p5,secretKey,isSend,errorCode, isProduct, sendIncludeType);
Map<String,String> resultMap = manualToolService.sendBaiHangData(p1,p2,p3,p4,p5,secretKey,isSend,errorCode, isProduct, sendIncludeType);
return JSON.toJSONString(resultMap);
}catch (Exception e){
log.error("众信利民助贷模式To百行征信手动报送异常, {} , {} ", e.getMessage(), e);
return GlobalResponse.generate(e.getMessage());
return "众信利民助贷模式To百行征信手动报送异常";
}
}
......@@ -188,4 +193,25 @@ public class ManualToolController {
return "deleteTidbCallRecordCF调度完成";
}
@RequestMapping("/deleteRedisKey")
public Map<String,Object> deleteRedisKey(String key1, String key2, String key3){
try{
manualToolService.deleteRedisKey(key1, key2, key3);
return ImmutableMap.of("code", 0, "msg", "手动删除redisKey成功");
}catch(Exception e){
return ImmutableMap.of("code", 1, "msg", "手动设置redisKey异常");
}
}
@RequestMapping("/getRedisVal")
public String getRedisVal(String key){
try{
return manualToolService.getRedisVal(key);
}catch(Exception e){
return "获取redis值异常";
}
}
}
......@@ -119,13 +119,14 @@ public class ExZhuDaiBaiHangReSendController {
* 创建时间: 2019.10.29 <br/>
*/
@RequestMapping("/manual/buquan/mainApplySend")
public GlobalResponse mainApplySend(){
public String mainApplySend(){
try{
baiHangZhuDaiService.sendHandApplyToBaiHang(true,null);
return GlobalResponse.generate("百行征信助贷模式手动报送D2数据成功");
return baiHangZhuDaiService.sendHandApplyToBaiHang(true,null);
//return GlobalResponse.generate("百行征信助贷模式手动报送D2数据成功");
}catch(Exception e){
log.error("百行征信助贷模式手动报送申请异常", e);
return GlobalResponse.generate("百行征信助贷模式手动报送A1数据失败");
log.error("众信利民助贷模式手动报送A1申请异常", e);
//return GlobalResponse.generate("百行征信助贷模式手动报送A1数据失败");
return "众信利民助贷模式手动报送A1数据失败";
}
}
......@@ -137,13 +138,14 @@ public class ExZhuDaiBaiHangReSendController {
* 创建时间: 2019.10.29 <br/>
*/
@RequestMapping("/manual/buquan/mainLoanInfoSend")
public GlobalResponse mainLoanInfoSend(String isSaveLogBean){
public String mainLoanInfoSend(String isSaveLogBean){
try{
baiHangZhuDaiService.sendHandLoaInfoReportToBaiHang2(true,null,isSaveLogBean);
return GlobalResponse.generate("百行征信助贷模式手动报送D2数据成功");
return baiHangZhuDaiService.sendHandLoaInfoReportToBaiHang2(true,null,isSaveLogBean);
//return GlobalResponse.generate("百行征信助贷模式手动报送D2数据成功");
}catch(Exception e){
log.error("百行征信助贷模式报送放款异常", e);
return GlobalResponse.generate("百行征信助贷模式手动报送D2数据失败");
log.error("众信利民助贷模式手动报送D2放款异常", e);
//return GlobalResponse.generate("百行征信助贷模式手动报送D2数据失败");
return "众信利民助贷模式手动报送D2数据失败";
}
}
......@@ -155,13 +157,14 @@ public class ExZhuDaiBaiHangReSendController {
* 创建时间: 2019.10.29 <br/>
*/
@RequestMapping("/manual/buquan/mainRepaymentLoanInfo")
public GlobalResponse mainRepaymentLoanInfo(){
public String mainRepaymentLoanInfo(){
try{
baiHangZhuDaiService.sendHandRepaymentReportToBaiHang1(true,null);
return GlobalResponse.generate("百行征信助贷模式手动报送D3数据成功");
return baiHangZhuDaiService.sendHandRepaymentReportToBaiHang1(true,null);
//return GlobalResponse.generate("百行征信助贷模式手动报送D3数据成功");
}catch(Exception e){
log.error("百行征信助贷模式报送还款异常", e);
return GlobalResponse.generate("百行征信助贷模式手动报送D3数据失败");
log.error("众信利民助贷模式手动报送D3还款异常", e);
//return GlobalResponse.generate("百行征信助贷模式手动报送D3数据失败");
return "众信利民助贷模式手动报送D3还款数据失败";
}
}
......
This diff is collapsed.
......@@ -514,7 +514,7 @@ public class BaiHangZhuDaiService {
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.29 <br/>
*/
public void sendHandApplyToBaiHang(boolean isReadFile,List<String> paramJsonStr) throws Exception {
public String sendHandApplyToBaiHang(boolean isReadFile,List<String> paramJsonStr) throws Exception {
Stopwatch sendWatch = Stopwatch.createStarted();
List<String> handApplys = null;
if(isReadFile){
......@@ -522,12 +522,13 @@ public class BaiHangZhuDaiService {
}else{
if(paramJsonStr==null || paramJsonStr.size()==0){
log.warn("众信利民助贷模式TO百行手动报送贷款申请错误, paramJsonStr is Null , isReadFile: {} ",isReadFile);
return;
return "众信利民助贷模式手动报送A1申请参数为空";
}else{
handApplys = paramJsonStr;
}
}
AtomicInteger succ_atomicInteger = new AtomicInteger();
for(int i=0;i<handApplys.size();i++){
try {
ApplyLoanInfoZhuDai applyInfo = new Gson().fromJson(handApplys.get(i), new TypeToken<ApplyLoanInfoZhuDai>(){}.getType());
......@@ -546,12 +547,19 @@ public class BaiHangZhuDaiService {
/*if (Objects.isNull(resultStr) || !(resultStr.contains("queryHistory") && resultStr.contains("nonRevolvingLoan") && resultStr.contains("revolvingLoan"))) {
log.info("量化派助贷TO百行报送-贷款申请返回结果不正确, loanId: {} ", applyInfo.getLoanId());
}*/
if (Objects.isNull(resultStr) || "success".equalsIgnoreCase(JSON.parseObject(resultStr).getString("status"))) {
succ_atomicInteger.getAndIncrement();
}
log.info("众信利民助贷模式TO百行手动报送贷款申请记录 bean: {} , result: {} ", logJson, resultStr);
} catch (Exception e) {
log.error("百行征信助贷模式手动报送贷款申请记录异常, params: {} ", handApplys.get(i), e);
}
}
log.info("众信利民助贷模式TO百行手动报送贷款申请结束, 大小: {} , 耗时: {} ", handApplys.size(), ((sendWatch.stop().elapsed(TimeUnit.MILLISECONDS)/1000)+".s"));
return "众信利民助贷模式手动报送A1申请列表大小: "+handApplys.size()+" , 报送成功条数: "+succ_atomicInteger.get();
}
/**
......@@ -663,7 +671,7 @@ public class BaiHangZhuDaiService {
}
//D2手动报送,有账单日列表,和totalTerm
public void sendHandLoaInfoReportToBaiHang2(boolean isReadFile, List<String> paramJsonStr, String isSaveLogBean) throws Exception {
public String sendHandLoaInfoReportToBaiHang2(boolean isReadFile, List<String> paramJsonStr, String isSaveLogBean) throws Exception {
Stopwatch sendWatch = Stopwatch.createStarted();
List<String> handLoanInfos = null;
if(isReadFile){
......@@ -671,7 +679,7 @@ public class BaiHangZhuDaiService {
}else{
if(paramJsonStr==null || paramJsonStr.size()==0){
log.warn("众信利民助贷模式TO百行手动报送放款数据错误, paramJsonStr is Null , isReadFile: {} ",isReadFile);
return;
return "众信利民助贷模式手动报送D2参数为空";
}else{
handLoanInfos = paramJsonStr;
}
......@@ -682,6 +690,7 @@ public class BaiHangZhuDaiService {
is_saveLogBean = true;
}
AtomicInteger succ_atomicInteger = new AtomicInteger();
for(int i=0;i<handLoanInfos.size();i++){
try{
if(handLoanInfos.get(i).length()<30){
......@@ -753,6 +762,9 @@ public class BaiHangZhuDaiService {
loanInfo.setPid(interfaceUploadClient(loanInfo.getPid()));
String resultStr = iHttpService.postBaiHang(baiHangLoanInfoUrl, getHeader(), JSON.toJSONString(loanInfo));
if (Objects.isNull(resultStr) || "success".equalsIgnoreCase(JSON.parseObject(resultStr).getString("status"))) {
succ_atomicInteger.getAndIncrement();
}
log.info("众信利民助贷模式TO百行手动报送放款记录 loanInfoReqId: {} , loanId: {} , bean: {} , result: {} ", loanInfoReqId, loanInfo.getLoanId(), logJson, resultStr);
}catch (Exception e){
......@@ -760,6 +772,8 @@ public class BaiHangZhuDaiService {
}
}
log.info("众信利民助贷模式TO百行手动报送放款记录结束, 大小: {} , 耗时: {} ", handLoanInfos.size(), ((sendWatch.stop().elapsed(TimeUnit.MILLISECONDS)/1000)+".s"));
return "众信利民助贷模式手动报送放款D2列表大小: "+handLoanInfos.size()+" , 报送成功条数: "+succ_atomicInteger.get();
}
/**
......@@ -769,7 +783,7 @@ public class BaiHangZhuDaiService {
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.29 <br/>
*/
public void sendHandRepaymentReportToBaiHang1(boolean isReadFile, List<String> paramJsonStr) throws Exception{
public String sendHandRepaymentReportToBaiHang1(boolean isReadFile, List<String> paramJsonStr) throws Exception{
Stopwatch sendWatch = Stopwatch.createStarted();
List<String> repaymentLoanInfos = null;
if(isReadFile){
......@@ -777,12 +791,13 @@ public class BaiHangZhuDaiService {
}else{
if(paramJsonStr==null || paramJsonStr.size()==0){
log.warn("众信利民助贷模式TO百行手动报送还款数据错误, paramJsonStr is Null , isReadFile: {} ",isReadFile);
return;
return "众信利民助贷模式手动报送D3还款参数为空";
}else{
repaymentLoanInfos = paramJsonStr;
}
}
AtomicInteger succ_atomicInteger = new AtomicInteger();
//log.info("众信利民助贷模式TO百行报送还款数据, {}", JSON.toJSONString(repaymentLoanInfos));
for(int i=0;i<repaymentLoanInfos.size();i++){
try {
......@@ -819,6 +834,9 @@ public class BaiHangZhuDaiService {
repaymentLoanInfo.setMobile(interfaceUploadClient(repaymentLoanInfo.getMobile()));
String resultStr = iHttpService.postBaiHang(baiHangRepayMentLoanInfoUrl, getHeader(), JSON.toJSONString(repaymentLoanInfo));
if (Objects.isNull(resultStr) || "success".equalsIgnoreCase(JSON.parseObject(resultStr).getString("status"))) {
succ_atomicInteger.getAndIncrement();
}
log.info("众信利民助贷模式TO百行手动报送还款记录 reqID: {} , bean: {} , result: {} ", repaymentLoanInfo.getReqID(), logJson, resultStr);
} catch (Exception e) {
......@@ -826,6 +844,8 @@ public class BaiHangZhuDaiService {
}
}
log.info("众信利民助贷模式TO百行手动报送还款记录结束, 大小: {} , 耗时: {} ", repaymentLoanInfos.size(), ((sendWatch.stop().elapsed(TimeUnit.MILLISECONDS)/1000)+".s"));
return "众信利民助贷模式手动报送D3还款列表大小: "+repaymentLoanInfos.size()+" , 报送成功条数: "+succ_atomicInteger.get();
}
//-----------------------------------------------存量整理---------------------------------------------------------------------
......
......@@ -825,5 +825,36 @@ public class HttpRequestUtil {
}
}
public static String doPostTool(String apiUrl, Map<String, Object> params) {
String result = "";
httpClient = getHttpClient();
HttpPost httpPost = new HttpPost(apiUrl);
try {
List<NameValuePair> pairList = new ArrayList<>(params.size());
for (Map.Entry<String, Object> entry : params.entrySet()) {
NameValuePair pair = new BasicNameValuePair(entry.getKey(), entry
.getValue().toString());
pairList.add(pair);
}
httpPost.setEntity(new UrlEncodedFormEntity(pairList, Charset.forName("UTF-8")));
HttpResponse response = httpClient.execute(httpPost);
//int statusCode = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
EntityUtils.consume(entity);
} catch (IOException e) {
log.error("doPostTool请求apiUrl: " + apiUrl + "请求失败", e);
throw new QGException(QGExceptionType.COMMON_THIRD_PART_CALL_EXCEPTION, e.toString() + ";url:" + apiUrl);
} finally {
httpPost.releaseConnection();
}
return result;
}
}
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