namespace Oms.Domain.OrdersAggregate.Consts; /// /// 揽收方向:正向(客户地址→仓库)/ 逆向(仓库→客户地址)。 /// public static class PickupDirectionCodes { /// 正向:客户揽收地址 → 仓库 public const string Forward = "forward"; /// 逆向:仓库 → 客户揽收地址 public const string Reverse = "reverse"; public static readonly HashSet All = new(StringComparer.OrdinalIgnoreCase) { Forward, Reverse }; public static string NormalizeOrDefault(string? direction) { var code = string.IsNullOrWhiteSpace(direction) ? Forward : direction.Trim(); if (!All.Contains(code)) { return Forward; } return All.First(x => string.Equals(x, code, StringComparison.OrdinalIgnoreCase)); } public static string GetDisplayName(string? direction) { return NormalizeOrDefault(direction) switch { Reverse => "逆向", _ => "正向" }; } }