diff --git a/src/models/alert_rule.go b/src/models/alert_rule.go index 5719da5c..cebe8ca3 100644 --- a/src/models/alert_rule.go +++ b/src/models/alert_rule.go @@ -237,9 +237,13 @@ func (ar *AlertRule) DB2FE() { json.Unmarshal([]byte(ar.AlgoParams), &ar.AlgoParamsJson) } -func AlertRuleDels(ids []int64, busiGroupId int64) error { +func AlertRuleDels(ids []int64, bgid ...int64) error { for i := 0; i < len(ids); i++ { - ret := DB().Where("id = ? and group_id=?", ids[i], busiGroupId).Delete(&AlertRule{}) + session := DB().Where("id = ?", ids[i]) + if len(bgid) > 0 { + session = session.Where("group_id = ?", bgid[0]) + } + ret := session.Delete(&AlertRule{}) if ret.Error != nil { return ret.Error } diff --git a/src/webapi/router/router.go b/src/webapi/router/router.go index 3f13e3e9..b3e33fce 100644 --- a/src/webapi/router/router.go +++ b/src/webapi/router/router.go @@ -278,7 +278,7 @@ func configRoute(r *gin.Engine, version string) { service.GET("/alert-rules", alertRuleGets) service.POST("/alert-rules", alertRuleAddByService) - service.DELETE("/alert-rules", alertRuleDel) + service.DELETE("/alert-rules", alertRuleDelByService) service.PUT("/alert-rule/:arid", alertRulePutByService) service.GET("/alert-rule/:arid", alertRuleGet) service.GET("/alert-rules-get-by-prod", alertRulesGetByProds) diff --git a/src/webapi/router/router_alert_rule.go b/src/webapi/router/router_alert_rule.go index 7bd2fe30..2d1272de 100644 --- a/src/webapi/router/router_alert_rule.go +++ b/src/webapi/router/router_alert_rule.go @@ -129,6 +129,13 @@ func alertRuleDel(c *gin.Context) { ginx.NewRender(c).Message(models.AlertRuleDels(f.Ids, ginx.UrlParamInt64(c, "id"))) } +func alertRuleDelByService(c *gin.Context) { + var f idsForm + ginx.BindJSON(c, &f) + f.Verify() + ginx.NewRender(c).Message(models.AlertRuleDels(f.Ids)) +} + func alertRulePutByFE(c *gin.Context) { var f models.AlertRule ginx.BindJSON(c, &f)