fix(platform): unify degraded service wording
This commit is contained in:
@@ -429,13 +429,13 @@ func TestHandlerVehicleServiceOverviewEndpoint(t *testing.T) {
|
||||
if body.Data.SourceCount != 2 || body.Data.OnlineSourceCount != 1 || body.Data.CoverageStatus != "partial" {
|
||||
t.Fatalf("overview endpoint should summarize vehicle service coverage, got %+v", body.Data)
|
||||
}
|
||||
if body.Data.ServiceStatus == nil || body.Data.ServiceStatus.Status != "degraded" || body.Data.ServiceStatus.Title != "部分来源离线" {
|
||||
if body.Data.ServiceStatus == nil || body.Data.ServiceStatus.Status != "degraded" || body.Data.ServiceStatus.Title != "来源不完整" {
|
||||
t.Fatalf("overview endpoint should expose canonical service status, got %+v", body.Data.ServiceStatus)
|
||||
}
|
||||
if body.Data.SourceConsistency == nil || body.Data.SourceConsistency.SourceCount != 2 || body.Data.SourceConsistency.OnlineSourceCount != 1 {
|
||||
t.Fatalf("overview endpoint should expose source consistency, got %+v", body.Data.SourceConsistency)
|
||||
}
|
||||
if body.Data.SourceConsistency.Status != "degraded" || body.Data.SourceConsistency.Title != "部分来源离线" {
|
||||
if body.Data.SourceConsistency.Status != "degraded" || body.Data.SourceConsistency.Title != "来源不完整" {
|
||||
t.Fatalf("overview source consistency should expose diagnosis, got %+v", body.Data.SourceConsistency)
|
||||
}
|
||||
if strings.Contains(rec.Body.String(), `"raw"`) || strings.Contains(rec.Body.String(), `"history"`) {
|
||||
@@ -468,8 +468,8 @@ func TestHandlerVehicleServiceSummaryEndpoint(t *testing.T) {
|
||||
}
|
||||
noDataStatusFound := false
|
||||
for _, status := range body.Data.ServiceStatuses {
|
||||
if status.Status == "degraded" && status.Title != "来源异常" {
|
||||
t.Fatalf("summary degraded status should use broad source exception title, got %+v", status)
|
||||
if status.Status == "degraded" && status.Title != "来源不完整" {
|
||||
t.Fatalf("summary degraded status should use vehicle-service missing source title, got %+v", status)
|
||||
}
|
||||
if status.Status == "no_data" {
|
||||
noDataStatusFound = true
|
||||
|
||||
@@ -46,7 +46,7 @@ func (m *MockStore) DashboardSummary(context.Context) (DashboardSummary, error)
|
||||
},
|
||||
ServiceStatuses: []ServiceStatusStat{
|
||||
{Status: "healthy", Title: "服务正常", Count: 2},
|
||||
{Status: "degraded", Title: "来源异常", Count: 1},
|
||||
{Status: "degraded", Title: "来源不完整", Count: 1},
|
||||
{Status: "offline", Title: "车辆离线", Count: 1},
|
||||
{Status: "identity_required", Title: "身份未绑定", Count: 0},
|
||||
},
|
||||
@@ -201,7 +201,7 @@ func (m *MockStore) VehicleServiceSummary(ctx context.Context) (VehicleServiceSu
|
||||
}
|
||||
statusCounts := map[string]*ServiceStatusStat{
|
||||
"healthy": {Status: "healthy", Title: "服务正常"},
|
||||
"degraded": {Status: "degraded", Title: "来源异常"},
|
||||
"degraded": {Status: "degraded", Title: "来源不完整"},
|
||||
"offline": {Status: "offline", Title: "车辆离线"},
|
||||
"no_data": {Status: "no_data", Title: "暂无数据来源"},
|
||||
"identity_required": {Status: "identity_required", Title: "身份未绑定"},
|
||||
|
||||
@@ -76,7 +76,7 @@ func (s *ProductionStore) DashboardSummary(ctx context.Context) (DashboardSummar
|
||||
func (s *ProductionStore) serviceStatusStats(ctx context.Context) ([]ServiceStatusStat, error) {
|
||||
definitions := []ServiceStatusStat{
|
||||
{Status: "healthy", Title: "服务正常"},
|
||||
{Status: "degraded", Title: "来源异常"},
|
||||
{Status: "degraded", Title: "来源不完整"},
|
||||
{Status: "offline", Title: "车辆离线"},
|
||||
{Status: "no_data", Title: "暂无数据来源"},
|
||||
{Status: "identity_required", Title: "身份未绑定"},
|
||||
@@ -149,7 +149,7 @@ GROUP BY v.vin
|
||||
}
|
||||
summary.ServiceStatuses = []ServiceStatusStat{
|
||||
{Status: "healthy", Title: "服务正常", Count: healthy},
|
||||
{Status: "degraded", Title: "来源异常", Count: degraded},
|
||||
{Status: "degraded", Title: "来源不完整", Count: degraded},
|
||||
{Status: "offline", Title: "车辆离线", Count: offline},
|
||||
{Status: "no_data", Title: "暂无数据来源", Count: summary.NoDataVehicles},
|
||||
{Status: "identity_required", Title: "身份未绑定", Count: summary.IdentityRequiredVehicles},
|
||||
|
||||
@@ -492,7 +492,7 @@ func applyVehicleSourceConsistencyDiagnosis(consistency *VehicleSourceConsistenc
|
||||
case consistency.OnlineSourceCount < consistency.SourceCount:
|
||||
consistency.Status = "degraded"
|
||||
consistency.Severity = "warning"
|
||||
consistency.Title = "部分来源离线"
|
||||
consistency.Title = "来源不完整"
|
||||
consistency.Detail = sourceCoverageDetail(consistency.SourceCount, consistency.OnlineSourceCount, "车辆服务可用但需要关注离线来源。")
|
||||
case consistency.MileageDeltaKm > 5:
|
||||
consistency.Status = "mileage_divergent"
|
||||
@@ -1013,7 +1013,7 @@ func buildVehicleServiceStatus(resolved bool, statuses []VehicleSourceStatus) *V
|
||||
return &VehicleServiceStatus{
|
||||
Status: "degraded",
|
||||
Severity: "warning",
|
||||
Title: "部分来源离线",
|
||||
Title: "来源不完整",
|
||||
Detail: sourceCoverageDetail(sourceCount, onlineSourceCount, "车辆服务可用但需要关注离线来源。"),
|
||||
SourceCount: sourceCount,
|
||||
OnlineSourceCount: onlineSourceCount,
|
||||
@@ -1084,7 +1084,7 @@ func buildVehicleCoverageServiceStatus(row VehicleCoverageRow) *VehicleServiceSt
|
||||
return &VehicleServiceStatus{
|
||||
Status: "degraded",
|
||||
Severity: "warning",
|
||||
Title: "部分来源离线",
|
||||
Title: "来源不完整",
|
||||
Detail: sourceCoverageDetail(row.SourceCount, row.OnlineSourceCount, "车辆服务可用但需要关注离线来源。"),
|
||||
SourceCount: row.SourceCount,
|
||||
OnlineSourceCount: row.OnlineSourceCount,
|
||||
|
||||
Reference in New Issue
Block a user