diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 8c4f0576..5819ad5b 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -5321,16 +5321,15 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl 0 ? quantity_frozen : 0); - - if (!shopProductItemService.edit(shopProductItem)) { - throw new ApiException(I18nUtil._("修改商品冻结库存失败!")); + if (shopProductItem != null) { + logger.info("无法获取订单中的商品,请检查!");//商品存在才执行库存扣减 + // throw new ApiException(I18nUtil._("无法获取订单中的商品,请检查!")); + Integer item_quantity_frozen = shopProductItem.getItem_quantity_frozen(); + int quantity_frozen = item_quantity_frozen - order_item_quantity; + shopProductItem.setItem_quantity_frozen(quantity_frozen > 0 ? quantity_frozen : 0); + if (!shopProductItemService.edit(shopProductItem)) { + throw new ApiException(I18nUtil._("修改商品冻结库存失败!")); + } } }