提交 b59089ae authored 作者: huyufan's avatar huyufan

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

Former-commit-id: 8a61d9c3
package com.clx.performance.listener;
import cn.hutool.json.JSONUtil;
import com.clx.performance.component.OrderChildLoanComponent;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.dto.OwnerLoanMqDTO;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.event.SettlementUpdateEvent;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.settle.SettlementMqService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
/**
* 处理货主借款监听器
*/
@Slf4j
@Component
@AllArgsConstructor
public class OwnerLoanListener {
private final OrderChildLoanComponent orderChildLoanComponent;
private final SettlementMqService settlementMqService;
private final ApplicationEventPublisher applicationEventPublisher;
private final SettlementOwnerDetailDao settlementOwnerDetailDao;
private final SettlementDriverDetailDao settlementDriverDetailDao;
private final PlatformTransactionManager platformTransactionManager;
private final TransactionDefinition transactionDefinition;
@RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE)
public void onMessage(String message) {
TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
log.info("处理货主借款监听器执行,数据为{}", message);
OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class);
SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail();
SettlementDriverDetail settlementDriverDetail = param.getSettlementDriverDetail();
OrderChild orderChild = param.getOrderChild();
try {
//生成借款标识
orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild);
} catch (Exception e) {
//未借款
settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode());
applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail));
log.error("处理货主借款监听器执行异常,数据为{}", message, e);
platformTransactionManager.commit(transactionStatus);
return;
}
log.info("处理货主借款监听器执行成功");
settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
// 发送mq 通过开票标识
settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType());
platformTransactionManager.commit(transactionStatus);
}
}
//package com.clx.performance.listener;
//
//import cn.hutool.json.JSONUtil;
//import com.clx.performance.component.OrderChildLoanComponent;
//import com.clx.performance.constant.RabbitKeyConstants;
//import com.clx.performance.dao.settle.SettlementDriverDetailDao;
//import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
//import com.clx.performance.dto.OwnerLoanMqDTO;
//import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
//import com.clx.performance.event.SettlementUpdateEvent;
//import com.clx.performance.model.OrderChild;
//import com.clx.performance.model.settle.SettlementDriverDetail;
//import com.clx.performance.model.settle.SettlementOwnerDetail;
//import com.clx.performance.service.settle.SettlementMqService;
//import lombok.AllArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.context.ApplicationEventPublisher;
//import org.springframework.stereotype.Component;
//import org.springframework.transaction.PlatformTransactionManager;
//import org.springframework.transaction.TransactionDefinition;
//import org.springframework.transaction.TransactionStatus;
//
///**
// * 处理货主借款监听器
// */
//@Slf4j
//@Component
//@AllArgsConstructor
//public class OwnerLoanListener {
//
// private final OrderChildLoanComponent orderChildLoanComponent;
//
// private final SettlementMqService settlementMqService;
//
// private final ApplicationEventPublisher applicationEventPublisher;
//
// private final SettlementOwnerDetailDao settlementOwnerDetailDao;
//
// private final SettlementDriverDetailDao settlementDriverDetailDao;
//
// private final PlatformTransactionManager platformTransactionManager;
//
// private final TransactionDefinition transactionDefinition;
//
// @RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE)
// public void onMessage(String message) {
// TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
//
// log.info("处理货主借款监听器执行,数据为{}", message);
// OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class);
// SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail();
// SettlementDriverDetail settlementDriverDetail = param.getSettlementDriverDetail();
// OrderChild orderChild = param.getOrderChild();
//
// try {
// //生成借款标识
// orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild);
// } catch (Exception e) {
// //未借款
// settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode());
// applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail));
// log.error("处理货主借款监听器执行异常,数据为{}", message, e);
// platformTransactionManager.commit(transactionStatus);
//
// return;
// }
// log.info("处理货主借款监听器执行成功");
// settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
// settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
//
// // 发送mq 通过开票标识
// settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType());
// platformTransactionManager.commit(transactionStatus);
//
// }
//}
......@@ -676,8 +676,8 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
NbBankOrderResultVO result = bankService.getResult(ownerLoanRecord.getMerchantRunningWaterNo());
Integer status = result.getStatus();
if (!NbBankStatusEnum.Status.FAIL.getCode().equals(status)
&& !NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
if (NbBankStatusEnum.Status.FAIL.getCode().equals(status)
|| NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
) {
log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result));
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR);
......
......@@ -235,8 +235,8 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
NbBankOrderResultVO result = bankService.getResult(bankTrade.getMerchantRunningWaterNo());
Integer status = result.getStatus();
if (!NbBankStatusEnum.Status.FAIL.getCode().equals(status)
&& !NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
if (NbBankStatusEnum.Status.FAIL.getCode().equals(status)
|| NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
) {
log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result));
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论