mitao
2024-05-31 d5cd5518fb4c9ec771dbf3d8db691fef36d18a45
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -239,7 +239,7 @@
            String goodsLock = "goods_lock:" + skus.getId();
            RLock redissonLock = redissonClient.getLock(goodsLock);
            try {
                redissonLock.lock(100, TimeUnit.SECONDS);
                redissonLock.lock(30, TimeUnit.SECONDS);
                Integer auctionStock = stockMap.get(skus.getId());
                if (StringUtils.isNotNull(auctionStock) && auctionStock > 0) {
                    // 更新商品库存,更新五次失败抛出异常
@@ -265,7 +265,8 @@
    private boolean updateGoodsStock(GoodsSku skus, Integer auctionStock) {
        return this.lambdaUpdate()
                .set(GoodsSku::getStock, skus.getStock() + auctionStock)
                .set(skus.getStock() + auctionStock > 0, GoodsSku::getStock,
                        skus.getStock() + auctionStock)
                .eq(GoodsSku::getId, skus.getId())
                .eq(GoodsSku::getStock, skus.getStock())
                .update();