Ver código fonte

fix 账户优惠金额计算重复扣减

skyline 1 ano atrás
pai
commit
304e886f33

+ 2 - 4
service/src/main/java/com/kym/service/miniapp/impl/RechargeRightsDiscountHandle.java

@@ -73,10 +73,9 @@ public class RechargeRightsDiscountHandle implements DiscountService {
                         // 账户设置优惠不可退金额
                         discountAmount = account.getDiscountAmount() + serviceMoneyDiscount;
                         account.setDiscountAmount(discountAmount);
+                        // 权益失效时更新状态
                         if (chargeOrder.getPayAmount().intValue() == userRechargeRights.getRightsBalance().intValue()) {
                             userRechargeRights.setStatus(UserRechargeRights.STATUS_无效);
-                            // 权益失效时减去当前权益包已产生的优惠金额
-                            account.setDiscountAmount(discountAmount - userRechargeRights.getDiscountAmount());
                         }
                     } else {
                         // 不足(用户当前权益金余额是否足够支付本次充电费用)
@@ -106,8 +105,7 @@ public class RechargeRightsDiscountHandle implements DiscountService {
                         orderRechargeRights.setDiscountAmount(realDiscountAmount);
                         // 此权益包消耗完毕,账户设置优惠不可退金额
                         discountAmount = account.getDiscountAmount() + realDiscountAmount;
-                        // 权益失效时减去当前权益包已产生的优惠金额
-                        account.setDiscountAmount(discountAmount - userRechargeRights.getDiscountAmount());
+                        account.setDiscountAmount(discountAmount);
                     }
                 }