From 88197952a54bee75e4fb181253d34992063ea9e8 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 28 四月 2026 17:34:13 +0800
Subject: [PATCH] p0功能 小程序
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index d7a0b75..5fc0df7 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -442,6 +442,22 @@
appUserClient.updateAppUser(appUser);
}
+
+ private void recordBalanceConsume(TChargingOrder chargingOrder, BigDecimal consumeAmount) {
+ if (chargingOrder == null || chargingOrder.getAppUserId() == null || chargingOrder.getId() == null
+ || consumeAmount == null || consumeAmount.compareTo(BigDecimal.ZERO) <= 0) {
+ return;
+ }
+ ExchangeCodeConsumeDTO consumeDTO = new ExchangeCodeConsumeDTO();
+ consumeDTO.setUserId(chargingOrder.getAppUserId());
+ consumeDTO.setOrderId(chargingOrder.getId());
+ consumeDTO.setAmount(consumeAmount);
+ R<ExchangeCodeConsumeResultVO> result = otherClient.consumeExchangeCodeBalance(consumeDTO);
+ if (result == null || result.getCode() != 200) {
+ throw new RuntimeException("??????????");
+ }
+ }
+
private void recordBalanceRefund(TChargingOrder chargingOrder, BigDecimal refundAmount, String refundNo) {
if (chargingOrder == null || chargingOrder.getAppUserId() == null || chargingOrder.getId() == null
|| refundAmount == null || refundAmount.compareTo(BigDecimal.ZERO) <= 0) {
@@ -658,6 +674,7 @@
if (thirdPayAmount.compareTo(BigDecimal.ZERO) == 0 && balancePayAmount.compareTo(BigDecimal.ZERO) > 0) {
changeUserBalance(userId, balancePayAmount.negate());
+ recordBalanceConsume(chargingOrder, balancePayAmount);
}
if (thirdPayAmount.compareTo(BigDecimal.ZERO) == 0) {
return chargingOrderCallback(addChargingOrder.getPaymentType(), chargingOrder.getCode(), "BALANCE", null);
@@ -729,6 +746,7 @@
throw new RuntimeException("余额不足,支付回调处理失败");
}
changeUserBalance(chargingOrder.getAppUserId(), money(chargingOrder.getBalancePayAmount()).negate());
+ recordBalanceConsume(chargingOrder, money(chargingOrder.getBalancePayAmount()));
}
chargingOrder.setRechargePaymentStatus(2);
chargingOrder.setRechargeSerialNumber(transaction_id);
@@ -2799,14 +2817,6 @@
BigDecimal actualBalancePayAmount = money(chargingOrder.getBalancePayAmount()).subtract(balanceRefundAmount);
if (actualBalancePayAmount.compareTo(BigDecimal.ZERO) < 0) {
actualBalancePayAmount = BigDecimal.ZERO;
- }
- if (isBalancePayMode(chargingOrder.getPayMethod()) && chargingOrder.getAppUserId() != null
- && actualBalancePayAmount.compareTo(BigDecimal.ZERO) > 0) {
- ExchangeCodeConsumeDTO exchangeCodeConsumeDTO = new ExchangeCodeConsumeDTO();
- exchangeCodeConsumeDTO.setUserId(chargingOrder.getAppUserId());
- exchangeCodeConsumeDTO.setOrderId(chargingOrder.getId());
- exchangeCodeConsumeDTO.setAmount(actualBalancePayAmount);
- otherClient.consumeExchangeCodeBalance(exchangeCodeConsumeDTO);
}
refundAmount = thirdRefundAmount.add(balanceRefundAmount);
chargingOrder.setBalanceRefundAmount(balanceRefundAmount.setScale(2, RoundingMode.HALF_UP));
--
Gitblit v1.7.1