From d79b7c56ac875f10c0436790323d12756ad8ad03 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Fri, 27 Nov 2020 18:11:47 +0800 Subject: [PATCH] Allow IOrderExtraFeeProvider to provide multi extra fees --- common.props | 2 +- .../EasyAbp/EShop/Orders/Orders/IOrderExtraFeeProvider.cs | 2 +- .../EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/common.props b/common.props index 65eb5869..6a733efc 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 1.8.0 + 1.8.1 $(NoWarn);CS1591 true EasyAbp Team diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IOrderExtraFeeProvider.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IOrderExtraFeeProvider.cs index 38d63591..0b19dd1d 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IOrderExtraFeeProvider.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IOrderExtraFeeProvider.cs @@ -8,6 +8,6 @@ namespace EasyAbp.EShop.Orders.Orders { public interface IOrderExtraFeeProvider { - Task GetAsync(Guid customerUserId, CreateOrderDto input, Dictionary productDict); + Task> GetListAsync(Guid customerUserId, CreateOrderDto input, Dictionary productDict); } } \ 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 c895ed45..a2b08ec3 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 @@ -87,9 +87,12 @@ namespace EasyAbp.EShop.Orders.Orders foreach (var provider in providers) { - var infoModel = await provider.GetAsync(customerUserId, input, productDict); + var infoModels = await provider.GetListAsync(customerUserId, input, productDict); - order.AddOrderExtraFee(infoModel.Fee, infoModel.Name, infoModel.Key); + foreach (var infoModel in infoModels) + { + order.AddOrderExtraFee(infoModel.Fee, infoModel.Name, infoModel.Key); + } } }