diff --git a/src/bean/entity/alert_rules.go b/src/bean/entity/alert_rules.go index 8087ad7f51e9388361fad72892fc568dcbf2a256..882ccc664859c70ae06184f79018034d3bb2c648 100644 --- a/src/bean/entity/alert_rules.go +++ b/src/bean/entity/alert_rules.go @@ -30,9 +30,10 @@ func (m *AlertRules) TableName() string { } type RulesAlertRange struct { - Name string `json:"name" form:"name" binding:"required"` - Value string `json:"value" form:"value" binding:"required"` - Compare string `json:"compare" form:"compare" binding:"required,oneof== != =~ !~"` + ChineseName string `json:"chinese_name" binding:"required"` + Name string `json:"name" form:"name" binding:"required"` + Value string `json:"value" form:"value" binding:"required"` + Compare string `json:"compare" form:"compare" binding:"required,oneof== != =~ !~"` } type AlertCondition struct { @@ -43,6 +44,6 @@ type AlertCondition struct { type NotifyRecipients struct { SystemAccount string `json:"system_account" form:"system_account" binding:"required"` - Name string `json:"user_name" form:"user_name" binding:"required"` + UserName string `json:"user_name" form:"user_name" binding:"required"` Phone string `json:"phone" form:"phone" binding:"required"` } diff --git a/src/bean/vo/request/alert_rules.go b/src/bean/vo/request/alert_rules.go index 8e83c7d087458460abcdd738715fff8f303d89b1..a7c5458327a6dabdf19bdd9370c73b8d3dea0a5d 100644 --- a/src/bean/vo/request/alert_rules.go +++ b/src/bean/vo/request/alert_rules.go @@ -23,7 +23,7 @@ type AddAlertRules struct { 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"` // 消息推送频率 分钟 - IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"omitempty,oneof=0 1 2"` // 是否开启 1:是 2:否 + IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=1 2"` // 是否开启 1:是 2:否 } type UpdateAlertRules struct { @@ -46,7 +46,12 @@ type UpdateAlertRules struct { 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"` // 消息推送频率 分钟 - IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"omitempty,oneof=0 1 2"` // 是否开启 1:是 2:否 + IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=1 2"` // 是否开启 1:是 2:否 +} + +type UpdateIsEnabledAlertRules struct { + Id string `json:"id" form:"id" binding:"required"` + IsEnabled int `json:"is_enabled" form:"is_enabled" binding:"oneof=1 2"` // 是否开启 1:是 2:否 } type DeleteAlertRules struct { diff --git a/src/controller/alert_rules.go b/src/controller/alert_rules.go index 481d0d66350c2984698f452dd7784084d1c3d7d3..3388c30acd1edcae5c9defa0d2fe68176140b8c6 100644 --- a/src/controller/alert_rules.go +++ b/src/controller/alert_rules.go @@ -42,6 +42,23 @@ func UpdateAlertRules(c *gin.Context) { SendJsonResponse(c, resp.OK, nil) } +func UpdateIsEnabledAlertRules(c *gin.Context) { + var req request.UpdateIsEnabledAlertRules + if err := c.ShouldBind(&req); err != nil { + SendJsonResponse(c, resp.InvalidParam.TranslateError(err), nil) + return + } + + svc := service.AlertRulesSvc{User: header.GetUser(c)} + + err := svc.UpdateIsEnabled(req) + if err != nil { + SendJsonResponse(c, resp.FAIL.WithError(err), nil) + return + } + SendJsonResponse(c, resp.OK, nil) +} + func DeleteAlertRules(c *gin.Context) { var req request.DeleteAlertRules if err := c.ShouldBind(&req); err != nil { diff --git a/src/router/alertrulesrouter.go.go b/src/router/alertrulesrouter.go.go index 8562b3fd81f701f9f882d246ff3793001632dbbd..2a262a8b541e3a5dd2f982c10c8072b5e3999156 100644 --- a/src/router/alertrulesrouter.go.go +++ b/src/router/alertrulesrouter.go.go @@ -13,6 +13,7 @@ func InitAlertRulesRouter(e *gin.Engine) { { group.POST("", controller.AddAlertRules) group.PUT("", controller.UpdateAlertRules) + group.PUT("is_enabled", controller.UpdateIsEnabledAlertRules) group.DELETE("", controller.DeleteAlertRules) group.GET("", controller.DetailAlertRules) group.GET("list", controller.ListAlertRules) diff --git a/src/service/alert_rules.go b/src/service/alert_rules.go index 1bb6413798e11aa61f0a993b72f584c4b07a420f..4eaef3927f3d792ff8c9d5947ed0e5b13555e18a 100644 --- a/src/service/alert_rules.go +++ b/src/service/alert_rules.go @@ -115,6 +115,7 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) error { data.NotifyRecipients = util.ConvertToString(req.NotifyRecipients) session := db.NewSession() + defer session.Close() var dbAlertRules entity.AlertRules _, err = session.Table(data.TableName()).ID(data.Id).Get(&dbAlertRules) if err != nil { @@ -175,6 +176,25 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) error { return nil } +func (a *AlertRulesSvc) UpdateIsEnabled(req request.UpdateIsEnabledAlertRules) error { + db, err := client.GetDbClient() + if err != nil { + err = resp.DbConnectError.WithError(err) + return err + } + now := jsontime.Now() + data := entity.AlertRules{ + Id: req.Id, + IsEnabled: req.IsEnabled, + UpdatedBy: a.User.SystemAccount, + UpdatedAt: now, + } + session := db.NewSession() + defer session.Close() + _, err = session.Table(data.TableName()).Cols("is_enabled,updated_by,updated_at").Where("id = ?", req.Id).Update(&data) + return err +} + func (a *AlertRulesSvc) GetDataById(req request.DetailAlertRules) (resp response.AlertRulesItem, err error) { list, err := a.List(request.ListAlertRules{Id: req.Id}) if err != nil {