admin/src/Oms.Domain/OrdersAggregate/Consts/OrderExceptionStatusRules.cs
zzh b2355104cf feat: 完善揽收单与问题件处理能力
补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 11:49:23 +08:00

24 lines
849 B
C#

namespace Oms.Domain.OrdersAggregate.Consts;
public static class OrderExceptionStatusRules
{
public static readonly HashSet<string> ForbiddenSourceStatuses = new(StringComparer.OrdinalIgnoreCase)
{
OrderStatusCodes.Draft,
OrderStatusCodes.Deleted,
OrderStatusCodes.Claimed
};
public static bool CanMarkException(string? orderStatus) =>
!string.IsNullOrWhiteSpace(orderStatus)
&& !ForbiddenSourceStatuses.Contains(orderStatus.Trim());
public static string GetForbiddenReason(string? orderStatus) => orderStatus?.Trim().ToLowerInvariant() switch
{
OrderStatusCodes.Draft => "草稿订单不可标记",
OrderStatusCodes.Deleted => "已删除订单不可标记",
OrderStatusCodes.Claimed => "已是理赔件",
_ => "订单状态不允许标记"
};
}