From c678953825053c8cbc5ea6b441aeeb2b9fc738d2 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 20 八月 2026 16:29:02 +0800
Subject: [PATCH] 浣欓鏀粯涓嶅弬涓嶸IP浼氬憳鎶樻墸

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   16 ++++++++--------
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java                     |    4 ++--
 2 files changed, 10 insertions(+), 10 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 59a183a..4012102 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
@@ -985,8 +985,8 @@
         }
         TAccountingStrategy accountingStrategy = accountingStrategyClient.getAccountingStrategyById(accountingStrategyId).getData();
 
-        //会员折扣支持直营网点和加盟商站点
-        if (!whitelistMatched && Integer.valueOf(1).equals(site.getMemberDiscountFlag()) && null != appUser.getVipId()) {
+        //会员折扣支持直营网点和加盟商站点;余额支付(含组合支付)不参与会员折扣
+        if (!whitelistMatched && !isBalancePayMode(payMethod) && Integer.valueOf(1).equals(site.getMemberDiscountFlag()) && null != appUser.getVipId()) {
             GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
             getAppUserVipDetail.setAppUserId(appUser.getId());
             getAppUserVipDetail.setVipId(appUser.getVipId());
@@ -1557,8 +1557,8 @@
         BigDecimal s_degrees = tChargingGun.getRatedPower().divide(new BigDecimal(3600), 6, RoundingMode.HALF_EVEN);
 
         TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
-        //判断会员是否还有充电优惠次数,计算会员优惠的折扣金额
-        if (!isWhitelistOrder(chargingOrder) && null != appUser.getVipId() && isEffectiveVipDiscount(discount)) {
+        //判断会员是否还有充电优惠次数,计算会员优惠的折扣金额;余额支付(含组合支付)不参与会员折扣
+        if (!isWhitelistOrder(chargingOrder) && !isBalancePayMode(chargingOrder.getPayMethod()) && null != appUser.getVipId() && isEffectiveVipDiscount(discount)) {
             GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
             getAppUserVipDetail.setAppUserId(chargingOrder.getAppUserId());
             getAppUserVipDetail.setVipId(appUser.getVipId());
@@ -5054,8 +5054,8 @@
                     BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(sharp_peak_charge);
                     BigDecimal serviceCharge = originalServicePrice;
                     BigDecimal vipDiscountAmount = BigDecimal.ZERO;
-                    //计算优惠金额
-                    if (!isWhitelistOrder(chargingOrder) && null != chargingOrder.getVipDiscount()) {
+                    //计算优惠金额;余额支付(含组合支付)不参与会员折扣
+                    if (!isWhitelistOrder(chargingOrder) && !isBalancePayMode(chargingOrder.getPayMethod()) && null != chargingOrder.getVipDiscount()) {
                         //0.58折
                         vipDiscountAmount = serviceCharge.multiply(new BigDecimal(1).subtract(chargingOrder.getVipDiscount()));
                         serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount());
@@ -8205,8 +8205,8 @@
                     BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(sharp_peak_charge);
                     BigDecimal serviceCharge = originalServicePrice;
                     BigDecimal vipDiscountAmount = BigDecimal.ZERO;
-                    //计算优惠金额
-                    if (!isWhitelistOrder(chargingOrder) && null != chargingOrder.getVipDiscount()) {
+                    //计算优惠金额;余额支付(含组合支付)不参与会员折扣
+                    if (!isWhitelistOrder(chargingOrder) && !isBalancePayMode(chargingOrder.getPayMethod()) && null != chargingOrder.getVipDiscount()) {
                         //0.58折
                         vipDiscountAmount = serviceCharge.multiply(new BigDecimal(1).subtract(chargingOrder.getVipDiscount()));
                         serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
index 9334ad6..a2b0242 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -552,8 +552,8 @@
                                 BigDecimal originalServicePrice = detailOrder.getServiceCharge().multiply(subtract);
                                 BigDecimal serviceCharge = originalServicePrice;
                                 BigDecimal vipDiscountAmount = BigDecimal.ZERO;
-                                //计算优惠金额
-                                if (!isWhitelistOrder(order) && null != order.getVipDiscount()) {
+                                //计算优惠金额;余额支付(含组合支付)不参与会员折扣
+                                if (!isWhitelistOrder(order) && !isBalancePayMode(order.getPayMethod()) && null != order.getVipDiscount()) {
                                     //0.58折
                                     vipDiscountAmount = serviceCharge.multiply(new BigDecimal(1).subtract(order.getVipDiscount()));
                                     serviceCharge = serviceCharge.multiply(order.getVipDiscount());

--
Gitblit v1.7.1