luodangjia
2025-01-16 d1f5b73f5b6856687119b2fe4bc54f7c556e6ac6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -330,7 +330,12 @@
   @Override
   public Long addGoods(ShoppingCart shoppingCart) {
      Long userid = tokenService.getLoginUserApplet().getUserid();
      Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
      long goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
      long count = count(new LambdaQueryWrapper<ShoppingCart>()
            .eq(ShoppingCart::getGoodsId, shoppingCart.getGoodsId())
            .eq(ShoppingCart::getStatus,1)
            .eq(ShoppingCart::getAppUserId, userid));
      goodsSaleNum += count;
      Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
      if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + shoppingCart.getNumber()) > goods.getPurchaseLimit()){
         throw new ServiceException("超出购买数量限制");
@@ -358,13 +363,7 @@
   @Override
   public R setGoodsNumber(SetGoodsNumber setGoodsNumber) {
      Long userid = tokenService.getLoginUserApplet().getUserid();
      ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
      Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
      Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
      if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + shoppingCart.getNumber()) > goods.getPurchaseLimit()){
         throw new ServiceException("超出购买数量限制");
      }
      if(0 >= setGoodsNumber.getNumber()){
         return R.fail("修改数量不能小于等于0");
      }
@@ -372,7 +371,9 @@
      if(null != shoppingCart){
         Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
         if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit() && goods1.getPurchaseLimit() < setGoodsNumber.getNumber()){
         if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit()
               && goods1.getPurchaseLimit() < setGoodsNumber.getNumber()
               && setGoodsNumber.getNumber() >= shoppingCart.getNumber()){
            return R.fail("修改数量不能大于限购数量");
         }
@@ -1196,7 +1197,7 @@
               totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1);
               balance = balance.subtract(paymentMoney1);
               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
               appUser.setTotalDistributionAmount(totalDistributionAmount);
//               appUser.setTotalDistributionAmount(totalDistributionAmount);
               appUser.setBalance(balance);
               distributionAmount = paymentMoney1;
            }else{
@@ -1204,7 +1205,7 @@
               totalDistributionAmount = BigDecimal.ZERO;
               balance = balance.subtract(paymentMoney1);
               appUser.setTotalRedPacketAmount(totalRedPacketAmount);
               appUser.setTotalDistributionAmount(totalDistributionAmount);
//               appUser.setTotalDistributionAmount(totalDistributionAmount);
               appUser.setBalance(balance);
               distributionAmount = totalDistributionAmount;
            }
@@ -1353,7 +1354,7 @@
                     totalDistributionAmount = totalDistributionAmount.subtract(expressFee1);
                     balance = balance.subtract(expressFee1);
                     appUser.setTotalRedPacketAmount(totalRedPacketAmount);
                     appUser.setTotalDistributionAmount(totalDistributionAmount);
//                     appUser.setTotalDistributionAmount(totalDistributionAmount);
                     appUser.setBalance(balance);
                     distributionAmount = expressFee1;
                  }else{
@@ -1361,7 +1362,7 @@
                     totalDistributionAmount = BigDecimal.ZERO;
                     balance = balance.subtract(expressFee1);
                     appUser.setTotalRedPacketAmount(totalRedPacketAmount);
                     appUser.setTotalDistributionAmount(totalDistributionAmount);
//                     appUser.setTotalDistributionAmount(totalDistributionAmount);
                     appUser.setBalance(balance);
                     distributionAmount = totalDistributionAmount;
                  }