提交 0e161795 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118'…

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118' into v10.7_borrowing_and_repayment_20240118
...@@ -58,8 +58,8 @@ public enum OwnerLoanRecordEnum { ...@@ -58,8 +58,8 @@ public enum OwnerLoanRecordEnum {
@AllArgsConstructor @AllArgsConstructor
public enum LoanFlag { public enum LoanFlag {
NO_LOAN(0, "未借款"), NO_LOAN(0, "未借款"),
LOAN(2, "已借款"), LOAN(1, "已借款"),
RE_PAY(3, "已还款"), RE_PAY(2, "已还款"),
; ;
private final Integer code; private final Integer code;
......
...@@ -41,6 +41,9 @@ import org.redisson.api.RLock; ...@@ -41,6 +41,9 @@ import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -75,6 +78,8 @@ public class OrderChildLoanComponent { ...@@ -75,6 +78,8 @@ public class OrderChildLoanComponent {
private final ApplicationEventPublisher applicationEventPublisher; private final ApplicationEventPublisher applicationEventPublisher;
/** /**
* 接单校验判断 * 接单校验判断
* *
...@@ -177,8 +182,8 @@ public class OrderChildLoanComponent { ...@@ -177,8 +182,8 @@ public class OrderChildLoanComponent {
* @param settlementDriverDetail * @param settlementDriverDetail
* @param settlementOwnerDetail * @param settlementOwnerDetail
*/ */
@Transactional(rollbackFor = Exception.class)
public void childLoanConfirmAfterProcess(SettlementDriverDetail settlementDriverDetail, SettlementOwnerDetail settlementOwnerDetail, OrderChild orderChild) { public void childLoanConfirmAfterProcess(SettlementDriverDetail settlementDriverDetail, SettlementOwnerDetail settlementOwnerDetail, OrderChild orderChild) {
log.info("1.运单确认收货后借款相关处理执行"); log.info("1.运单确认收货后借款相关处理执行");
//临时结算金额,借款抵扣后需要重新赋值结算金额为0,如果不需要借款相关逻辑,正常设置结算金额 //临时结算金额,借款抵扣后需要重新赋值结算金额为0,如果不需要借款相关逻辑,正常设置结算金额
settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail)); settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
......
...@@ -17,6 +17,9 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,6 +17,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
/** /**
* 处理货主借款监听器 * 处理货主借款监听器
...@@ -36,9 +39,14 @@ public class OwnerLoanListener { ...@@ -36,9 +39,14 @@ public class OwnerLoanListener {
private final SettlementDriverDetailDao settlementDriverDetailDao; private final SettlementDriverDetailDao settlementDriverDetailDao;
private final PlatformTransactionManager platformTransactionManager;
private final TransactionDefinition transactionDefinition;
@RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE) @RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE)
public void onMessage(String message) { public void onMessage(String message) {
TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
log.info("处理货主借款监听器执行,数据为{}", message); log.info("处理货主借款监听器执行,数据为{}", message);
OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class); OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class);
SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail(); SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail();
...@@ -53,6 +61,7 @@ public class OwnerLoanListener { ...@@ -53,6 +61,7 @@ public class OwnerLoanListener {
settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode()); settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode());
applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail)); applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail));
log.error("处理货主借款监听器执行异常,数据为{}", message, e); log.error("处理货主借款监听器执行异常,数据为{}", message, e);
platformTransactionManager.commit(transactionStatus);
return; return;
} }
...@@ -62,5 +71,7 @@ public class OwnerLoanListener { ...@@ -62,5 +71,7 @@ public class OwnerLoanListener {
// 发送mq 通过开票标识 // 发送mq 通过开票标识
settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType()); settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType());
platformTransactionManager.commit(transactionStatus);
} }
} }
...@@ -66,6 +66,14 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr ...@@ -66,6 +66,14 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
@Override @Override
public void openOwnerLoanAccountApprove() { public void openOwnerLoanAccountApprove() {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
PageOwnerLoanAccountApproveParam param = new PageOwnerLoanAccountApproveParam();
param.setOwnerUserNo(String.valueOf(loginUserInfo.getUserNo()));
param.setStatus(OwnerLoanAccountApproveEnum.Status.APPROVE_WAIT.getCode());
IPage<OwnerLoanAccountApprove> page = ownerLoanAccountApproveDao.pageOwnerLoanAccountApprove(param);
if(page.getTotal() > 0){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"您已经申请过借款用户,请勿重复申请");
}
Optional<OwnerLoanAccount> optional = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo, Optional<OwnerLoanAccount> optional = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo,
loginUserInfo.getUserNo()); loginUserInfo.getUserNo());
if(optional.isPresent()){ if(optional.isPresent()){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论