Commit c26d5508 authored by 张庆's avatar 张庆

新增MQ

parent 2ce1691c
...@@ -2,6 +2,7 @@ package com.jqtx.windows.command; ...@@ -2,6 +2,7 @@ package com.jqtx.windows.command;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jqtx.windows.common.exception.BizException;
import com.jqtx.windows.common.factory.AbstractCommand; import com.jqtx.windows.common.factory.AbstractCommand;
import com.jqtx.windows.common.factory.RuntimeContextHolder; import com.jqtx.windows.common.factory.RuntimeContextHolder;
import com.jqtx.windows.component.BackedDetailComponent; import com.jqtx.windows.component.BackedDetailComponent;
...@@ -17,6 +18,7 @@ import com.jqtx.windows.infrastructure.feign.enums.DebtPlanStatusEnum; ...@@ -17,6 +18,7 @@ import com.jqtx.windows.infrastructure.feign.enums.DebtPlanStatusEnum;
import com.jqtx.windows.web.request.BackedDetail; import com.jqtx.windows.web.request.BackedDetail;
import com.jqtx.windows.web.request.BackedRequest; import com.jqtx.windows.web.request.BackedRequest;
import com.jqtx.windows.web.response.JsonResult; import com.jqtx.windows.web.response.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -30,6 +32,7 @@ import java.util.List; ...@@ -30,6 +32,7 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@Slf4j
public class BackedCommand extends AbstractCommand { public class BackedCommand extends AbstractCommand {
@Autowired @Autowired
...@@ -49,13 +52,19 @@ public class BackedCommand extends AbstractCommand { ...@@ -49,13 +52,19 @@ public class BackedCommand extends AbstractCommand {
public JsonResult execute() { public JsonResult execute() {
String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody(); String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
BackedRequest backedRequest = JSONObject.parseObject(request, BackedRequest.class); BackedRequest backedRequest = JSONObject.parseObject(request, BackedRequest.class);
//生成 windows_repay 信息 try {
creditRepay(backedRequest); //生成 windows_repay 信息
//生成 windows_backed_detail 信息 creditRepay(backedRequest);
//修改 windows_plan backAmt 信息 //生成 windows_backed_detail 信息
//修改 windows_plan 还款状态 //修改 windows_plan backAmt 信息
//修改 windows_loan 还款状态 //修改 windows_plan 还款状态
backedDetail(backedRequest.getLoanNo(), new BigDecimal(backedRequest.getBackAmt()), backedRequest.getBackedNo(), backedRequest); //修改 windows_loan 还款状态
backedDetail(backedRequest.getLoanNo(), new BigDecimal(backedRequest.getBackAmt()), backedRequest.getBackedNo(), backedRequest);
} catch (Exception e) {
log.error("用户还款,授信编号:{},报错:{}", backedRequest.getLoanNo(), e.getMessage(), e);
throw new BizException("用户还款错误");
}
return JsonResult.success(); return JsonResult.success();
} }
......
...@@ -3,17 +3,20 @@ package com.jqtx.windows.command; ...@@ -3,17 +3,20 @@ package com.jqtx.windows.command;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jqtx.infrastructure.oss.starter.config.OssUtils; import com.jqtx.infrastructure.oss.starter.config.OssUtils;
import com.jqtx.windows.common.exception.BizException;
import com.jqtx.windows.common.factory.AbstractCommand; import com.jqtx.windows.common.factory.AbstractCommand;
import com.jqtx.windows.common.factory.RuntimeContextHolder; import com.jqtx.windows.common.factory.RuntimeContextHolder;
import com.jqtx.windows.component.model.GetSignContractModel; import com.jqtx.windows.component.model.GetSignContractModel;
import com.jqtx.windows.infrastructure.feign.IProtocalFeignService; import com.jqtx.windows.infrastructure.feign.IProtocalFeignService;
import com.jqtx.windows.web.response.GetSignContractResponse; import com.jqtx.windows.web.response.GetSignContractResponse;
import com.jqtx.windows.web.response.JsonResult; import com.jqtx.windows.web.response.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@Slf4j
public class GetSignContractCommand extends AbstractCommand { public class GetSignContractCommand extends AbstractCommand {
@Autowired @Autowired
private IProtocalFeignService iProtocalFeignService; private IProtocalFeignService iProtocalFeignService;
...@@ -25,15 +28,20 @@ public class GetSignContractCommand extends AbstractCommand { ...@@ -25,15 +28,20 @@ public class GetSignContractCommand extends AbstractCommand {
public JsonResult execute() { public JsonResult execute() {
String requestBody = RuntimeContextHolder.currentRuntimeContext().getRequestBody(); String requestBody = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
GetSignContractModel getSignContractModel = JSONObject.parseObject(requestBody, GetSignContractModel.class); GetSignContractModel getSignContractModel = JSONObject.parseObject(requestBody, GetSignContractModel.class);
GetSignContractResponse getSignContractResponse=new GetSignContractResponse(); try {
JsonResult<String> rongdanPdfJsonResult = iProtocalFeignService.getFilePathPdf(getSignContractModel.getLoanNo(), "own-rongdan"); GetSignContractResponse getSignContractResponse = new GetSignContractResponse();
if (rongdanPdfJsonResult.isSuccess() && StringUtils.isNotEmpty(rongdanPdfJsonResult.getResult())){ JsonResult<String> rongdanPdfJsonResult = iProtocalFeignService.getFilePathPdf(getSignContractModel.getLoanNo(), "own-rongdan");
getSignContractResponse.setSignStatus("SIGN"); if (rongdanPdfJsonResult.isSuccess() && StringUtils.isNotEmpty(rongdanPdfJsonResult.getResult())) {
String path = ossUtils.generateTempURLPrivateDomain(rongdanPdfJsonResult.getResult()); getSignContractResponse.setSignStatus("SIGN");
getSignContractResponse.setContractFileUrl(path); String path = ossUtils.generateTempURLPrivateDomain(rongdanPdfJsonResult.getResult());
}else { getSignContractResponse.setContractFileUrl(path);
getSignContractResponse.setSignStatus("SIGN_ING"); } else {
getSignContractResponse.setSignStatus("SIGN_ING");
}
return JsonResult.success(getSignContractResponse);
} catch (Exception e) {
log.error("获取融单协议,授信编号:{},报错:{}", getSignContractModel.getLoanNo(), e.getMessage(), e);
throw new BizException("获取融单协议错误");
} }
return JsonResult.success(getSignContractResponse);
} }
} }
...@@ -76,8 +76,9 @@ public class LoanSubmitCommand extends AbstractCommand { ...@@ -76,8 +76,9 @@ public class LoanSubmitCommand extends AbstractCommand {
model.setOrderNo(loanSubmitResponse.getOrderNo()); model.setOrderNo(loanSubmitResponse.getOrderNo());
JsonResult<Boolean> booleanJsonResult = wakandaFeignService.loanCredit(model); JsonResult<Boolean> booleanJsonResult = wakandaFeignService.loanCredit(model);
JsonResult.success(booleanJsonResult.isSuccess()); JsonResult.success(booleanJsonResult.isSuccess());
} catch (BizException e) { } catch (Exception e) {
log.error("LoanSubmitCommand借款编号:{} 报错:{}", loanSubmitResponse.getLoanNo(), e.getMessage(), e); log.error("LoanSubmitCommand借款编号:{} 报错:{}", loanSubmitResponse.getLoanNo(), e.getMessage(), e);
throw new BizException("提现授信审核错误");
} }
return JsonResult.success(); return JsonResult.success();
} }
......
...@@ -2,6 +2,7 @@ package com.jqtx.windows.command; ...@@ -2,6 +2,7 @@ package com.jqtx.windows.command;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.jqtx.windows.common.converter.ProtocolConverter; import com.jqtx.windows.common.converter.ProtocolConverter;
import com.jqtx.windows.common.exception.BizException;
import com.jqtx.windows.common.factory.AbstractCommand; import com.jqtx.windows.common.factory.AbstractCommand;
import com.jqtx.windows.common.factory.RuntimeContextHolder; import com.jqtx.windows.common.factory.RuntimeContextHolder;
import com.jqtx.windows.component.model.UploadPdfDetailRequest; import com.jqtx.windows.component.model.UploadPdfDetailRequest;
...@@ -9,6 +10,7 @@ import com.jqtx.windows.component.model.UploadPdfRequest; ...@@ -9,6 +10,7 @@ import com.jqtx.windows.component.model.UploadPdfRequest;
import com.jqtx.windows.infrastructure.feign.IProtocalFeignService; import com.jqtx.windows.infrastructure.feign.IProtocalFeignService;
import com.jqtx.windows.web.request.SyncLoanRequest; import com.jqtx.windows.web.request.SyncLoanRequest;
import com.jqtx.windows.web.response.JsonResult; import com.jqtx.windows.web.response.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -17,22 +19,29 @@ import java.util.List; ...@@ -17,22 +19,29 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@Slf4j
public class SaveProtocolCommand extends AbstractCommand { public class SaveProtocolCommand extends AbstractCommand {
@Autowired @Autowired
private IProtocalFeignService iProtocalFeignService; private IProtocalFeignService iProtocalFeignService;
@Autowired @Autowired
private ProtocolConverter protocolConverter; private ProtocolConverter protocolConverter;
@Override @Override
public JsonResult execute() { public JsonResult execute() {
String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody(); String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class); SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class);
UploadPdfRequest uploadPdfRequest=new UploadPdfRequest(); try {
uploadPdfRequest.setLoanNo(syncLoanRequest.getLoanNo()); UploadPdfRequest uploadPdfRequest = new UploadPdfRequest();
uploadPdfRequest.setOrderNo(syncLoanRequest.getOrderNo()); uploadPdfRequest.setLoanNo(syncLoanRequest.getLoanNo());
List<UploadPdfDetailRequest> detailRequestList= syncLoanRequest.getProtocolList().stream().map(protocolConverter::toModel).collect(Collectors.toList()); uploadPdfRequest.setOrderNo(syncLoanRequest.getOrderNo());
uploadPdfRequest.setDetailRequestList(detailRequestList); List<UploadPdfDetailRequest> detailRequestList = syncLoanRequest.getProtocolList().stream().map(protocolConverter::toModel).collect(Collectors.toList());
iProtocalFeignService.uploadProtocolPdf(uploadPdfRequest); uploadPdfRequest.setDetailRequestList(detailRequestList);
iProtocalFeignService.uploadProtocolPdf(uploadPdfRequest);
} catch (Exception e) {
log.error("保存用户协议,授信编号:{},报错:{}", syncLoanRequest.getLoanNo(), e.getMessage(), e);
throw new BizException("保存用户协议错误");
}
return JsonResult.success(); return JsonResult.success();
} }
} }
package com.jqtx.windows.command; package com.jqtx.windows.command;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jqtx.windows.common.exception.BizException;
import com.jqtx.windows.common.factory.AbstractCommand; import com.jqtx.windows.common.factory.AbstractCommand;
import com.jqtx.windows.common.factory.RuntimeContextHolder; import com.jqtx.windows.common.factory.RuntimeContextHolder;
import com.jqtx.windows.component.CreditComponent; import com.jqtx.windows.component.CreditComponent;
...@@ -22,18 +23,24 @@ public class SignContractCommand extends AbstractCommand { ...@@ -22,18 +23,24 @@ public class SignContractCommand extends AbstractCommand {
@Autowired @Autowired
private CreditComponent creditComponent; private CreditComponent creditComponent;
@Override @Override
public JsonResult execute() { public JsonResult execute() {
String requestBody = RuntimeContextHolder.currentRuntimeContext().getRequestBody(); String requestBody = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
SignContractRequest signContractRequest = JSONObject.parseObject(requestBody, SignContractRequest.class); SignContractRequest signContractRequest = JSONObject.parseObject(requestBody, SignContractRequest.class);
CreditModel creditModel= creditComponent.getByOrderNo(signContractRequest.getOrderNo()); try {
signContractRequest.setClientName(creditModel.getClientName()); CreditModel creditModel = creditComponent.getByOrderNo(signContractRequest.getOrderNo());
signContractRequest.setCertNo(creditModel.getCertNo()); signContractRequest.setClientName(creditModel.getClientName());
signContractRequest.setClientCell(creditModel.getClientCell()); signContractRequest.setCertNo(creditModel.getCertNo());
log.info("融单协议提交-{}",JSONObject.toJSON(signContractRequest)); signContractRequest.setClientCell(creditModel.getClientCell());
creditModel.setCreditThirdToken("INIT"); log.info("融单协议提交-{}", JSONObject.toJSON(signContractRequest));
creditComponent.updateByOrderNo(creditModel.getOrderNo(),creditModel); creditModel.setCreditThirdToken("INIT");
iProtocalFeignService.uploadRongdan(signContractRequest); creditComponent.updateByOrderNo(creditModel.getOrderNo(), creditModel);
iProtocalFeignService.uploadRongdan(signContractRequest);
} catch (Exception e) {
log.error("签约融单协议,授信编号:{},报错:{}", signContractRequest.getOrderNo(), e.getMessage(), e);
throw new BizException("签约融单协议错误");
}
return JsonResult.success(); return JsonResult.success();
} }
} }
...@@ -2,6 +2,7 @@ package com.jqtx.windows.command; ...@@ -2,6 +2,7 @@ package com.jqtx.windows.command;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.jqtx.windows.common.exception.BizException;
import com.jqtx.windows.common.factory.AbstractCommand; import com.jqtx.windows.common.factory.AbstractCommand;
import com.jqtx.windows.common.factory.RuntimeContextHolder; import com.jqtx.windows.common.factory.RuntimeContextHolder;
import com.jqtx.windows.common.utils.ValidateUtil; import com.jqtx.windows.common.utils.ValidateUtil;
...@@ -9,11 +10,13 @@ import com.jqtx.windows.component.CreditResultComponent; ...@@ -9,11 +10,13 @@ import com.jqtx.windows.component.CreditResultComponent;
import com.jqtx.windows.component.model.CreditResultModel; import com.jqtx.windows.component.model.CreditResultModel;
import com.jqtx.windows.web.request.SyncCreditResultRequest; import com.jqtx.windows.web.request.SyncCreditResultRequest;
import com.jqtx.windows.web.response.JsonResult; import com.jqtx.windows.web.response.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@Slf4j
public class SyncCreditCommand extends AbstractCommand { public class SyncCreditCommand extends AbstractCommand {
@Autowired @Autowired
private CreditResultComponent creditResultComponent; private CreditResultComponent creditResultComponent;
...@@ -24,10 +27,14 @@ public class SyncCreditCommand extends AbstractCommand { ...@@ -24,10 +27,14 @@ public class SyncCreditCommand extends AbstractCommand {
SyncCreditResultRequest syncCreditResultRequest = JSON.parseObject(request, SyncCreditResultRequest.class); SyncCreditResultRequest syncCreditResultRequest = JSON.parseObject(request, SyncCreditResultRequest.class);
// //
ValidateUtil.valid(syncCreditResultRequest); ValidateUtil.valid(syncCreditResultRequest);
// try {
CreditResultModel creditResultModel = BeanUtil.toBean(syncCreditResultRequest, CreditResultModel.class); CreditResultModel creditResultModel = BeanUtil.toBean(syncCreditResultRequest, CreditResultModel.class);
creditResultModel.setCreditStatus(syncCreditResultRequest.getStatus()); creditResultModel.setCreditStatus(syncCreditResultRequest.getStatus());
creditResultComponent.insert(creditResultModel); creditResultComponent.insert(creditResultModel);
} catch (Exception e) {
log.error("同步授信结果授信编号:{},报错:{}", syncCreditResultRequest.getOrderNo(), e.getMessage(), e);
throw new BizException("同步授信结果错误");
}
return JsonResult.success(); return JsonResult.success();
} }
} }
...@@ -49,11 +49,11 @@ public class SyncLoanCommand extends AbstractCommand { ...@@ -49,11 +49,11 @@ public class SyncLoanCommand extends AbstractCommand {
@Override @Override
public JsonResult execute() { public JsonResult execute() {
String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class);
//校验
ValidateUtil.valid(syncLoanRequest);
try { try {
String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class);
//校验
ValidateUtil.valid(syncLoanRequest);
//修改loan //修改loan
LoanModel loanModel = loanComponent.getByLoanNo(syncLoanRequest.getLoanNo()); LoanModel loanModel = loanComponent.getByLoanNo(syncLoanRequest.getLoanNo());
Assert.isFalse(loanModel == null, "借款不存在"); Assert.isFalse(loanModel == null, "借款不存在");
...@@ -95,9 +95,9 @@ public class SyncLoanCommand extends AbstractCommand { ...@@ -95,9 +95,9 @@ public class SyncLoanCommand extends AbstractCommand {
List<UploadPdfDetailRequest> detailRequestList = syncLoanRequest.getProtocolList().stream().map(protocolConverter::toModel).collect(Collectors.toList()); List<UploadPdfDetailRequest> detailRequestList = syncLoanRequest.getProtocolList().stream().map(protocolConverter::toModel).collect(Collectors.toList());
uploadPdfRequest.setDetailRequestList(detailRequestList); uploadPdfRequest.setDetailRequestList(detailRequestList);
iProtocalFeignService.uploadProtocolPdf(uploadPdfRequest); iProtocalFeignService.uploadProtocolPdf(uploadPdfRequest);
} catch (BizException e) { } catch (Exception e) {
log.error("同步放款错误:{}", e.getMessage(), e); log.error("同步放款借款编号:{},数据错误:{}", syncLoanRequest.getLoanNo(), e.getMessage(), e);
throw new BizException("同步放款错误"); throw new BizException("同步放款数据错误");
} }
return JsonResult.success(); return JsonResult.success();
......
...@@ -9,18 +9,21 @@ import org.springframework.stereotype.Service; ...@@ -9,18 +9,21 @@ import org.springframework.stereotype.Service;
@Service @Service
@Slf4j @Slf4j
public abstract class AbstractCommand{ public abstract class AbstractCommand {
public JsonResult doAction(){ public JsonResult doAction() {
try{ try {
return this.execute(); return this.execute();
}catch (BizException e){ } catch (BizException e) {
log.error("[处理业务异常:{}]",e.getMessage(),e); log.error("[处理业务异常:{}]", e.getMessage(), e);
return JsonResult.error(e.getErrorEnum()); return JsonResult.error(e.getErrorEnum());
}catch (Exception e){ } catch (IllegalArgumentException e) {
log.error("[处理异常:{}]",e.getMessage(),e); log.error("[处理业务异常:{}]", e.getMessage(), e);
}finally { return JsonResult.error(e.getMessage());
RuntimeContextHolder.clear(); } catch (Exception e) {
log.error("[处理异常:{}]", e.getMessage(), e);
} finally {
RuntimeContextHolder.clear();
} }
return JsonResult.error(ExceptionCodeEnum.SYSTEM_ERROR); return JsonResult.error(ExceptionCodeEnum.SYSTEM_ERROR);
} }
......
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