diff --git a/src/modules/network_data/controller/all_alarm.go b/src/modules/network_data/controller/all_alarm.go index b6ba8de0..0b99014d 100644 --- a/src/modules/network_data/controller/all_alarm.go +++ b/src/modules/network_data/controller/all_alarm.go @@ -1,9 +1,12 @@ package controller import ( + "fmt" "strings" "be.ems/src/framework/i18n" + "be.ems/src/framework/reqctx" + "be.ems/src/framework/resp" "be.ems/src/framework/utils/ctx" "be.ems/src/framework/utils/parse" "be.ems/src/framework/vo/result" @@ -77,3 +80,25 @@ func (s *AlarmController) Remove(c *gin.Context) { msg := i18n.TTemplate(language, "app.common.deleteSuccess", map[string]any{"num": rows}) c.JSON(200, result.OkMsg(msg)) } + +// 告警清除 +// +// PUT /clear +func (s AlarmController) Clear(c *gin.Context) { + var body struct { + Ids []string `json:"ids" binding:"required"` + } + if err := c.ShouldBindBodyWithJSON(&body); err != nil { + errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err)) + c.JSON(422, resp.CodeMsg(422001, errMsgs)) + return + } + + clearUser := reqctx.LoginUserToUserName(c) + rows, err := s.alarmService.AlarmClearByIds(body.Ids, clearUser) + if err != nil { + c.JSON(200, resp.ErrMsg(err.Error())) + return + } + c.JSON(200, resp.OkData(rows)) +} diff --git a/src/modules/network_data/network_data.go b/src/modules/network_data/network_data.go index a7a8d456..b21f0f5b 100644 --- a/src/modules/network_data/network_data.go +++ b/src/modules/network_data/network_data.go @@ -44,6 +44,10 @@ func Setup(router *gin.Engine) { middleware.PreAuthorize(nil), controller.NewAlarm.Remove, ) + alarmGroup.PUT("/clear", + middleware.PreAuthorize(nil), + controller.NewAlarm.Clear, + ) } // 网元状态记录信息