From 5f751b464dc01ef28b1872694e0beba6724e1dd6 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Wed, 19 Jun 2024 14:00:30 +0900 Subject: [PATCH 1/2] Avoid using Unscoped coupons regardless of the amount --- .../CouponOrderDiscountProvider.cs | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) 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()) From f5e79e5ab286d94960b7d52efb156e1bbc957d46 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Wed, 19 Jun 2024 14:03:13 +0900 Subject: [PATCH 2/2] Change version to 5.3.0-preview.1 --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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