diff --git a/common.props b/common.props index 64f80e64..cdd75a48 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 0.4.3 + 0.4.4 $(NoWarn);CS1591 true EasyAbp Team diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs index efbbd6b1..fe653e10 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs @@ -8,6 +8,7 @@ namespace EasyAbp.EShop.Orders.Orders { public interface INewOrderGenerator { - Task GenerateAsync(CreateOrderDto input, Dictionary productDict); + Task GenerateAsync(CreateOrderDto input, Dictionary productDict, + Dictionary orderExtraProperties); } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs index 373cf34e..3769d31e 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs @@ -37,7 +37,7 @@ namespace EasyAbp.EShop.Orders.Orders _productSkuDescriptionProvider = productSkuDescriptionProvider; } - public virtual async Task GenerateAsync(CreateOrderDto input, Dictionary productDict) + public virtual async Task GenerateAsync(CreateOrderDto input, Dictionary productDict, Dictionary orderExtraProperties) { var orderLines = new List(); @@ -60,6 +60,11 @@ namespace EasyAbp.EShop.Orders.Orders refundedAmount: 0, customerRemark: input.CustomerRemark); + foreach (var orderExtraProperty in orderExtraProperties) + { + order.ExtraProperties.Add(orderExtraProperty.Key, orderExtraProperty.Value); + } + order.SetOrderLines(orderLines); order.SetOrderNumber(await _orderNumberGenerator.CreateAsync(order)); diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs index 988d18a3..6b0a200c 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs @@ -105,7 +105,9 @@ namespace EasyAbp.EShop.Orders.Orders await _purchasableCheckManager.CheckAsync(input, productDict); - var order = await _newOrderGenerator.GenerateAsync(input, productDict); + var orderExtraProperties = new Dictionary(); + + var order = await _newOrderGenerator.GenerateAsync(input, productDict, orderExtraProperties); await _orderDiscountManager.DiscountAsync(order, input.ExtraProperties);