AdoS0SalesRules.cs 994 B

1234567891011121314151617181920212223242526
  1. namespace Admin.NET.Plugin.AiDOP.Infrastructure;
  2. /// <summary>
  3. /// S0 产销(Batch2)可单测的业务规则:与控制器中的赋值保持一致。
  4. /// </summary>
  5. public static class AdoS0SalesRules
  6. {
  7. public static string ForbidStatusFromIsEnabled(bool isEnabled) =>
  8. isEnabled ? "normal" : "forbidden";
  9. /// <summary>
  10. /// 创建规则:未填编码时按时间戳与后缀生成,与控制器原逻辑一致。
  11. /// </summary>
  12. public static string ResolveOrderPriorityRuleCodeForCreate(string? dtoCode, DateTime now, int randomSuffix)
  13. {
  14. if (!string.IsNullOrWhiteSpace(dtoCode))
  15. return dtoCode;
  16. return $"RULE-{now:yyyyMMddHHmmss}-{randomSuffix}";
  17. }
  18. /// <summary>
  19. /// 更新规则:空编码表示不修改原编码。
  20. /// </summary>
  21. public static string ResolveOrderPriorityRuleCodeForUpdate(string? dtoCode, string existingCode) =>
  22. string.IsNullOrWhiteSpace(dtoCode) ? existingCode : dtoCode;
  23. }