Commit 232241ed authored by 张庆's avatar 张庆

新增MQ

parent 04daa939
...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil; ...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
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.common.utils.ValidateUtil; import com.jqtx.windows.common.utils.ValidateUtil;
...@@ -20,6 +21,7 @@ import com.jqtx.windows.component.seq.ISeqNoGenerateComponent; ...@@ -20,6 +21,7 @@ import com.jqtx.windows.component.seq.ISeqNoGenerateComponent;
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.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -31,6 +33,7 @@ import java.util.stream.Collectors; ...@@ -31,6 +33,7 @@ import java.util.stream.Collectors;
@Service @Service
@Slf4j
public class SyncLoanCommand extends AbstractCommand { public class SyncLoanCommand extends AbstractCommand {
@Autowired @Autowired
...@@ -43,53 +46,60 @@ public class SyncLoanCommand extends AbstractCommand { ...@@ -43,53 +46,60 @@ public class SyncLoanCommand extends AbstractCommand {
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(); try {
SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class); String request = RuntimeContextHolder.currentRuntimeContext().getRequestBody();
//校验 SyncLoanRequest syncLoanRequest = JSON.parseObject(request, SyncLoanRequest.class);
ValidateUtil.valid(syncLoanRequest); //校验
//修改loan ValidateUtil.valid(syncLoanRequest);
LoanModel loanModel = loanComponent.getByLoanNo(syncLoanRequest.getLoanNo()); //修改loan
Assert.isFalse(loanModel == null, "借款不存在"); LoanModel loanModel = loanComponent.getByLoanNo(syncLoanRequest.getLoanNo());
Assert.isFalse(!loanModel.getLoanStatus().equals(LoanStatusEnum.AUDITED.name()), "订单状态错误"); Assert.isFalse(loanModel == null, "借款不存在");
//新增plan Assert.isFalse(!loanModel.getLoanStatus().equals(LoanStatusEnum.AUDITED.name()), "订单状态错误");
BigDecimal loanAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanAmt).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); //新增plan
BigDecimal raiseAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanBen).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal loanAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanAmt).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal rateAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanXi).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal raiseAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanBen).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal burdenAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanBurden).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal rateAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanXi).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
loanModel.setLoanAmt(loanAmt); BigDecimal burdenAmt = syncLoanRequest.getPlanList().stream().map(SyncLoanRequest.LoanPlan::getPlanBurden).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
loanModel.setRaiseAmt(raiseAmt); loanModel.setLoanAmt(loanAmt);
loanModel.setServiceAmt(BigDecimal.ZERO); loanModel.setRaiseAmt(raiseAmt);
loanModel.setRateAmt(rateAmt); loanModel.setServiceAmt(BigDecimal.ZERO);
loanModel.setBurdenAmt(burdenAmt); loanModel.setRateAmt(rateAmt);
loanModel.setLoanUsage(syncLoanRequest.getLoanUsage()); loanModel.setBurdenAmt(burdenAmt);
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); loanModel.setLoanUsage(syncLoanRequest.getLoanUsage());
LocalDateTime dateTime = LocalDateTime.parse(syncLoanRequest.getRaiseDate(), df); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
loanModel.setRaiseDate(dateTime); LocalDateTime dateTime = LocalDateTime.parse(syncLoanRequest.getRaiseDate(), df);
loanModel.setLoanStatus(LoanStatusEnum.BACKING.name()); loanModel.setRaiseDate(dateTime);
loanModel.setBankAccount(syncLoanRequest.getBankAccount()); loanModel.setLoanStatus(LoanStatusEnum.BACKING.name());
loanModel.setLoanTerm(syncLoanRequest.getLoanTerm()); loanModel.setBankAccount(syncLoanRequest.getBankAccount());
loanModel.setGmtModified(LocalDateTime.now()); loanModel.setLoanTerm(syncLoanRequest.getLoanTerm());
int i = loanComponent.updateByLoanNo(loanModel); loanModel.setGmtModified(LocalDateTime.now());
//新增plan int i = loanComponent.updateByLoanNo(loanModel);
List<SyncLoanRequest.LoanPlan> planList = syncLoanRequest.getPlanList(); //新增plan
planList.forEach(loanPlan -> { List<SyncLoanRequest.LoanPlan> planList = syncLoanRequest.getPlanList();
String planNo = iSeqNoGenerateComponent.genCommonSeqNo(BizSeqNoConfig.PLAN_NO_KEY, BizSeqNoConfig.PLAN_NO_PREFIX); planList.forEach(loanPlan -> {
LoanPlanModel loanPlanModel = BeanUtil.toBean(loanPlan, LoanPlanModel.class); String planNo = iSeqNoGenerateComponent.genCommonSeqNo(BizSeqNoConfig.PLAN_NO_KEY, BizSeqNoConfig.PLAN_NO_PREFIX);
loanPlanModel.setPlanNo(planNo); LoanPlanModel loanPlanModel = BeanUtil.toBean(loanPlan, LoanPlanModel.class);
loanPlanModel.setLoanNo(loanModel.getLoanNo()); loanPlanModel.setPlanNo(planNo);
loanPlanModel.setStatus("BACKING"); loanPlanModel.setLoanNo(loanModel.getLoanNo());
//新增 loanPlanModel.setStatus("BACKING");
loanPlanComponent.insert(loanPlanModel); //新增
}); loanPlanComponent.insert(loanPlanModel);
//ok });
UploadPdfRequest uploadPdfRequest=new UploadPdfRequest(); //ok
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 (BizException e) {
log.error("同步放款错误:{}", e.getMessage(), e);
throw new BizException("同步放款错误");
}
return JsonResult.success(); return JsonResult.success();
} }
......
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