luofl
2025-03-07 faf27967a7f94a4ed03a179ec2670031576f4502
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -1204,33 +1204,36 @@
         BigDecimal balance = appUser.getBalance();
         //红包金额满足支付
         BigDecimal paymentMoney1 = paymentMoney;
         if(paymentMoney1.compareTo(totalRedPacketAmount) <= 0){
            totalRedPacketAmount = totalRedPacketAmount.subtract(paymentMoney1);
            balance = balance.subtract(paymentMoney1);
            appUser.setTotalRedPacketAmount(totalRedPacketAmount);
            appUser.setBalance(balance);
            redPacketAmount = paymentMoney1;
         }else{
            paymentMoney1 = paymentMoney1.subtract(totalRedPacketAmount);
            redPacketAmount = totalRedPacketAmount;
            totalRedPacketAmount = BigDecimal.ZERO;
            if(paymentMoney1.compareTo(totalDistributionAmount) <= 0){
               totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1);
               balance = balance.subtract(paymentMoney1);
               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
//               appUser.setTotalDistributionAmount(totalDistributionAmount);
               appUser.setBalance(balance);
               distributionAmount = paymentMoney1;
            }else{
               paymentMoney1 = paymentMoney1.subtract(totalDistributionAmount);
               totalDistributionAmount = BigDecimal.ZERO;
               balance = balance.subtract(paymentMoney1);
               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
//               appUser.setTotalDistributionAmount(totalDistributionAmount);
               appUser.setBalance(balance);
               distributionAmount = totalDistributionAmount;
            }
         }
         balance = balance.subtract(paymentMoney1);
         appUser.setBalance(balance);
//         if(paymentMoney1.compareTo(totalRedPacketAmount) <= 0){
//            totalRedPacketAmount = totalRedPacketAmount.subtract(paymentMoney1);
//            balance = balance.subtract(paymentMoney1);
//            appUser.setTotalRedPacketAmount(totalRedPacketAmount);
//            appUser.setBalance(balance);
//            redPacketAmount = paymentMoney1;
//         }else{
//            paymentMoney1 = paymentMoney1.subtract(totalRedPacketAmount);
//            redPacketAmount = totalRedPacketAmount;
//            totalRedPacketAmount = BigDecimal.ZERO;
//            if(paymentMoney1.compareTo(totalDistributionAmount) <= 0){
////               totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1);
//               balance = balance.subtract(paymentMoney1);
//               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
////               appUser.setTotalDistributionAmount(totalDistributionAmount);
//               appUser.setBalance(balance);
//               distributionAmount = paymentMoney1;
//            }else{
//               paymentMoney1 = paymentMoney1.subtract(totalDistributionAmount);
//               totalDistributionAmount = BigDecimal.ZERO;
//               balance = balance.subtract(paymentMoney1);
//               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
////               appUser.setTotalDistributionAmount(totalDistributionAmount);
//               appUser.setBalance(balance);
//               distributionAmount = totalDistributionAmount;
//            }
//         }
         //构建积分流水记录
         if(earnPoint > 0){
            PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();