diff --git a/common.props b/common.props index 0d2e6cd4..b49f9940 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 5.2.0 + 5.3.0-preview.1 $(NoWarn);CS1591 true EasyAbp Team diff --git a/plugins/Coupons/src/EasyAbp.EShop.Orders.Plugins.Coupons/EasyAbp/EShop/Orders/Plugins/Coupons/OrderDiscount/CouponOrderDiscountProvider.cs b/plugins/Coupons/src/EasyAbp.EShop.Orders.Plugins.Coupons/EasyAbp/EShop/Orders/Plugins/Coupons/OrderDiscount/CouponOrderDiscountProvider.cs index 767d9727..e333a8f3 100644 --- a/plugins/Coupons/src/EasyAbp.EShop.Orders.Plugins.Coupons/EasyAbp/EShop/Orders/Plugins/Coupons/OrderDiscount/CouponOrderDiscountProvider.cs +++ b/plugins/Coupons/src/EasyAbp.EShop.Orders.Plugins.Coupons/EasyAbp/EShop/Orders/Plugins/Coupons/OrderDiscount/CouponOrderDiscountProvider.cs @@ -125,20 +125,23 @@ namespace EasyAbp.EShop.Orders.Plugins.Coupons.OrderDiscount protected virtual List GetOrderLinesInScope(CouponTemplateData couponTemplate, OrderDiscountContext context) { + List expectedOrderLines; + if (couponTemplate.IsUnscoped) { - return context.Order.OrderLines.ToList(); + expectedOrderLines = context.Order.OrderLines.ToList(); } - - var expectedOrderLines = new List(); - - foreach (var scope in couponTemplate.Scopes.Where(scope => scope.StoreId == context.Order.StoreId)) + else { - expectedOrderLines.AddRange(context.Order.OrderLines - .WhereIf(scope.ProductGroupName != null, - x => context.ProductDict[x.ProductId].ProductGroupName == scope.ProductGroupName) - .WhereIf(scope.ProductId.HasValue, x => x.ProductId == scope.ProductId) - .WhereIf(scope.ProductSkuId.HasValue, x => x.ProductSkuId == scope.ProductSkuId)); + expectedOrderLines = []; + foreach (var scope in couponTemplate.Scopes.Where(scope => scope.StoreId == context.Order.StoreId)) + { + expectedOrderLines.AddRange(context.Order.OrderLines + .WhereIf(scope.ProductGroupName != null, + x => context.ProductDict[x.ProductId].ProductGroupName == scope.ProductGroupName) + .WhereIf(scope.ProductId.HasValue, x => x.ProductId == scope.ProductId) + .WhereIf(scope.ProductSkuId.HasValue, x => x.ProductSkuId == scope.ProductSkuId)); + } } if (expectedOrderLines.IsNullOrEmpty())