diff --git a/controllers/event_controller.go b/controllers/event_controller.go index 788878154..5f53b8272 100644 --- a/controllers/event_controller.go +++ b/controllers/event_controller.go @@ -113,28 +113,30 @@ func (c *EventController) TestWebsocket() { //接受消息 业务逻辑 broadcast <- s utils.CallFuncAsync(func() { - //发聊天消息时,这个组所有的成员包括创建者都在userIDs里 - userIDs := []string{} - if results, err := dao.GetMessageGroups(db, "", s.GroupID, 0, true, ""); err == nil { - for _, v := range results { - userIDs = append(userIDs, v.UserID) - for _, vv := range v.MessageGroupMembers { - userIDs = append(userIDs, vv.UserID) + if s.GroupID != 0 { + //发聊天消息时,这个组所有的成员包括创建者都在userIDs里 + userIDs := []string{} + if results, err := dao.GetMessageGroups(db, "", s.GroupID, 0, true, ""); err == nil { + for _, v := range results { + userIDs = append(userIDs, v.UserID) + for _, vv := range v.MessageGroupMembers { + userIDs = append(userIDs, vv.UserID) + } } } - } - //如果这些人不在这个组的ws池子里就打上未读标记 - for _, v := range userIDs { - if clients[s.GroupID][v] == nil { - messageGroupReads, _ := dao.GetMessageGroupRead(db, v, s.GroupID) - for _, vv := range messageGroupReads { - vv.UnReadCount++ - dao.UpdateEntity(db, vv, "UnReadCount") + //如果这些人不在这个组的ws池子里就打上未读标记 + for _, v := range userIDs { + if clients[s.GroupID][v] == nil { + messageGroupReads, _ := dao.GetMessageGroupRead(db, v, s.GroupID) + for _, vv := range messageGroupReads { + vv.UnReadCount++ + dao.UpdateEntity(db, vv, "UnReadCount") + } } } + dao.WrapAddIDCULDEntity(s, "") + dao.CreateEntity(db, s) } - dao.WrapAddIDCULDEntity(s, "") - dao.CreateEntity(db, s) }) } }