ChatBIDtos.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. namespace Admin.NET.Plugin.AiDOP.ChatBI;
  2. public sealed class ChatBIAskInput
  3. {
  4. public string? Question { get; set; }
  5. public string? Entry { get; set; }
  6. public string? ModuleCode { get; set; }
  7. public long FactoryId { get; set; } = 1;
  8. public Dictionary<string, string>? Filters { get; set; }
  9. }
  10. public sealed class ChatBIAnswerOutput
  11. {
  12. public string Source { get; set; } = "local";
  13. public string Intent { get; set; } = string.Empty;
  14. public string FocusMetricCode { get; set; } = string.Empty;
  15. public string Summary { get; set; } = string.Empty;
  16. public string AnswerText { get; set; } = string.Empty;
  17. public string ContextTitle { get; set; } = string.Empty;
  18. public List<ChatBIAnswerSection> Sections { get; set; } = new();
  19. public List<ChatBIMetricCard> Metrics { get; set; } = new();
  20. public List<string> Suggestions { get; set; } = new();
  21. public List<ChatBIAction> Actions { get; set; } = new();
  22. public bool IsFallback { get; set; }
  23. }
  24. public sealed class ChatBIAnswerSection
  25. {
  26. public string Title { get; set; } = string.Empty;
  27. public string Content { get; set; } = string.Empty;
  28. public string Tone { get; set; } = string.Empty;
  29. }
  30. public sealed class ChatBIMetricCard
  31. {
  32. public long Id { get; set; }
  33. public long? ParentId { get; set; }
  34. public string ModuleCode { get; set; } = string.Empty;
  35. public string MetricCode { get; set; } = string.Empty;
  36. public string MetricName { get; set; } = string.Empty;
  37. public int MetricLevel { get; set; }
  38. public decimal? CurrentValue { get; set; }
  39. public decimal? TargetValue { get; set; }
  40. public string Unit { get; set; } = string.Empty;
  41. public string StatusColor { get; set; } = string.Empty;
  42. public string GapLabel { get; set; } = string.Empty;
  43. public string Department { get; set; } = string.Empty;
  44. public string TrendFlag { get; set; } = string.Empty;
  45. }
  46. public sealed class ChatBIAction
  47. {
  48. public string Label { get; set; } = string.Empty;
  49. public string Url { get; set; } = string.Empty;
  50. }