无关风月
2025-01-17 c08e13eb2c875a160b3f30acaa6d01306c19b444
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -337,7 +337,20 @@
            .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()){
      Integer maxNum = 0;
      if(shoppingCart.getType() == 2){
         R<SeckillActivityInfo> r = seckillActivityInfoClient.getSeckillActivityInfoByGoodsId(shoppingCart.getGoodsId());
         if (R.isError(r)){
            throw new ServiceException("获取秒杀商品失败!");
         }
         SeckillActivityInfo seckillActivityInfo = r.getData();
         maxNum = seckillActivityInfo.getMaxNum();
      }else {
         maxNum = goods.getPurchaseLimit();
      }
      if(null != goods.getPurchaseLimit() && -1 != maxNum && (goodsSaleNum + shoppingCart.getNumber()) > maxNum){
         throw new ServiceException("超出购买数量限制");
      }
      ShoppingCart one = this.getOne(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid)
@@ -1131,6 +1144,7 @@
                  jsonObject.put("transferablePoint", earnPoint1);
               }
               if(earnPoint > 0){
               UserPoint userPoint = new UserPoint();
               userPoint.setType(1);
               userPoint.setHistoricalPoint(lavePoint);
@@ -1141,6 +1155,7 @@
               userPoint.setObjectId(order.getId());
               userPoint.setExtention(jsonObject.toJSONString());
               userPointClient.saveUserPoint(userPoint);
               }
            }
            appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
            appUser.setLastShopTime(LocalDateTime.now());
@@ -1315,6 +1330,7 @@
         }
         //构建积分流水记录
         if(orderPoint > 0){
         UserPoint userPoint = new UserPoint();
         userPoint.setType(11);
         userPoint.setHistoricalPoint(lavePoint);
@@ -1325,6 +1341,7 @@
         userPoint.setObjectId(order.getId());
         userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
         userPointClient.saveUserPoint(userPoint);
         }
         appUser.setLastShopTime(LocalDateTime.now());
         appUserClient.editAppUserById(appUser);
@@ -1460,6 +1477,7 @@
            jsonObject.put("transferablePoint", earnPoint1);
         }
         if(earnPoint > 0){
         UserPoint userPoint = new UserPoint();
         userPoint.setType(1);
         userPoint.setHistoricalPoint(lavePoint);
@@ -1470,6 +1488,7 @@
         userPoint.setObjectId(order.getId());
         userPoint.setExtention(jsonObject.toJSONString());
         userPointClient.saveUserPoint(userPoint);
         }
      }
      appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
      appUser.setLastShopTime(LocalDateTime.now());
@@ -1539,6 +1558,7 @@
      }
      //构建积分流水记录
      if(orderPoint > 0){
      UserPoint userPoint = new UserPoint();
      userPoint.setType(11);
      userPoint.setHistoricalPoint(lavePoint);
@@ -1549,6 +1569,7 @@
      userPoint.setObjectId(order.getId());
      userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
      userPointClient.saveUserPoint(userPoint);
      }
      //积分支付不反积分