feat: add superadmin health center
This commit is contained in:
75
backend/app/http/super/v1/dto/super_health.go
Normal file
75
backend/app/http/super/v1/dto/super_health.go
Normal file
@@ -0,0 +1,75 @@
|
||||
package dto
|
||||
|
||||
// SuperHealthOverviewFilter 超管健康概览查询条件。
|
||||
type SuperHealthOverviewFilter struct {
|
||||
// TenantID 租户ID(不传代表全平台)。
|
||||
TenantID *int64 `query:"tenant_id"`
|
||||
// StartAt 统计开始时间(RFC3339,可选;默认当前时间往前 7 天)。
|
||||
StartAt *string `query:"start_at"`
|
||||
// EndAt 统计结束时间(RFC3339,可选;默认当前时间)。
|
||||
EndAt *string `query:"end_at"`
|
||||
// UploadStuckHours 上传处理超时时长(小时,可选;默认 24 小时)。
|
||||
UploadStuckHours *int64 `query:"upload_stuck_hours"`
|
||||
}
|
||||
|
||||
// SuperHealthOverviewResponse 超管健康概览响应。
|
||||
type SuperHealthOverviewResponse struct {
|
||||
// TenantID 当前统计的租户ID(0 代表全平台)。
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
// StartAt 统计开始时间(RFC3339)。
|
||||
StartAt string `json:"start_at"`
|
||||
// EndAt 统计结束时间(RFC3339)。
|
||||
EndAt string `json:"end_at"`
|
||||
// UploadStuckHours 上传处理超时时长(小时)。
|
||||
UploadStuckHours int64 `json:"upload_stuck_hours"`
|
||||
// TenantTotal 租户总数。
|
||||
TenantTotal int64 `json:"tenant_total"`
|
||||
// TenantWarningCount 健康预警租户数。
|
||||
TenantWarningCount int64 `json:"tenant_warning_count"`
|
||||
// TenantRiskCount 健康风险租户数。
|
||||
TenantRiskCount int64 `json:"tenant_risk_count"`
|
||||
// OrderTotal 订单总数(统计区间内)。
|
||||
OrderTotal int64 `json:"order_total"`
|
||||
// OrderFailed 失败订单数(统计区间内)。
|
||||
OrderFailed int64 `json:"order_failed"`
|
||||
// OrderFailedRate 失败率(失败订单数 / 总订单数)。
|
||||
OrderFailedRate float64 `json:"order_failed_rate"`
|
||||
// UploadTotal 上传资产总数(统计区间内)。
|
||||
UploadTotal int64 `json:"upload_total"`
|
||||
// UploadFailed 上传失败资产数(统计区间内)。
|
||||
UploadFailed int64 `json:"upload_failed"`
|
||||
// UploadFailedRate 上传失败率(失败资产数 / 总资产数)。
|
||||
UploadFailedRate float64 `json:"upload_failed_rate"`
|
||||
// UploadProcessingStuck 处理超时资产数(processing 且超时)。
|
||||
UploadProcessingStuck int64 `json:"upload_processing_stuck"`
|
||||
// UploadUploadedStuck 已上传但未进入处理的超时资产数(uploaded 且超时)。
|
||||
UploadUploadedStuck int64 `json:"upload_uploaded_stuck"`
|
||||
// StorageTotalCount 资产总量(全量)。
|
||||
StorageTotalCount int64 `json:"storage_total_count"`
|
||||
// StorageTotalSize 资产总大小(字节,全量)。
|
||||
StorageTotalSize int64 `json:"storage_total_size"`
|
||||
// Alerts 健康告警列表。
|
||||
Alerts []SuperHealthAlertItem `json:"alerts"`
|
||||
}
|
||||
|
||||
// SuperHealthAlertItem 健康告警条目。
|
||||
type SuperHealthAlertItem struct {
|
||||
// Level 告警级别(warning/risk)。
|
||||
Level string `json:"level"`
|
||||
// Kind 告警类型(order_error_rate/upload_error_rate/upload_stuck/tenant_health)。
|
||||
Kind string `json:"kind"`
|
||||
// TenantID 关联租户ID(无则为 0)。
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
// TenantCode 关联租户编码。
|
||||
TenantCode string `json:"tenant_code"`
|
||||
// TenantName 关联租户名称。
|
||||
TenantName string `json:"tenant_name"`
|
||||
// Title 告警标题。
|
||||
Title string `json:"title"`
|
||||
// Detail 告警详情说明。
|
||||
Detail string `json:"detail"`
|
||||
// Count 关联数量(例如失败数、超时数)。
|
||||
Count int64 `json:"count"`
|
||||
// UpdatedAt 告警更新时间(RFC3339)。
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
Reference in New Issue
Block a user