diff --git a/src/bean/vo/request/alert_class.go b/src/bean/vo/request/alert_class.go index 905c26591d8e204130c788b56ef67d472c3ceddc..91c4b532ee73f9ccf98809a0dc8e9b9b9e8d8f2b 100644 --- a/src/bean/vo/request/alert_class.go +++ b/src/bean/vo/request/alert_class.go @@ -12,7 +12,8 @@ type UpdateAlertClass struct { } type DeleteAlertClass struct { - ClassId int `json:"class_id" form:"class_id" binding:"required"` + ClassId int `json:"class_id" form:"class_id"` + ClassIds []int `json:"class_ids" form:"class_ids" binding:"required_without=ClassId"` } type MoveAlertClass struct { diff --git a/src/bean/vo/request/metric_config.go b/src/bean/vo/request/metric_config.go index 9421ddd882a1e79f95e2c869b0e0d02a9a7b7a96..bf5191f509f4a607faf21a4bba96f495e461084b 100644 --- a/src/bean/vo/request/metric_config.go +++ b/src/bean/vo/request/metric_config.go @@ -28,7 +28,8 @@ type UpdateMetricConfig struct { } type DeleteMetricConfig struct { - Id string `json:"id" form:"id" binding:"required"` + Id string `json:"id" form:"id"` + Ids []string `json:"ids" form:"ids" binding:"required_without=Id"` } type DetailMetricConfig struct { diff --git a/src/controller/alert_class.go b/src/controller/alert_class.go index 976d16ee75407055ae3b24da7f353119578dd323..859393f5b9805fce7323ccfe659ac2f150faccc4 100644 --- a/src/controller/alert_class.go +++ b/src/controller/alert_class.go @@ -111,9 +111,16 @@ func DeleteAlertClass(c *gin.Context) { SendJsonResponse(c, resp.InvalidParam.TranslateError(err), nil) return } + var ids []int + switch len(req.ClassIds) { + case 0: + ids = append(ids, req.ClassId) + default: + ids = req.ClassIds + } svc := service.AlertClassSvc{User: header.GetUser(c)} - err := svc.DeleteDataById(req) + err := svc.Delete(ids) if err != nil { SendJsonResponse(c, resp.FAIL.WithError(err), nil) return diff --git a/src/controller/metric_config.go b/src/controller/metric_config.go index a0a3a2a448be501081bb7d831f2985f283b8779e..a0a5d83b39ac8b4de22429fb5019ddc1eb344e9d 100644 --- a/src/controller/metric_config.go +++ b/src/controller/metric_config.go @@ -48,8 +48,16 @@ func DeleteMetricConfig(c *gin.Context) { return } + var ids []string + switch len(req.Ids) { + case 0: + ids = append(ids, req.Id) + default: + ids = req.Ids + } + svc := service.MetricConfigSvc{User: header.GetUser(c)} - err := svc.DeleteDataById(req) + err := svc.Delete(ids) if err != nil { SendJsonResponse(c, resp.FAIL.WithError(err), nil) return diff --git a/src/service/alert_class.go b/src/service/alert_class.go index e819b974dad07c6e6c6e1e0925415979d1fe278c..ac987adff94038e62fa367273f060635c10941be 100644 --- a/src/service/alert_class.go +++ b/src/service/alert_class.go @@ -218,11 +218,11 @@ func (m *AlertClassSvc) SortOrderMax(parentId int) (max int, err error) { return } -func (m *AlertClassSvc) DeleteDataById(req request.DeleteAlertClass) (err error) { +func (m *AlertClassSvc) Delete(ids []int) (err error) { db, err := client.GetDbClient() if err != nil { return } - _, err = db.NewSession().ID(req.ClassId).Delete(&entity.AlertClass{}) + _, err = db.NewSession().In("class_id", ids).Delete(&entity.AlertClass{}) return } diff --git a/src/service/metric_config.go b/src/service/metric_config.go index 7378597dc6ff0674cfa9acaea5ccfcc24a2b9b5a..6961c1cfd1944ebe4aa9849187db331af76f49dc 100644 --- a/src/service/metric_config.go +++ b/src/service/metric_config.go @@ -94,11 +94,11 @@ func (m *MetricConfigSvc) List(req request.ListMetricConfig) (resp response.Unit return } -func (m *MetricConfigSvc) DeleteDataById(req request.DeleteMetricConfig) (err error) { +func (m *MetricConfigSvc) Delete(ids []string) (err error) { db, err := client.GetDbClient() if err != nil { return } - _, err = db.NewSession().Where("id = ?", req.Id).Delete(&entity.MetricConfig{}) + _, err = db.NewSession().In("id", ids).Delete(new(entity.MetricConfig)) return }