diff --git a/src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreFeeCommandHandler.cs b/src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreFeeCommandHandler.cs index 1d3d369..dd62d88 100644 --- a/src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreFeeCommandHandler.cs +++ b/src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreFeeCommandHandler.cs @@ -57,19 +57,10 @@ public sealed class UpdateStoreFeeCommandHandler( fee.OrderPackagingFeeMode = request.PackagingFeeMode == PackagingFeeMode.Fixed ? request.OrderPackagingFeeMode : OrderPackagingFeeMode.Fixed; - if (request.PackagingFeeMode == PackagingFeeMode.Fixed && request.OrderPackagingFeeMode == OrderPackagingFeeMode.Tiered) - { - var normalizedTiers = StoreFeeTierHelper.Normalize(request.PackagingFeeTiers); - fee.FixedPackagingFee = 0m; - fee.PackagingFeeTiersJson = StoreFeeTierHelper.Serialize(normalizedTiers); - } - else - { - fee.FixedPackagingFee = request.PackagingFeeMode == PackagingFeeMode.Fixed - ? request.FixedPackagingFee ?? 0m - : 0m; - fee.PackagingFeeTiersJson = null; - } + fee.FixedPackagingFee = request.FixedPackagingFee ?? 0m; + // 非生效模式下也保留配置,避免模式切换后历史阶梯被清空。 + var normalizedTiers = StoreFeeTierHelper.Normalize(request.PackagingFeeTiers); + fee.PackagingFeeTiersJson = StoreFeeTierHelper.Serialize(normalizedTiers); fee.FreeDeliveryThreshold = request.FreeDeliveryThreshold; fee.CutleryFeeEnabled = request.CutleryFeeEnabled; fee.CutleryFeeAmount = request.CutleryFeeAmount;