diff --git a/src/service/alert_rules.go b/src/service/alert_rules.go index 393417b836d71331d03cdf785ec17014b42e1044..bef47322da9b9c5a74b65ff500b741debca4221e 100644 --- a/src/service/alert_rules.go +++ b/src/service/alert_rules.go @@ -94,7 +94,7 @@ func (a *AlertRulesSvc) Add(req request.AddAlertRules) (err error) { } } - err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db) + err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db, "") return nil } @@ -175,11 +175,11 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) (err error) { } } - err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db) + err = a.CreatePrometheusRule(req.IsEnabled, data.Id, db, "update") return nil } -func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.Engine) (err error) { +func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm.Engine, operate string) (err error) { if isEnabled == 1 { var item response.AlertRulesItem item, err = a.GetDataById(request.DetailAlertRules{Id: id}) // 查询完整数据 @@ -190,6 +190,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm. _, exist, _ := prSvc.Get(item) if exist { deleteErr := prSvc.Delete(item) + if operate == "update" { + return deleteErr + } if deleteErr != nil { _, err = db.ID(id).Delete(&entity.AlertRules{}) if err != nil { @@ -201,6 +204,9 @@ func (a *AlertRulesSvc) CreatePrometheusRule(isEnabled int, id string, db *xorm. createErr := prSvc.Create(item) if createErr != nil { + if operate == "update" { + return createErr + } _, err = db.ID(id).Delete(&entity.AlertRules{}) if err != nil { return