From 4f77f025d9a7b9f2ef944a690f9f0be6eab463fb Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 8 Aug 2022 14:59:44 +0800 Subject: [PATCH] Add logs for inventory rollback fail --- .../InventoryRollbackOrderCanceledEventHandler.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/InventoryRollbackOrderCanceledEventHandler.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/InventoryRollbackOrderCanceledEventHandler.cs index 6b8f3d70..386575b5 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/InventoryRollbackOrderCanceledEventHandler.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/InventoryRollbackOrderCanceledEventHandler.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Threading.Tasks; using EasyAbp.EShop.Orders.Orders; +using Microsoft.Extensions.Logging; using Volo.Abp.DependencyInjection; using Volo.Abp.EventBus.Distributed; using Volo.Abp.Uow; @@ -10,13 +11,16 @@ namespace EasyAbp.EShop.Products.Products // see: https://github.com/EasyAbp/EShop/issues/139 public class InventoryRollbackOrderCanceledEventHandler : IDistributedEventHandler, ITransientDependency { + private readonly ILogger _logger; private readonly IProductManager _productManager; private readonly IProductRepository _productRepository; public InventoryRollbackOrderCanceledEventHandler( + ILogger logger, IProductManager productManager, IProductRepository productRepository) { + _logger = logger; _productManager = productManager; _productRepository = productRepository; } @@ -40,7 +44,12 @@ namespace EasyAbp.EShop.Products.Products var productSku = product.ProductSkus.Single(x => x.Id == orderLine.ProductSkuId); - await _productManager.TryIncreaseInventoryAsync(product, productSku, orderLine.Quantity, true); + if (!await _productManager.TryIncreaseInventoryAsync(product, productSku, orderLine.Quantity, true)) + { + _logger.LogWarning( + "InventoryRollbackOrderCanceledEventHandler: inventory rollback failed! productId = {productId}, productSkuId = {productSkuId}, quantity = {quantity}, reduceSold = {reduceSold}", + orderLine.ProductId, orderLine.ProductSkuId, orderLine.Quantity, true); + } } } }