| | |
| | | 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(); |