From 2084bca85cd26539a883c6cb202bdfdb549feb1f Mon Sep 17 00:00:00 2001 From: like Date: Tue, 4 Jul 2023 17:05:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E8=A7=84=E5=88=99=E8=AE=BE=E7=BD=AE=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bean/vo/request/alert_rules.go | 12 ++++++------ src/service/alert_rules.go | 10 ++++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/bean/vo/request/alert_rules.go b/src/bean/vo/request/alert_rules.go index 894f164..83c9029 100644 --- a/src/bean/vo/request/alert_rules.go +++ b/src/bean/vo/request/alert_rules.go @@ -24,21 +24,21 @@ type AddAlertRules struct { } type UpdateAlertRules struct { - Id string `json:"id" binding:"required"` + Id string `json:"id" form:"id" binding:"required"` MetricName string `json:"metric_name" form:"metric_name" binding:"required"` // 预警规则名称(指标名称) DetectionType int `json:"detection_type" form:"detection_type" binding:"oneof=1 2"` // 检测类型 1:静态阈值 2:自定义 - ClassId int `json:"class_id" form:"class_id" binding:"required"` // 预警对象id(级联:预警分类/预警对象) + ClassId int `json:"class_id" form:"class_id" binding:"required_if=DetectionType 1"` // 预警对象id(级联:预警分类/预警对象) ClassParentName string `json:"class_parent_name" form:"class_parent_name" binding:"required_if=DetectionType 2"` // 预警分类名称 ClassName string `json:"class_name" form:"class_name" binding:"required_if=DetectionType 2"` // 预警对象名称 - MetricConfigName string `json:"metric_config_name" form:"metric_config_name" binding:"required_if=DetectionType 2"` // 预警指标名称(detection_type=2时有值) + MetricConfigName string `json:"metric_config_name" form:"metric_config_name" binding:"required_if=DetectionType 2"` // 预警指标名称(映射entity.MetricConfig.MetricName) Expr string `json:"expr" form:"expr" binding:"required_if=DetectionType 2"` // 指标表达式(PromQL语句) AlertCondition []entity.AlertCondition `json:"alert_condition" form:"alert_condition" binding:"required"` // 预警规则 字典值 AlertRuleType string `json:"alert_rule_type" form:"alert_rule_type" binding:"required_if=DetectionType 2"` // 预警规则类型 关联字典表 - AlertRange []entity.RulesAlertRange `json:"alert_range" form:"alert_range"` // 预警范围 字典值 + AlertRange []entity.RulesAlertRange `json:"alert_range" form:"alert_range" binding:"required,dive"` // 预警范围 字典值 Duration int `json:"duration" form:"duration" binding:"gte=0"` // 持续时间 DurationUnit string `json:"duration_unit" form:"duration_unit" binding:"oneof=s m h"` // 持续时间单位 s m h - CheckPeriod int `json:"check_period" form:"check_period" binding:"gte=0"` // 检查周期 单位:分钟 - NotifyMethod []string `json:"notify_method" form:"notify_method" binding:"oneof=all dingtalk sms"` // 预警通知方式 all dingtalk sms + CheckPeriod int `json:"check_period" form:"check_period" binding:"oneof=1 3 5 10 20 30"` // 检查周期 单位:分钟 + NotifyMethod []string `json:"notify_method" form:"notify_method" binding:"max=2,dive,oneof=dingtalk sms"` // 预警通知方式 all dingtalk sms NotifyRecipients []entity.NotifyRecipients `json:"notify_recipients" form:"notify_recipients" binding:"dive"` // 预警推送用户 NotifyPushCount int `json:"notify_push_count" form:"notify_push_count" binding:"gte=1"` // 消息推送次数 NotifyPushFrequency int `json:"notify_push_frequency" form:"notify_push_frequency" binding:"gte=1"` // 消息推送频率 分钟 diff --git a/src/service/alert_rules.go b/src/service/alert_rules.go index 2f2e1a4..c9a4b3c 100644 --- a/src/service/alert_rules.go +++ b/src/service/alert_rules.go @@ -87,6 +87,9 @@ func (m *AlertRulesSvc) Add(req request.AddAlertRules) error { _, err = session.Insert(&data) return nil, err }) + if err != nil { + return err + } } // TODO 告警规则添加到普罗米修斯表 @@ -118,7 +121,7 @@ func (m *AlertRulesSvc) Update(req request.UpdateAlertRules) error { } switch req.DetectionType { case 1: - _, err = db.Update(&data) + _, err = db.ID(data.Id).Update(&data) if err != nil { return err } @@ -161,9 +164,12 @@ func (m *AlertRulesSvc) Update(req request.UpdateAlertRules) error { } // 更新预警规则配置 - _, err = session.Update(&data) + _, err = session.ID(data.Id).Update(&data) return nil, err }) + if err != nil { + return err + } } return nil } -- 2.26.0