hjl
2024-06-26 dda33478829592be6eea4c78b6519142a9dd93bb
ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
@@ -105,6 +105,17 @@
            return R.exchangeError("兑换失败,当前剩余积分不足!");
        }
        if (null != good.getTotal()) {
            // 检查库存总数是否足够
            List<TOrder> order = orderService.lambdaQuery().eq(TOrder::getGoodsId, goodId)
                    .eq(TOrder::getDisabled, 0).list();
            if (!order.isEmpty()) {
                int totalNumber = order.stream().map(TOrder::getCount).collect(Collectors.toList())
                        .stream().mapToInt(Integer::intValue).sum();
                boolean canBuy = good.getTotal() - totalNumber >= number;
                if (!canBuy) {
                    throw new GlobalException("商品库存不足,兑换失败!");
                }
            }
            // 检查用户兑换数量是否超过单用户最大兑换数量
            List<TOrder> orderList = orderService.lambdaQuery().eq(TOrder::getUserId, user.getId())
                    .eq(TOrder::getGoodsId, goodId).list();