@@ -12,7 +12,7 @@ import (
1212 "zbxtable/utils"
1313)
1414
15- //alert gen by rules
15+ // alert gen by rules
1616func GenAlert (alarm * Alarm ) bool {
1717 o := orm .NewOrm ()
1818 var rules []Rule
@@ -143,31 +143,41 @@ func GenAlert(alarm *Alarm) bool {
143143 return true
144144}
145145
146- func GetEventUser (groupIds , userIds , channel string ) (list []string , err error ) {
146+ // GetEventUser 查找事件用户信息
147+ func GetEventUser (groupIds , userIds string ) (list []string , err error ) {
147148 o := orm .NewOrm ()
148- //get grouids
149- var group UserGroup
150- var gList []UserGroup
151- gids := strings .Split (groupIds , "," )
152- _ , err = o .QueryTable (group ).Filter ("id__in" , gids ).All (& gList )
153- if err != nil {
154- return []string {}, err
155- }
156- //get group userid
149+ //用户组信息,判断用户组是否为空
157150 var guidList []string
158- if len (gList ) != 0 {
159- for _ , v := range gList {
160- ids := strings .Split (v .Member , "," )
161- for _ , vv := range ids {
162- guidList = append (guidList , vv )
151+ if groupIds != "" {
152+ var group UserGroup
153+ var gList []UserGroup
154+ //组分隔
155+ gids := strings .Split (groupIds , "," )
156+ _ , err = o .QueryTable (group ).Filter ("id__in" , gids ).All (& gList )
157+ if err != nil {
158+ return
159+ }
160+ //get group userid
161+ if len (gList ) != 0 {
162+ for _ , v := range gList {
163+ ids := strings .Split (v .Member , "," )
164+ for _ , vv := range ids {
165+ guidList = append (guidList , vv )
166+ }
163167 }
164168 }
165169 }
170+ var ids []string
166171 uid := strings .Split (userIds , "," )
172+ if len (guidList ) != 0 {
173+ //添加用户组
174+ ids = utils .UniqueArr (utils .MergeArr (guidList , uid ))
175+ } else {
176+ //添加用户
177+ ids = uid
178+ }
167179 //get all userids unique
168- ids := utils .UniqueArr (utils .MergeArr (guidList , uid ))
169180 if len (ids ) != 0 {
170-
171181 var user Manager
172182 var plist []Manager
173183 _ , err = o .QueryTable (user ).Filter ("id__in" , ids ).All (& plist , "id" , "username" ,
@@ -204,8 +214,8 @@ func sendEvent(event *Event) {
204214 }
205215 continue
206216 }
207- //popuser
208- toUsers , err := GetEventUser (event .GroupIds , event .UserIds , v )
217+ //GetEventUser
218+ toUsers , err := GetEventUser (event .GroupIds , event .UserIds )
209219 if err != nil {
210220 logs .Error (err )
211221 return
@@ -237,7 +247,7 @@ func sendEvent(event *Event) {
237247 }
238248}
239249
240- //mut
250+ // mut
241251func IsMuted (event * Event ) bool {
242252 o := orm .NewOrm ()
243253 var rules []Rule
@@ -280,7 +290,7 @@ func IsMuted(event *Event) bool {
280290 return false
281291}
282292
283- //IsMuteTime not
293+ // IsMuteTime not
284294func IsMuteTime (event * Event , rule * Rule ) bool {
285295 stime , _ := utils .ParTime (rule .Stime )
286296 etime , _ := utils .ParTime (rule .Etime )
0 commit comments