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

货主还款监听器开发

上级 cddd686f
...@@ -4,8 +4,7 @@ import cn.hutool.json.JSONUtil; ...@@ -4,8 +4,7 @@ import cn.hutool.json.JSONUtil;
import com.clx.performance.constant.RabbitKeyConstants; import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.enums.nbbank.NbBankStatusEnum; import com.clx.performance.enums.nbbank.NbBankStatusEnum;
import com.clx.performance.param.OwnerBankNotifyMqParam; import com.clx.performance.param.OwnerBankNotifyMqParam;
import com.clx.performance.service.loan.OwnerLoanAccountService; import com.clx.performance.service.loan.OwnerRepaymentService;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.annotation.RabbitListener;
...@@ -21,23 +20,22 @@ import java.util.Objects; ...@@ -21,23 +20,22 @@ import java.util.Objects;
@AllArgsConstructor @AllArgsConstructor
public class OwnerRepaymentPayNotifyListener { public class OwnerRepaymentPayNotifyListener {
private final OwnerLoanRecordService ownerLoanRecordService; private final OwnerRepaymentService ownerRepaymentService;
private final OwnerLoanAccountService ownerLoanAccountService;
@RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_PAY_QUEUE) @RabbitListener(queues = RabbitKeyConstants.OWNER_REPAYMENT_QUEUE)
public void onMessage(String message) { public void onMessage(String message) {
log.info("处理货主还款支付监听器执行,数据为{}", message); log.info("处理货主还款支付监听器执行,数据为{}", message);
OwnerBankNotifyMqParam param = JSONUtil.toBean(message, OwnerBankNotifyMqParam.class); OwnerBankNotifyMqParam param = JSONUtil.toBean(message, OwnerBankNotifyMqParam.class);
if (Objects.equals(param.getPayStatus(), NbBankStatusEnum.Status.SUCCESS.getCode())) { if (Objects.equals(param.getPayStatus(), NbBankStatusEnum.Status.SUCCESS.getCode())) {
// 支付成功 // 支付成功
ownerLoanRecordService.paySuccess(param.getMerSeqNo()); ownerRepaymentService.paySuccess(param.getMerSeqNo());
} }
else if (Objects.equals(param.getPayStatus(), NbBankStatusEnum.Status.FAIL.getCode())) { else if (Objects.equals(param.getPayStatus(), NbBankStatusEnum.Status.FAIL.getCode())) {
// 支付失败 // 支付失败
ownerLoanRecordService.payFail(param.getMerSeqNo()); ownerRepaymentService.payFail(param.getMerSeqNo());
} }
} }
} }
...@@ -253,4 +253,29 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -253,4 +253,29 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
} }
@Override
public void paySuccess(String merSeqNo) {
// 查询交易流水
BankTrade bankTrade = bankTradeDao.getOneByField(BankTrade::getMerchantRunningWaterNo, merSeqNo)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 查询还款信息
OwnerRepayment ownerRepayment = ownerRepaymentDao.getOneByField(OwnerRepayment::getRepaymentNo, bankTrade.getRelationNo()).get();
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_SUCCESS.getCode());
// 更新借款信息
ownerRepaymentDao.updateStatusById(ownerRepayment);
}
@Override
public void payFail(String merSeqNo) {
// 查询交易流水
BankTrade bankTrade = bankTradeDao.getOneByField(BankTrade::getMerchantRunningWaterNo, merSeqNo)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 查询还款信息
OwnerRepayment ownerRepayment = ownerRepaymentDao.getOneByField(OwnerRepayment::getRepaymentNo, bankTrade.getRelationNo()).get();
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_FAIL.getCode());
// 更新借款信息
ownerRepaymentDao.updateStatusById(ownerRepayment);
}
} }
...@@ -36,4 +36,8 @@ public interface OwnerRepaymentService { ...@@ -36,4 +36,8 @@ public interface OwnerRepaymentService {
void ownerLoanRecordCancelPay(String repaymentNo); void ownerLoanRecordCancelPay(String repaymentNo);
void ownerRepaymentRetryPay(String repaymentNo); void ownerRepaymentRetryPay(String repaymentNo);
void paySuccess(String merSeqNo);
void payFail(String merSeqNo);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论