Pu Zhibing
2025-04-03 1f09f6daaf73bc83cceb4ae22b862b7b365635cf
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -450,14 +450,12 @@
         BigDecimal bigDecimal = BigDecimal.ZERO;
         for (MyShoppingCartVo myShoppingCartVo : goodsList) {
            bigDecimal = bigDecimal.add(myShoppingCartVo.getCash().multiply(new BigDecimal(myShoppingCartVo.getNumber())));
            myShoppingCartVo.setEarnSpendingPoints(myShoppingCartVo.getEarnSpendingPoints() * myShoppingCartVo.getNumber());
         }
         confirmOrderVo.setOrderMoney(bigDecimal);
      }else{
         int sum = 0;
         for (MyShoppingCartVo myShoppingCartVo : goodsList) {
            sum += ((null != myShoppingCartVo.getPoint() ? myShoppingCartVo.getPoint() : 0) * myShoppingCartVo.getNumber());
            myShoppingCartVo.setEarnSpendingPoints((null != myShoppingCartVo.getEarnSpendingPoints() ? myShoppingCartVo.getEarnSpendingPoints() : 0) * myShoppingCartVo.getNumber());
         }
         confirmOrderVo.setOrderPoint(sum);
      }
@@ -466,7 +464,6 @@
      BigDecimal paymentMoney = orderMoney;
      //总优惠金额
      BigDecimal activityAmount = BigDecimal.ZERO;
      BaseSetting baseSetting = baseSettingClient.getBaseSetting(4).getData();
      confirmOrderVo.setUseSimultaneously(JSON.parseObject(baseSetting.getContent()).getInteger("status") == 1);
@@ -505,7 +502,7 @@
            BigDecimal goodsMoney = BigDecimal.ZERO;
            for (MyShoppingCartVo myShoppingCartVo : goodsList) {
               String goodsId = myShoppingCartVo.getGoodsId().toString();
               BigDecimal cash = myShoppingCartVo.getCash();
               BigDecimal cash = myShoppingCartVo.getCash().multiply(new BigDecimal(myShoppingCartVo.getNumber()));
               if(parseArray.contains(goodsId)){
                  goodsMoney = goodsMoney.add(cash);
               }else{
@@ -716,18 +713,18 @@
            vo.setPurchaseLimitNum(goods.getPurchaseLimit() - sum);
         }
         vo.setDistributionMode(goods.getDistributionMode());
         vo.setEarnSpendingPoints(price.getEarnSpendingPoints());
         vo.setSuperiorSubcommission(price.getSuperiorSubcommission());
         vo.setSuperiorRebatePoints(price.getSuperiorRebatePoints());
         vo.setEarnSpendingPoints(price.getEarnSpendingPoints() * shoppingCart.getNumber());
         vo.setSuperiorSubcommission(price.getSuperiorSubcommission().multiply(new BigDecimal(shoppingCart.getNumber())));
         vo.setSuperiorRebatePoints(price.getSuperiorRebatePoints() * shoppingCart.getNumber());
         vo.setSuperiorType(price.getSuperiorType());
         vo.setSuperiorPriceType(price.getSuperiorPriceType());
         vo.setServuceShopCharges(price.getServuceShopCharges());
         vo.setServuceShopPoints(price.getServuceShopPoints());
         vo.setTechnicianPoints(price.getTechnicianPoints());
         vo.setBoundShopCharges(price.getBoundShopCharges());
         vo.setBoundShopPoints(price.getBoundShopPoints());
         vo.setBoundShopSuperiorsCharges(price.getBoundShopSuperiorsCharges());
         vo.setBoundShopSuperiorsPoints(price.getBoundShopSuperiorsPoints());
         vo.setServuceShopCharges(price.getServuceShopCharges().multiply(new BigDecimal(shoppingCart.getNumber())));
         vo.setServuceShopPoints(price.getServuceShopPoints() * shoppingCart.getNumber());
         vo.setTechnicianPoints(price.getTechnicianPoints() * shoppingCart.getNumber());
         vo.setBoundShopCharges(price.getBoundShopCharges().multiply(new BigDecimal(shoppingCart.getNumber())));
         vo.setBoundShopPoints(price.getBoundShopPoints() * shoppingCart.getNumber());
         vo.setBoundShopSuperiorsCharges(price.getBoundShopSuperiorsCharges().multiply(new BigDecimal(shoppingCart.getNumber())));
         vo.setBoundShopSuperiorsPoints(price.getBoundShopSuperiorsPoints() * shoppingCart.getNumber());
         page.add(vo);
      }
      return page;
@@ -886,7 +883,7 @@
            BigDecimal goodsMoney = BigDecimal.ZERO;
            for (MyShoppingCartVo myShoppingCartVo : goodsList) {
               String goodsId = myShoppingCartVo.getGoodsId().toString();
               BigDecimal cash = myShoppingCartVo.getCash();
               BigDecimal cash = myShoppingCartVo.getCash().multiply(new BigDecimal(myShoppingCartVo.getNumber()));
               if(parseArray.contains(goodsId)){
                  goodsMoney = goodsMoney.add(cash);
               }else{
@@ -950,7 +947,7 @@
      //可获得的消费积分
      int earnPoint = 0;
      for (MyShoppingCartVo myShoppingCartVo : goodsList) {
         earnPoint += (myShoppingCartVo.getEarnSpendingPoints() * myShoppingCartVo.getNumber());
         earnPoint += myShoppingCartVo.getEarnSpendingPoints();
      }
      //获取快递策略,计算快递费
@@ -978,6 +975,7 @@
            }
         }
      }
      paymentMoney = paymentMoney.add(expressFee);
      if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){
         paymentMoney = BigDecimal.ZERO;
      }