| | |
| | | import com.ruoyi.goods.controller.management.dto.GoodsInfoTitleValueDTO; |
| | | import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO; |
| | | import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery; |
| | | import com.ruoyi.system.api.domain.vo.GoodsInfoTitleValueVO; |
| | | import com.ruoyi.goods.controller.management.vo.GoodsSkuVO; |
| | | import com.ruoyi.goods.domain.GoodsBrowseRecord; |
| | | import com.ruoyi.goods.domain.GoodsInfoTitleValue; |
| | |
| | | import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; |
| | | import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; |
| | | import com.ruoyi.system.api.domain.dto.ListStatusDTO; |
| | | import com.ruoyi.system.api.domain.vo.GoodsInfoTitleValueVO; |
| | | import com.ruoyi.system.api.domain.vo.HomeGoodsSkuInfoVO; |
| | | import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO; |
| | | import com.ruoyi.system.api.domain.vo.OrderVO; |
| | |
| | | @Override |
| | | @Transactional(propagation = Propagation.REQUIRES_NEW) |
| | | public void updGoodsStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS) { |
| | | log.info("开始批量更新商品库存"); |
| | | List<Long> goodsSkuIdList = goodsStockUpdDTOS.stream() |
| | | .map(GoodsStockUpdDTO::getGoodsSkuId) |
| | | .collect(Collectors.toList()); |
| | |
| | | try { |
| | | redissonLock.lock(30, TimeUnit.SECONDS); |
| | | Integer auctionStock = stockMap.get(skus.getId()); |
| | | if (StringUtils.isNotNull(auctionStock) && auctionStock > 0) { |
| | | if (StringUtils.isNotNull(auctionStock)) { |
| | | // 更新商品库存,更新五次失败抛出异常 |
| | | boolean isUpdated = false; |
| | | for (int i = 0; i < 5; i++) { |
| | |
| | | redissonLock.unlock(); |
| | | } |
| | | } |
| | | |
| | | log.info("批量更新商品库存结束"); |
| | | } |
| | | |
| | | @Override |