AdoSmartOpsKpiBusinessInputDtos.cs 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. namespace Admin.NET.Plugin.AiDOP.Dto.SmartOps;
  2. /// <summary>业务来源登记 —— 保存入参。ModuleCode / TenantId 一律后端解析,不接受前端指定。</summary>
  3. public sealed class KpiBusinessInputUpsertDto
  4. {
  5. public string MetricCode { get; set; } = string.Empty;
  6. /// <summary>仅用于容错展示;实际存储的 ModuleCode 由后端从 MetricCode 解析。</summary>
  7. public string? ModuleCode { get; set; }
  8. /// <summary>目标状态 PENDING_BUSINESS_FIELDS / PENDING_BUSINESS_SQL / READY_FOR_CONFIG。置 READY 时后端强校验。</summary>
  9. public string BusinessInputStatus { get; set; } = "PENDING_BUSINESS_FIELDS";
  10. public string? SourceSystem { get; set; }
  11. public string? SourceTables { get; set; }
  12. public string? SourceFields { get; set; }
  13. public string? BusinessSqlSource { get; set; }
  14. public string? BusinessSqlRemark { get; set; }
  15. public string? BusinessOwner { get; set; }
  16. public string? FieldOwner { get; set; }
  17. public string? Remark { get; set; }
  18. }
  19. /// <summary>业务来源登记 —— 输出。查询不到时后端返回 IsPersisted=false 的默认 PENDING_BUSINESS_FIELDS 视图。</summary>
  20. public sealed class KpiBusinessInputDto
  21. {
  22. /// <summary>false=默认视图(库中无记录);true=已保存记录。前端据此区分默认与已维护。</summary>
  23. public bool IsPersisted { get; set; }
  24. public long? TenantId { get; set; }
  25. public string MetricCode { get; set; } = string.Empty;
  26. public string ModuleCode { get; set; } = string.Empty;
  27. public string BusinessInputStatus { get; set; } = "PENDING_BUSINESS_FIELDS";
  28. public string? SourceSystem { get; set; }
  29. public string? SourceTables { get; set; }
  30. public string? SourceFields { get; set; }
  31. public string? BusinessSqlSource { get; set; }
  32. public string? BusinessSqlRemark { get; set; }
  33. public string? BusinessOwner { get; set; }
  34. public string? FieldOwner { get; set; }
  35. public string? Remark { get; set; }
  36. public string? UpdatedBy { get; set; }
  37. public DateTime? UpdatedAt { get; set; }
  38. }
  39. /// <summary>运行日志查询入参。TenantId 不接受前端,由 MetricCode 解析。</summary>
  40. public sealed class KpiRunLogQueryDto
  41. {
  42. public string MetricCode { get; set; } = string.Empty;
  43. public string? ModuleCode { get; set; }
  44. public int Page { get; set; } = 1;
  45. public int PageSize { get; set; } = 20;
  46. /// <summary>可选状态过滤 SUCCESS / NO_DATA / FAILED。</summary>
  47. public string? Status { get; set; }
  48. public DateTime? StartTime { get; set; }
  49. public DateTime? EndTime { get; set; }
  50. }
  51. /// <summary>运行日志单条(脱敏:不含 SQL 明文 / 参数快照 / 连接串;错误摘要截断)。</summary>
  52. public sealed class KpiRunLogItemDto
  53. {
  54. public long Id { get; set; }
  55. public string BatchId { get; set; } = string.Empty;
  56. public string MetricCode { get; set; } = string.Empty;
  57. public string EngineType { get; set; } = string.Empty;
  58. public int? VersionNo { get; set; }
  59. public string? DataSourceCode { get; set; }
  60. public string BizDate { get; set; } = string.Empty;
  61. public string StartedAt { get; set; } = string.Empty;
  62. public long DurationMs { get; set; }
  63. public string Status { get; set; } = string.Empty;
  64. public int RowCount { get; set; }
  65. public decimal? MetricValue { get; set; }
  66. public string? ErrorCode { get; set; }
  67. public string? ErrorMessage { get; set; }
  68. public string TriggerType { get; set; } = string.Empty;
  69. }
  70. /// <summary>运行日志分页结果。</summary>
  71. public sealed class KpiRunLogPageDto
  72. {
  73. public int Total { get; set; }
  74. public int Page { get; set; }
  75. public int PageSize { get; set; }
  76. public List<KpiRunLogItemDto> List { get; set; } = new();
  77. }