diff --git a/src/bean/vo/request/metric_config.go b/src/bean/vo/request/metric_config.go index 33b3e36e254a18b809866860471d06e3f1a3abab..9421ddd882a1e79f95e2c869b0e0d02a9a7b7a96 100644 --- a/src/bean/vo/request/metric_config.go +++ b/src/bean/vo/request/metric_config.go @@ -3,28 +3,28 @@ package request import "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/entity" type AddMetricConfig struct { - ClassId int `json:"class_id" form:"class_id" binding:"required"` // 预警对象分类id - MetricName string `json:"metric_name" form:"metric_name" binding:"required"` // 指标名称 - Expr string `json:"expr" form:"expr" binding:"required"` // 指标表达式(PromQL语句) - AlertRange []entity.AlertRange `json:"alert_range" form:"alert_range" binding:"required,dive"` // 预警范围 字典值 - Duration int `json:"duration" form:"duration"` // 持续时间 - DurationUnit string `json:"duration_unit" form:"duration_unit" binding:"required"` // 持续时间单位 s m h - CheckPeriod int `json:"check_period" form:"check_period" binding:"oneof=1 3 5 10 20 30"` // 检查周期 单位:分钟 - IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=0 1 2"` // 是否开启 1:启动 2:停用 - AlertRuleType string `json:"alert_rule_type" form:"alert_rule_type" binding:"required"` // 预警规则类型 关联字典表 + ClassId int `json:"class_id" form:"class_id" binding:"required"` // 预警对象分类id + MetricName string `json:"metric_name" form:"metric_name" binding:"required"` // 指标名称 + Expr string `json:"expr" form:"expr" binding:"required"` // 指标表达式(PromQL语句) + AlertRange []entity.AlertRange `json:"alert_range" form:"alert_range" binding:"required,dive"` // 预警范围 字典值 + Duration int `json:"duration" form:"duration"` // 持续时间 + DurationUnit string `json:"duration_unit" form:"duration_unit" binding:"required,oneof=s m h"` // 持续时间单位 s m h + CheckPeriod int `json:"check_period" form:"check_period" binding:"oneof=1 3 5 10 20 30"` // 检查周期 单位:分钟 + IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=0 1 2"` // 是否开启 1:启动 2:停用 + AlertRuleType string `json:"alert_rule_type" form:"alert_rule_type" binding:"required"` // 预警规则类型 关联字典表 } type UpdateMetricConfig struct { - Id string `json:"id" form:"id" binding:"required"` // 主键id - ClassId int `json:"class_id" form:"class_id" binding:"required"` // 预警对象分类id - MetricName string `json:"metric_name" form:"metric_name" binding:"required"` // 指标名称 - Expr string `json:"expr" form:"expr" binding:"required"` // 指标表达式(PromQL语句) - AlertRange []entity.AlertRange `json:"alert_range" form:"alert_range" binding:"required,dive"` // 预警范围 字典值 - Duration int `json:"duration" form:"duration"` // 持续时间 - DurationUnit string `json:"duration_unit" form:"duration_unit" binding:"required"` // 持续时间单位 s m h - CheckPeriod int `json:"check_period" form:"check_period" binding:"oneof=1 3 5 10 20 30"` // 检查周期 单位:分钟 - IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=0 1 2"` // 是否开启 1:启动 2:停用 - AlertRuleType string `json:"alert_rule_type" form:"alert_rule_type" binding:"required"` // 预警规则类型 关联字典表 + Id string `json:"id" form:"id" binding:"required"` // 主键id + ClassId int `json:"class_id" form:"class_id"` // 预警对象分类id + MetricName string `json:"metric_name" form:"metric_name"` // 指标名称 + Expr string `json:"expr" form:"expr"` // 指标表达式(PromQL语句) + AlertRange []entity.AlertRange `json:"alert_range" form:"alert_range"` // 预警范围 字典值 + Duration int `json:"duration" form:"duration"` // 持续时间 + DurationUnit string `json:"duration_unit" form:"duration_unit" binding:"omitempty,oneof=s m h"` // 持续时间单位 s m h + CheckPeriod int `json:"check_period" form:"check_period" binding:"omitempty,oneof=1 3 5 10 20 30"` // 检查周期 单位:分钟 + IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"omitempty,oneof=0 1 2"` // 是否开启 1:启动 2:停用 + AlertRuleType string `json:"alert_rule_type" form:"alert_rule_type"` // 预警规则类型 关联字典表 } type DeleteMetricConfig struct { diff --git a/src/util/serialize.go b/src/util/serialize.go index 218429d302227b58bd15648494a575f7d4014bbb..2e576ee665b8130fc6134ddfaf0b88982fd3acaf 100644 --- a/src/util/serialize.go +++ b/src/util/serialize.go @@ -11,5 +11,8 @@ func ConvertToString(v interface{}) string { if err != nil { return fmt.Sprintf("%v", v) } + if string(jsonData) == "null" { + return "" + } return string(jsonData) }